/* Lawyer Justice HTML5 Template */

/************ TABLE OF CONTENTS ***************
1. Fonts
2. Reset
3. Global
4. Main Header
5. Main Slider
6. Services Section
7. About Company
8. Company History
9. Two Column Fluid
10. Our Team
11. Consultation Section
12. Featured News / Blog Section
13. Sponsors Section
14. Info Section
15. Map Section
16. Main Footer
17. Page Title
18. Breadcrumb
19. Welcome Section
20. Our Experience
21. Awards Section
22. Our Gallery
23. Gallery Details / Portfolio Details
25. 404 Page
26. Practice Areas
27. Single Law Page
28. Team Details / Single Attorney
29. Faqs Page
30. Blog Grid View
31. Blog List View
32. Blog Classic View
33. Sponsors Style TwoBlog Single Post
34. Shop
35. Shop Single Item
36. Contact Section
37. Register / Login 
38. Shopping Cart
39. Checkout
40. Styled Pagination

**********************************************/

@import url('font-awesome.css');
@import url('flaticon.css');
@import url('animate.css');
@import url('owl.css');
@import url('jquery.mCustomScrollbar.min.css');
@import url('jquery.fancybox.css');
@import url('hover.css');
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&family=Lora:ital,wght@0,400..700;1,400..700&display=swap');

/*** 

====================================================================
	Reset
====================================================================

 ***/
* {
    margin: 0px;
    padding: 0px;
    border: none;
    outline: none;
}

/*** 

====================================================================
	Global Settings
====================================================================

 ***/

:root {
    /* =========================
       BRAND (your core colors)
       ========================= */
    --brand-primary: #004b56; /* main */
    --brand-accent: #009748; /* accent */

    /* =========================
       NEUTRALS (paper + ink)
       ========================= */
    --c-paper: #f7f8f7; /* main background */
    --c-surface: #ffffff; /* cards */
    --c-subtle: #e6ecea; /* dividers / soft panels */
    --c-ink: #0f1f22; /* primary text */
    --c-muted: #4a5f64; /* secondary text */

    /* Derived (use these everywhere) */
    --c-border: var(--brand-primary);
    --c-link: var(--brand-primary);
    --c-focus: var(--brand-accent);

    /* =========================
       TYPOGRAPHY
       ========================= */
    --font-serif: "Lora", ui-serif, Georgia, "Times New Roman", serif;
    --font-sans: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Arial, "Noto Sans", sans-serif;

    font-size: 15px;
    --text-xs: 0.8125rem; /* 13 */
    --text-sm: 0.9375rem; /* 15 */
    --text-md: 1rem; /* 16 */
    --text-lg: 1.125rem; /* 18 */
    --text-xl: 1.375rem; /* 22 */
    --text-2xl: 1.75rem; /* 28 */
    --text-3xl: 2.25rem; /* 36 */

    --lh-tight: 1.15;
    --lh-base: 1.55;

    --fw-regular: 400;
    --fw-medium: 500;
    --fw-bold: 700;

    /* =========================
       LAYOUT / GRID
       ========================= */
    --page-max: 1200px;
    --page-wide: 1400px;
    --pad-x: 1.5rem;
    --pad-x-narrow: 1rem;

    --gutter-sm: 1rem;
    --gutter-md: 1.5rem;
    --gutter-lg: 2rem;

    --radius-1: 2px;
    --radius-2: 4px;

    /* Brutal borders */
    --border-1: 1px;
    --border-2: 2px;

    /* =========================
       SHADOWS (brutal, minimal)
       ========================= */
    --shadow-1: 2px 2px 0 rgba(0, 75, 86, 0.18);
    --shadow-2: 4px 4px 0 rgba(0, 75, 86, 0.18);

    /* =========================
       MOTION
       ========================= */
    --ease: cubic-bezier(.2, .8, .2, 1);
    --dur-1: 120ms;
    --dur-2: 180ms;

    /* =========================
       COMPONENT TOKENS
       ========================= */
    --btn-bg: var(--brand-primary);
    --btn-fg: #ffffff;
    --btn-bg-hover: color-mix(in srgb, var(--brand-primary) 88%, #000 12%);
    --btn-accent-bg: var(--brand-accent);
    --btn-accent-hover: color-mix(in srgb, var(--brand-accent) 88%, #000 12%);

    --card-bg: var(--c-surface);
    --card-border: var(--c-border);

    --badge-bg: color-mix(in srgb, var(--brand-accent) 14%, var(--c-paper) 86%);
    --badge-fg: var(--brand-accent);
    --badge-border: color-mix(in srgb, var(--brand-accent) 55%, var(--c-paper) 45%);

    --focus-ring: 0 0 0 3px color-mix(in srgb, var(--brand-accent) 35%, transparent 65%);

    /* =========================
       BREAKPOINTS (for @media)
       ========================= */
    --bp-xs: 480px;
    --bp-sm: 640px;
    --bp-md: 768px;
    --bp-lg: 1024px;
    --bp-xl: 1280px;
}

body {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #333333;
    line-height: 1.7em;
    font-weight: 400;
    background: #ffffff;
}

a {
    text-decoration: none;
    cursor: pointer;
    color: #009748;
}

a:hover, a:focus, a:visited {
    text-decoration: none;
    outline: none;
}

h1, h2, h3, h4, h5, h6 {
    position: relative;
    font-family: 'Inter', sans-serif;
    font-weight: normal;
    margin: 0px;
    background: none;
    line-height: 1.4em;
}

input, button, select, textarea {
    font-family: 'Inter', sans-serif;
}

p {
    position: relative;
    line-height: 1.7em;
    font-family: 'Inter', sans-serif;
}

.strike-through {
    text-decoration: line-through;
}

.auto-container {
    position: static;
    max-width: 1200px;
    padding: 0px 15px;
    margin: 0 auto;
}

.page-wrapper {
    position: relative;
    margin: 0 auto;
    width: 100%;
    background: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: 100vh;
    background: var(--c-paper);
}

.page-outer-container {
    position: relative;
    width: 100%;
    padding: 0px 0px;
}

.boxed-layout .page-outer-container {
    padding: 0px 20px;
}

ul, li {
    list-style: none;
    padding: 0px;
    margin: 0px;
}

.theme-btn {
    display: inline-block;
    transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    font-family: 'Inter', sans-serif;
}

.centered {
    text-align: center;
}

.btn-style-one {
    position: relative;
    display: inline-block;
    line-height: 24px;
    padding: 10px 30px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: #004b56;
    color: #ffffff;
    border-radius: 5px;
}

.btn-style-one:hover {
    background: #009748;
    color: #ffffff;
}

.btn-style-two {
    position: relative;
    display: inline-block;
    line-height: 24px;
    padding: 10px 30px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: #009748;
    color: #ffffff;
    border-radius: 5px;
}

.btn-style-two:hover {
    background: #004b56;
    color: #ffffff;
}

.btn-style-three {
    position: relative;
    display: inline-block;
    line-height: 24px;
    padding: 10px 30px;
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    background: #ffffff;
    color: #004b56 !important;
    border-radius: 5px;
}

.btn-style-three:hover {
    background: #009748;
    color: #ffffff;
}

.btn-style-four {
    position: relative;
    display: inline-block;
    line-height: 24px;
    padding: 10px 32px;
    font-size: 12px;
    text-transform: uppercase;
    background: none;
    border: 2px solid #ffffff;
    color: #ffffff;
    border-radius: 3px;
}

.btn-style-four:hover {
    background: #ffffff;
    color: #009748 !important;
}

.theme-btn .icon {
    font-size: 16px;
}

.theme-btn .icon-left {
    padding-right: 50px;
}

.theme-btn .icon-right {
    padding-left: 50px;
}

.bold-font {
    font-weight: 700;
}

.exbold-font {
    font-weight: 900;
}

.normal-font {
    font-weight: 400;
}

.light-font {
    font-weight: 300;
}

.semibold-font {
    font-weight: 600;
}

.white_color {
    color: #ffffff;
}

.theme_color {
    color: #009748 !important;
}

.bg_theme_color {
    background: #009748 !important;
}

.theme_green_color {
    color: #004b56 !important;
}

.bg_green_color {
    background: #004b56 !important;
}

.padd-top-20 {
    padding-top: 20px !important;
}

.padd-top-10 {
    padding-top: 10px !important;
}

.padd-top-30 {
    padding-top: 30px !important;
}

.padd-top-40 {
    padding-top: 40px !important;
}

.padd-top-50 {
    padding-top: 50px !important;
}

.padd-top-90 {
    padding-top: 90px !important;
}

.padd-bott-8 {
    padding-bottom: 8px !important;
}

.padd-right-20 {
    padding-right: 20px !important;
}

.padd-bott-20 {
    padding-bottom: 20px !important;
}

.padd-bott-10 {
    padding-bottom: 10px !important;
}

.padd-bott-30 {
    padding-bottom: 30px !important;
}

.padd-bott-40 {
    padding-bottom: 40px !important;
}

.padd-bott-50 {
    padding-bottom: 50px !important;
}

.padd-bott-70 {
    padding-bottom: 70px !important;
}

.padd-top-70 {
    padding-top: 70px !important;
}

.margin-top-20 {
    margin-top: 20px !important;
}

.margin-top-30 {
    margin-top: 30px !important;
}

.margin-top-40 {
    margin-top: 40px !important;
}

.margin-top-50 {
    margin-top: 50px !important;
}

.margin-right-20 {
    margin-right: 20px !important;
}

.margin-right-30 {
    margin-right: 30px !important;
}

.margin-right-40 {
    margin-right: 40px !important;
}

.margin-right-50 {
    margin-right: 50px !important;
}

.margin-right-60 {
    margin-right: 60px !important;
}

.margin-right-80 {
    margin-right: 80px !important;
}

.margin-left-20 {
    margin-left: 20px !important;
}

.margin-left-30 {
    margin-left: 30px !important;
}

.margin-left-40 {
    margin-left: 40px !important;
}

.margin-left-50 {
    margin-left: 50px !important;
}

.margin-left-60 {
    margin-left: 60px !important;
}

.margin-left-80 {
    margin-left: 80px !important;
}

.margin-bott-20 {
    margin-bottom: 20px !important;
}

.margin-bott-30 {
    margin-bottom: 30px !important;
}

.margin-bott-40 {
    margin-bottom: 40px !important;
}

.margin-bott-50 {
    margin-bottom: 50px !important;
}

.margin-bott-70 {
    margin-bottom: 50px !important;
}

.margin-bott-80 {
    margin-bottom: 50px !important;
}

.no-padd-bottom {
    padding-bottom: 0px !important;
}

.no-padd-top {
    padding-top: 0px !important;
}

.no-margin-bottom {
    margin-bottom: 0px !important;
}

.no-margin-top {
    margin-top: 0px !important;
}

.no-bg {
    background: none !important;
}

.bg-light-grey {
    background: #f9f9f9;
}

.text-uppercase {
    text-transform: uppercase !important;
}

.preloader {
    position: fixed;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    z-index: 999999;
    background-color: #ffffff;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(../images/icons/preloader.GIF);
}

/*** 

====================================================================
	Scroll To Top style
====================================================================

***/

.scroll-to-top {
    position: fixed;
    bottom: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    color: #ffffff;
    font-size: 12px;
    line-height: 38px;
    text-align: center;
    background: #004b56;
    border: 1px solid #004b56;
    border-radius: 50%;
    z-index: 100;
    cursor: pointer;
    display: none;
}

.scroll-to-top:hover {
    border-color: #009748;
    background: #009748;
}


/*** 

====================================================================
	Main Header style
====================================================================

***/

.main-header {
    position: relative;
    left: 0px;
    top: 0px;
    z-index: 999;
    width: 100%;
    font-size: 13px;
}

.main-header .top-bar {
    position: relative;
    background: #009748;
    color: #ffffff;
    font-family: 'Inter', sans-serif;
}

.main-header .top-bar .top-left {
    position: relative;
    float: left;
    padding: 10px 0px;
    line-height: 24px;
    color: #ffffff;
    font-weight: 700;
}

.main-header .top-bar .top-left a {
    color: #004b56;
}

.main-header .top-bar .top-right {
    position: relative;
    float: right;
    max-height: 44px;
}

.main-header .top-bar .lang-box,
.main-header .top-bar .fb-box {
    position: relative;
    float: left;
    margin-left: 15px;
}

.main-header .top-bar .fb-box a {
    padding: 10px 20px;
    line-height: 24px;
    padding-left: 24px;
    font-weight: 700;
    color: #004b56;
}

.main-header .top-bar .fb-box a:hover {
    color: #ffffff;
}

.main-header .top-bar .lang-box .selected-btn {
    position: relative;
    cursor: pointer;
    padding: 10px 20px;
    line-height: 24px;
    padding-left: 24px;
    font-weight: 700;
}

.main-header .top-bar .lang-box .selected-btn .flag-icon {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 20px;
    height: 100%;
    background-repeat: no-repeat;
    background-position: left center;
}

.main-header .top-bar .lang-box .selected-btn .icon {
    position: absolute;
    right: 0px;
    top: 50%;
    font-weight: normal;
    margin-top: -10px;
    line-height: 24px;
    text-align: right;
}

.main-header .top-bar .lang-box .lang-list {
    position: absolute;
    left: 0px;
    top: 100%;
    width: 100%;
    min-width: 180px;
    background: #ffffff;
    border: 1px solid #009748;
    border-top-color: #ffffff;
    z-index: 5;
    border-radius: 0px 0px 3px 3px;
    display: none;
}

.main-header .top-bar .lang-box .lang-list:before {
    content: '';
    position: absolute;
    left: 25px;
    top: -13px;
    width: 0px;
    border: 7px solid transparent;
    border-bottom: 7px solid #ffffff;
    z-index: 10;
}

.main-header .top-bar .lang-box .lang-list li {
    position: relative;
    border-bottom: 1px solid #009748;
}

.main-header .top-bar .lang-box .lang-list li:last-child {
    border: none;
}

.main-header .top-bar .lang-box .lang-list li a {
    display: block;
    line-height: 24px;
    padding: 5px 15px;
    color: #009748;
    font-size: 13px;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.main-header .top-bar .lang-box .lang-list li a:hover {
    background: #009748;
    color: #ffffff;
}

.main-header .top-bar .search-box {
    position: relative;
    float: left;
}

.main-header .top-bar .search-box .form-group {
    position: relative;
    margin-bottom: 0px;
}

.main-header .top-bar .search-box input[type="text"],
.main-header .top-bar .search-box input[type="search"] {
    position: relative;
    display: block;
    height: 44px;
    line-height: 24px;
    padding: 10px 40px 10px 15px;
    color: #ffffff;
    background: none;
    min-width: 220px;
    font-weight: 700;
    border: none;
}

.main-header .top-bar .search-box #searchForm .help-block {
    position: absolute;
    bottom: -15px;
}

.main-header .top-bar .search-box #searchForm .field-searchform-type {
    display: none;
}

.main-header .top-bar ::-webkit-input-placeholder {
    color: rgba(255, 255, 255, 1);
}

.main-header .top-bar ::-moz-placeholder {
    color: rgba(255, 255, 255, 1);
}

.main-header .top-bar :-ms-input-placeholder {
    color: rgba(255, 255, 255, 1);
}

.main-header .top-bar input:-moz-placeholder {
    color: rgba(255, 255, 255, 1);
}

.main-header .top-bar .has-error ::-webkit-input-placeholder {
    color: rgba(255, 0, 0, 1);
}

.main-header .top-bar .has-error ::-moz-placeholder {
    color: rgba(255, 0, 0, 1);
}

.main-header .top-bar .has-error :-ms-input-placeholder {
    color: rgba(255, 0, 0, 1);
}

.main-header .top-bar .has-error input:-moz-placeholder {
    color: rgba(255, 0, 0, 1);
}

.main-header .top-bar .search-box input[type="text"]:focus,
.main-header .top-bar .search-box input[type="search"]:focus {
    background: rgba(0, 0, 0, 0.05);
}

.main-header .top-bar .search-box button {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 40px;
    text-align: center;
    height: 44px;
    line-height: 24px;
    padding: 10px 0px;
    background: none;
    color: #004b56;
}

.main-header .middle-bar {
    position: relative;
    padding: 15px 0px 20px;
    background: #ffffff;
}

.main-header .middle-bar .info-column {
    position: relative;
    color: #2f2f31;
    padding: 12px 0px 10px;
}

.main-header .middle-bar .info-column p {
    margin-bottom: 0px;
}

.main-header .middle-bar .info-column h3 {
    font-size: 30px;
    font-weight: 700;
    color: #009748;
}

.main-header .middle-bar .logo-column {
    /*position:absolute;*/
    left: 0px;
    top: 0px;
    padding: 10px 0px;
    width: 100%;
    text-align: center;
    text-transform: uppercase;
}

.main-header .middle-bar .logo-column h1 {
    color: #004b56;
    font-weight: 700;

}

.main-header .middle-bar .logo-column .logo img {
    display: inline-block;
    max-width: 100%;
}

.main-header .top-bar .search-box button:hover,
.main-header .top-bar .search-box input:focus + button {
    color: #ffffff;
}


.main-header .lower-section {
    position: relative;
    padding: 0px 0px;
    width: 100%;
    left: 0px;
    top: 0px;
    background: none;
}


.fixed-header .lower-section {
    position: fixed;
    background: #004b56;
    height: auto;
}

.lower-section .nav-toggler {
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -20px;
    display: none;
}

.lower-section .nav-toggler button {
    position: relative;
    display: block;
    height: 40px;
    width: 40px;
    background: #009748;
    color: #ffffff;
    text-align: center;
    font-size: 20px;
    line-height: 38px;
    border: 1px solid #009748;
}

.main-header .lower-section .outer-box {
    position: relative;
    background: #004b56;
    padding: 0px 210px 0px 50px;
    border-radius: 3px;
}

.main-header .link-box {
    position: absolute;
    right: 50px;
    top: 20px;
}

.main-header .link-box .theme-btn {
    position: relative;
    display: inline-block;
    line-height: 24px;
    padding: 13px 25px;
    border-radius: 5px;
    background: #ffffff;
    text-transform: uppercase;

    color: #303030;
    font-size: 14px;
    font-weight: 700;
}

.main-header .link-box .theme-btn:hover {
    background: #009748;
    color: #ffffff;
}

.main-menu {
    position: relative;
    padding: 0px 0px;
}

.main-menu .navbar-collapse {
    padding: 0px;
}

.main-menu .navigation {
    position: relative;
    float: left;
    margin: 0px;
    font-weight: 400;
    font-family: 'Inter', sans-serif;
}

.main-menu .navigation > li {
    position: relative;
    float: left;
    padding: 20px 0px;
    margin-right: 20px;
}

.fixed-header .main-menu .navigation > li {
    padding: 20px 0px;
}

.main-menu .navigation > li:last-child {
    margin-right: 0px;
}

.main-menu .navigation > li > a {
    position: relative;
    display: block;
    padding: 10px 5px;
    font-size: 16px;
    color: #ffffff;
    line-height: 30px;
    font-weight: 700;
    opacity: 1;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

.main-header.style-two .main-menu .navigation > li > a {
    color: #ffffff;
}

.main-menu .navigation > li:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 4px;
    background: #009748;
    opacity: 0;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    transition: all 500ms ease;
}

.main-menu .navigation > li:hover > a,
.main-menu .navigation > li.current > a,
.main-menu .navigation > li.current-menu-item > a {
    opacity: 1;
}

.main-menu .navigation > li:hover:before,
.main-menu .navigation > li.current:before,
.main-menu .navigation > li.current-menu-item:before {
    color: #009748 !important;
    opacity: 1;
}

.main-menu .navigation > li > ul {
    position: absolute;
    left: -20px;
    top: 100%;
    width: 270px;
    padding: 0px;
    z-index: 100;
    display: none;
    visibility: hidden;
    background: #009748;
    opacity: 0;
    border: 1px solid rgba(0, 0, 0, 0.20);
}

.main-menu .navigation > li:hover > ul {
    left: 0px;
    display: block;
    opacity: 1;
    visibility: visible;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

.main-menu .navigation > li > ul > li {
    position: relative;
    width: 100%;
    display: block;
    border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

.main-menu .navigation > li > ul > li:last-child {
    border: none;
}

.main-menu .navigation > li > ul > li > a {
    position: relative;
    display: block;
    padding: 8px 20px;
    line-height: 26px;
    font-weight: 700;
    font-size: 16px;
    color: #ffffff;
    transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    -webkit-transition: all 200ms ease;
    -ms-transition: all 200ms ease;
    -o-transition: all 200ms ease;
}

.main-menu .navigation > li > ul > li:hover > a {
    background: #d6c051;
}

.main-menu .navigation > li > ul > li > ul {
    position: absolute;
    left: 120%;
    top: 0px;
    width: 220px;
    padding: 0px;
    z-index: 100;
    display: none;
    visibility: hidden;
    background: #009748;
    opacity: 0;
    border: 1px solid rgba(0, 0, 0, 0.20);
}

.main-menu .navigation > li > ul > li > ul > li {
    position: relative;
    width: 100%;
    display: block;
    border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

.main-menu .navigation > li > ul > li > ul > li:last-child {
    border: none;
}

.main-menu .navigation > li > ul > li > ul > li > a {
    position: relative;
    display: block;
    padding: 8px 20px;
    line-height: 26px;
    font-weight: 700;
    font-size: 16px;
    text-transform: capitalize;
    color: #ffffff;
    transition: all 200ms ease;
    -moz-transition: all 200ms ease;
    -webkit-transition: all 200ms ease;
    -ms-transition: all 200ms ease;
    -o-transition: all 200ms ease;
}

.main-menu .navigation > li > ul > li > ul > li:hover > a {
    background: #d6c051;
}

.main-menu .navigation > li > ul > li:hover > ul {
    left: 100%;
    display: block;
    opacity: 1;
    visibility: visible;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

.main-menu .navigation li.dropdown .dropdown-btn {
    position: absolute;
    right: 10px;
    top: 6px;
    width: 34px;
    height: 30px;
    border: 1px solid #ffffff;
    background: url(../images/icons/submenu-icon.png) center center no-repeat;
    background-size: 20px;
    cursor: pointer;
    z-index: 5;
    display: none;
    -webkit-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
}

/*** 

====================================================================
	Hidden Sidebar style
====================================================================

***/

.hidden-bar {
    position: fixed;
    top: 0;
    width: 305px;
    height: 100%;
    background: #004b56;
    z-index: 9999;
    transition: all 700ms ease;
    -webkit-transition: all 700ms ease;
    -ms-transition: all 700ms ease;
    -o-transition: all 700ms ease;
    -moz-transition: all 700ms ease;
}

.hidden-bar .mCSB_inside > .mCSB_container {
    margin-right: 0px;
}

.hidden-bar.right-align {
    right: -400px;
}

.hidden-bar.right-align.visible-sidebar {
    right: 0px;
}

.hidden-bar.right-align .hidden-bar-closer {
    left: -20px;
}

.hidden-bar.left-align {
    left: -400px;
}

.hidden-bar.left-align.visible-sidebar {
    left: 0px;
}

.hidden-bar.left-align .hidden-bar-closer {
    right: -20px;
}

.hidden-bar .hidden-bar-closer {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    background: #000;
    color: #fff;
    border-radius: 50%;
    text-align: center;
    line-height: 38px;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    z-index: 999999;
}

.hidden-bar .hidden-bar-closer:hover {
    background: #fff;
}

.hidden-bar .hidden-bar-closer:hover .btn {
    color: #004b56;
}

.hidden-bar .hidden-bar-closer .btn {
    background-color: transparent;
    border: none;
    outline: none;
    font-size: 14px;
}

.hidden-bar .social-icons {
    text-align: center;
    margin: 50px 0px 30px;
}

.hidden-bar .social-icons ul {
    font-size: 0;
    margin-left: -5px;
    margin-right: -5px;
}

.hidden-bar .social-icons ul li {
    display: inline-block;
    padding: 0 5px;
}

.hidden-bar .social-icons ul li a {
    display: block;
    width: 36px;
    height: 36px;
    font-size: 16px;
    line-height: 36px;
    text-align: center;
    background: #009748;
    color: #ffffff;
    border-radius: 5px;
    transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}

.hidden-bar .social-icons ul li a:hover {
    background: #ffffff;
    color: #009748;
}

.hidden-bar-wrapper {
    height: 100%;
}

.hidden-bar .logo {
    padding: 30px 0px;
    background: #004b56;
}

.hidden-bar .side-menu {
    background-color: transparent;
    padding: 0;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    letter-spacing: 1px;
}

.hidden-bar .side-menu ul li ul a {
    background: transparent;
}

.hidden-bar .side-menu ul li ul li ul li a {
    background: transparent;
}

.hidden-bar .side-menu a.current {
    color: #fff;
}

.hidden-bar .side-menu li.current > a {
    color: #fff;
}

.hidden-bar .side-menu ul li a {
    background: transparent;
    color: #ffffff;
    display: block;
    font-weight: 500;
    text-transform: uppercase;
    border-top: 1px solid rgba(255, 255, 255, 0.30);
    border-bottom: 1px solid rgba(255, 255, 255, 0.30);
    padding: 10px 15px 10px 20px;
    position: relative;
    transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}

.hidden-bar .side-menu ul li a:hover {
    background: transparent;
    color: #009748;
}

.hidden-bar .side-menu ul li a .btn.expander {
    background: none;
    color: #ffffff;
    border: 1px solid rgba(255, 255, 255, 0.80);
    padding: 5px 10px;
    font-size: 14px;
    border-radius: 0px;
    position: absolute;
    top: 6px;
    right: 20px;
    outline: none;
}


/*** 

====================================================================
	Main Slider style
====================================================================

***/

.main-slider {
    position: relative;
    width: 100%;
    color: #ffffff;
    font-size: 15px;
    line-height: 2em;
    margin-top: -45px !important;
}

.main-slider .tp-bannertimer {
    display: none;
}

.main-slider h1 {
    font-weight: 400;
    font-size: 60px;
    color: #2f2f31;
    line-height: 1.2em;
}

.main-slider .text {
    font-size: 16px;
    color: #999999;

}

.main-slider .phone-no {
    font-size: 24px;
    font-weight: 700;
    color: #004b56;
}

.main-slider .smaller-title {
    font-size: 24px;
    font-weight: 700;

    color: #2f2f31;
}

.main-slider .theme-btn {
    font-weight: 700;
    padding: 11px 60px;
}

.main-slider .normal-link {
    color: #2f2f31;
    padding: 11px 60px;
    line-height: 24px;

}

.main-slider .normal-link .icon {
    padding-right: 5px;
}

.main-slider .tparrows.preview3 {
    background: none !important;
}

.main-slider .tparrows.preview3::after {
    background: #004b56;
    color: #ffffff;
    font-size: 24px;
    border-radius: 5px;
}

.main-slider .tparrows.preview3.tp-leftarrow {
    left: 20px !important;
}

.main-slider .tparrows.preview3.tp-rightarrow {
    right: 20px !important;
}

.main-slider .tparrows.preview3:hover::after {
    background-color: #009748;
    color: #ffffff;
}

.main-slider .tparrows.preview3 .tp-arr-iwrapper {
    visibility: hidden;
    opacity: 0;
}

/*** 

====================================================================
	Services Style One
====================================================================

***/

.services-style-one {
    position: relative;
    padding: 70px 0px 0px;
}

.default-service-column {
    position: relative;
}

.services-style-one .default-service-column {
    margin-bottom: 70px;
}

.default-service-column .inner-box {
    position: relative;
}

.default-service-column .service-header {
    position: relative;
    padding-left: 70px;
    min-height: 80px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
}

.default-service-column .service-header .icon {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 70px;
    line-height: 70px;
    font-size: 48px;
    color: #009748;
    margin-bottom: 20px;
}

.default-service-column .service-header h4 {
    font-size: 18px;
    color: #999999;
    font-weight: 700;
    margin-bottom: 7px;
}

.default-service-column .service-header h3 {
    font-size: 18px;
    color: #2f2f31;
    font-weight: 700;
}

.default-service-column .text-content {
    position: relative;
    padding-top: 15px;
}

.default-service-column .text-content .text {
    font-size: 16px;
    margin-bottom: 20px;
}

.services-style-one hr {
    margin: 0px;
}

.styled-heading {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 22px;
}

.styled-heading:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 150px;
    height: 6px;
    border-top: 1px solid #004b56;
    border-bottom: 1px solid #004b56;
}

.styled-heading:after {
    content: '//';
    position: absolute;
    font-size: 21px;
    letter-spacing: -2px;
    left: 25px;
    bottom: -4px;
    padding: 0 5px;
    background: #fff;
    color: #004b56;
}

.styled-heading h2 {
    font-size: 30px;
    font-weight: 700;
    color: #2f2f31;
}

.line-styled-heading {
    position: relative;
    margin-bottom: 30px;
    padding-bottom: 10px;
}

.line-styled-heading:after {
    content: '';
    position: absolute;
    left: 0px;
    bottom: 0;
    width: 50px;
    height: 1px;
    background: #009748;
}

.line-styled-heading h2 {
    font-size: 24px;
    font-weight: 700;
    color: #009748;
}

/*** 

====================================================================
	About Section
====================================================================

***/

.about-section {
    position: relative;
    padding: 40px 0px;
}

.about-section .default-column {
    position: relative;
    margin-bottom: 50px;
}

.default-text-box {
    margin-bottom: 25px;
    text-align: justify;
}

.about-section .columns-outer {
    position: relative;
    margin-left: -4px;
    margin-right: -4px;
}

.about-section .columns-outer .column {
    padding: 0px 4px !important;
    margin-bottom: 30px;
}

.about-section .image-box {
    position: relative;
    display: block;
}

.about-section .image-box img {
    display: block;
    width: 100%;
}

.default-overlay-outer {
    position: absolute;
    display: block;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    padding: 10px;
    transition: all 700ms ease;
    -webkit-transition: all 700ms ease;
    -ms-transition: all 700ms ease;
    -o-transition: all 700ms ease;
    -moz-transition: all 700ms ease;
}

.default-overlay-outer .inner {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    display: table;
    vertical-align: middle;
    text-align: center;
}

.default-overlay-outer .inner .content-layer {
    position: relative;
    display: table-cell;
    vertical-align: middle;
    color: #ffffff;
}

.about-section .image-box .content-layer .icon {
    font-size: 24px;
    margin-bottom: 10px;
}

.about-section .image-box .content-layer h3 {
    font-size: 18px;
    font-weight: 700;
}

.quote-text {
    position: relative;
    font-size: 18px;
    font-family: 'Inter', sans-serif;
    color: #2f2f31;
}

.about-section .quote-text {
    margin-bottom: 40px;
}

.about-section .phone-info {
    line-height: 36px;
}

.about-section .phone-info .phone {
    position: relative;
    padding-left: 10px;
    top: 5px;
    color: #009748;
    font-family: 'Inter', sans-serif;
    font-size: 30px;
    font-weight: 700;
}

/*** 

====================================================================
	Company Timeline
====================================================================

***/

.company-timeline {
    position: relative;
}

.about-section .timeline-column {
    position: relative;
    margin-bottom: 30px;
}

.company-timeline .timeline-block {
    position: relative;
    margin-bottom: 20px;
    padding-left: 100px;
}

.company-timeline .timeline-block:last-child {
    margin-bottom: 0px;
}

.company-timeline .timeline-block .year {
    position: absolute;
    left: 0px;
    top: 0px;
    display: inline-block;
    max-width: 100%;
    padding: 5px 15px;
    color: #ffffff;
    background: #009748;
    text-align: center;
    font-size: 20px;
    line-height: 24px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    border-radius: 5px;
}

.company-timeline .timeline-block .year .curve {
    position: absolute;
    bottom: -13px;
    left: 0px;
    width: 100%;
    color: #009748;
}

.company-timeline .timeline-block h3 {
    font-size: 18px;
    margin-bottom: 10px;
    color: #2f2f31;
    font-weight: 700;
}

.about-section .carousel-outer {
    position: relative;
}

.about-section .carousel-outer img {
    display: block;
    width: 100%;
    height: auto;
}

.about-section .carousel-outer .owl-controls {
    margin: 0px;
}

.about-section .carousel-outer .owl-nav {
    display: none;
}

.about-section .carousel-outer .owl-dots {
    position: absolute;
    left: 0px;
    bottom: 5px;
    width: 100%;
    z-index: 20;
}

.about-section .carousel-outer .owl-dots .owl-dot span {
    border: 1px solid #ffffff;
    background: none;
    margin: 0px 5px;
}

.about-section .carousel-outer .owl-dots .owl-dot.active span,
.about-section .carousel-outer .owl-dots .owl-dot:hover span {
    background: #ffffff;
}

.about-section .graph-outer {
    position: relative;
    padding: 30px 0px;
    text-align: center;
    border: 1px solid #e0e0e0;
}

.about-section .graph-outer .chart-outer {
    position: relative;
    width: 222px;
    height: 222px;
    margin: 0 auto;
    background: url(../images/background/graph-image.png) center center no-repeat;
}

.about-section .graph-outer img {
    display: inline-block;
    max-width: 100%;
}

.about-section .graph-outer .chart-outer .progress-text {
    position: absolute;
    text-align: center;
    width: 70px;
    height: 40px;
    color: #ffffff;
    line-height: 20px;
    font-size: 16px;
    font-weight: 400;

}

.about-section .graph-outer .chart-outer .center-text {
    left: 50%;
    margin-left: -35px;
    top: 50%;
    margin-top: -20px;
}

.about-section .graph-outer .chart-outer .won-text {
    left: 3%;
    top: 25%;
}

.about-section .graph-outer .chart-outer .hold-text {
    right: 3%;
    top: 25%;
}

.about-section .graph-outer .chart-outer .running-text {
    left: 50%;
    margin-left: -25px;
    bottom: 7%;
}

.about-section .graph-outer .chart-outer .progress-text .count {
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    font-weight: 700;
}


/*** 

====================================================================
	Two Column Fluid
====================================================================

***/

.two-column-fluid {
    position: relative;
    background: #f5f5f5;
}

.two-column-fluid .testimonial-column {
    position: relative;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
}

.two-column-fluid .testimonial-column .bg-color-layer {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 2000px;
    height: 100%;
    background: #004b56;
    opacity: 0.95;
    z-index: 3;
}

.two-column-fluid .testimonial-column .bg-image-layer {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 2000px;
    height: 100%;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right center;
    z-index: 1;
}

.two-column-fluid .testimonial-column .inner-box {
    position: relative;
    padding: 70px 15px 70px 0px;
    z-index: 5;
}

.two-column-fluid .testimonial-column .carousel-box {
    position: relative;
    padding: 0px 100px 0px 110px;
}

.two-column-fluid .testimonial-column .quote-icon {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 80px;
    height: 80px;
    line-height: 76px;
    border: 2px solid #ffffff;
    text-align: center;
    color: #ffffff;
    font-size: 30px;
    border-radius: 50%;
}

.two-column-fluid .testimonial-column .styled-heading h2 {
    color: #ffffff;
}

.testimonial-carousel .slide-text {
    position: relative;
    margin-bottom: 80px;
    color: #ffffff;
    font-size: 18px;
}

.testimonial-carousel .slide-info {
    position: relative;
    padding-left: 80px;
    padding: 15px 15px 44px 100px;
}

.testimonial-carousel .slide-info .image-thumb {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 80px;
    height: 80px;
}

.testimonial-carousel .slide-info .image-thumb:before {
    content: '';
    position: absolute;
    left: 0px;
    top: -44px;
    height: 1px;
    width: 100%;
    background: #ffffff;
}

.testimonial-carousel .slide-info .image-thumb img {
    display: block;
    width: 80px;
}

.testimonial-carousel .slide-info h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 2px;
    color: #ffffff;
}

.testimonial-carousel .slide-info p {
    margin-bottom: 5px;
    color: #ffffff;
    font-style: italic;
}

.testimonial-carousel .signature img {
    position: relative;
    margin-top: 20px;
    display: inline-block;
    max-width: 100%;
}

.testimonial-carousel .owl-controls {
    margin: 0px;
}

.testimonial-carousel .owl-nav {
    display: none;
}

.testimonial-carousel .owl-dots {
    position: relative;
    text-align: left;
}

.testimonial-carousel .owl-dots .owl-dot span {
    border: 3px solid #ffffff;
    background: none;
    margin: 0px 5px;
}

.testimonial-carousel .owl-dots .owl-dot.active span,
.testimonial-carousel .owl-dots .owl-dot:hover span {
    background: #ffffff;
}

.two-column-fluid .whyus-column .inner-box {
    position: relative;
    padding: 70px 15px 70px 60px;
    z-index: 5;
}

.two-column-fluid .whyus-column .icon-block {
    position: relative;
    margin-bottom: 34px;
}

.two-column-fluid .whyus-column .icon-block:last-child {
    margin-bottom: 0px;
}

.two-column-fluid .whyus-column .icon-block .icon {
    position: absolute;
    left: -110px;
    top: 5px;
    width: 70px;
    height: 70px;
    line-height: 66px;
    text-align: center;
    background: #009748;
    border: 2px solid #009748;
    color: #ffffff;
    font-size: 30px;
    border-radius: 50%;
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
}

.two-column-fluid .whyus-column .icon-block:hover .icon {
    background: #ffffff;
    color: #009748;
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
}

.two-column-fluid .whyus-column .icon-block h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #2f2f31;
}

/*** 

====================================================================
	Team Section
====================================================================

***/

.team-section {
    position: relative;
    background: #ffffff;
    padding: 10px 0px;
}

.team-section.extended {
    padding: 80px 0px 20px;
}

.team-section .team-member {
    position: relative;
    margin-bottom: 50px;
}

.team-section.extended .team-member {
    margin-bottom: 60px;
}

.team-section.extended .separator {
    margin: 0px 0px 60px;
}

.team-section .team-member .inner-box {
    position: relative;
    max-width: 500px;
    display: block;
    background: #ffffff;
    margin: 0 auto;
}

.team-section .team-member .image {
    position: relative;
}

.team-section .team-member .image img {
    position: relative;
    display: block;
    width: 100%;
}

.team-section .team-member .member-info {
    position: relative;
    padding: 20px 0px;
    border-bottom: 1px solid #e0e0e0;
}

.team-section .team-member h3 {
    font-size: 18px;
    color: #2f2f31;
    font-weight: 700;
    text-transform: capitalize;
}

.team-section .team-member .designation {
    font-size: 16px;
    line-height: 20px;
    color: #009748;
    text-transform: capitalize;
    font-style: italic;
    font-family: 'Inter', serif;
}

.team-section .team-member .social-links {
    position: relative;
}

.team-section .team-member .social-links a {
    position: relative;
    display: inline-block;
    width: 34px;
    height: 34px;
    font-size: 14px;
    margin: 0px 3px 5px;
    line-height: 32px;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #e1e1e1;
    color: #909090;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    padding: 3px;
}

.team-section .team-member .social-links a:hover {
    background-color: #009748;
    color: #ffffff;
    border-color: #009748;
}

.team-section .team-member .contact-info {
    position: relative;
    padding: 25px 0px;

}

.team-section .team-member .contact-info li {
    position: relative;
    padding-left: 30px;
    line-height: 24px;
    margin-bottom: 5px;
}

.team-section .team-member .contact-info a {
    color: #999999;
    font-size: 16px;
}

.team-section .team-member .contact-info li .icon {
    position: absolute;
    left: 0px;
    top: 0px;
    line-height: 24px;
    color: #009748;
    width: 20px;
}


/*** 

====================================================================
	Conultation Section
====================================================================

***/

.consult-section {
    position: relative;
    background: #ffffff;
    padding: 60px 0px 0px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    overflow: hidden;
}

.consult-section:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    opacity: 0.80;
}

.consult-section .auto-container {
    position: relative;
    padding-left: 440px;
    z-index: 1;
}

.default-form {
    position: relative;
}

.consult-section .default-form {
    padding-bottom: 50px;
}

.consult-section .man-image {
    position: absolute;
    left: 15px;
    bottom: 0px;
    width: 400px;
}

.consult-section .man-image img {
    position: relative;
    display: block;
    max-width: 100%;
}

.default-form .form-group {
    position: relative;
    margin-bottom: 30px;
}

.default-form input[type="text"],
.default-form input[type="email"],
.default-form input[type="password"],
.default-form input[type="tel"],
.default-form input[type="number"],
.default-form input[type="url"],
.default-form select,
.default-form textarea,
.default-form .select2-container--krajee .select2-selection--single {
    position: relative;
    display: block;
    background: #ffffff;
    line-height: 30px;
    padding: 10px 20px;
    height: 52px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.default-form .select2-container--krajee .select2-selection--single .select2-selection__arrow {
    border: none;
    height: 100%;
    right: 15px;
    display: none;
}

.default-form select,
.default-form .select2-container--krajee .select2-selection--single {
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    background: #ffffff url(../images/icons/icon-dropdown.png) right center no-repeat;
    cursor: pointer;
}

.default-form .iti.iti--allow-dropdown {
    width: 100%;
}

.default-form input[type="tel"] {
    text-indent: 30px;
}

.default-form .file-caption.form-control.kv-fileinput-caption {
    height: 52px;
}

.default-form select option {
    text-indent: 20px;
}

.default-form textarea {
    resize: none;
    height: 110px;
}

.default-form-section .default-form textarea,
.default-form.comment-form textarea {
    resize: none;
    height: 150px;
}

.default-form input:focus,
.default-form select:focus,
.default-form textarea:focus {
    border-color: #009748;
}

/*** 

====================================================================
	News Section
====================================================================

***/

.news-section {
    position: relative;
    background: #ffffff;
    padding: 70px 0px 10px;
}

.news-section.extended {
    padding: 70px 0px;
}

.featured-news-column {
    position: relative;
    margin-bottom: 20px;
}

.featured-news-column .inner-box {
    position: relative;
    background: #f5f5f5;
}

.featured-news-column .image-box {
    position: relative;
    overflow: hidden;
}

.list-view .featured-news-column .image-box {
    float: left;
    width: 42%;
}

.featured-news-column .image-box img {
    display: block;
    width: 100%;
}

.featured-news-column .image-box .default-overlay-outer {
    background: rgba(0, 75, 86, 0.90);
    opacity: 0;
    left: -100%;
}

.featured-news-column:hover .image-box .default-overlay-outer {
    left: 0px;
    opacity: 1;
}

.featured-news-column .image-box .link-icon {
    position: relative;
    display: inline-block;
    line-height: 53px;
    width: 52px;
    height: 52px;
    background: #ffffff;
    border-radius: 5px;
    font-size: 18px;
    color: #004b56;
}

.featured-news-column .content {
    position: relative;
    padding: 10px;
}

.list-view .featured-news-column .right-content {
    float: left;
    width: 58%;
}

.list-view .featured-news-column .content {
    padding: 30px 20px 30px 50px;
}

.featured-news-column .date {
    position: relative;
    width: 30px;
    height: 40px;
    margin-top: -30px;
    line-height: 25px;
    float: right;
    padding: 5px;
    margin-bottom: 30px;
    font-size: 18px;
    color: #ffffff;
    background: #004b56;
    font-weight: 700;
    text-align: center;
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
}

.classic-view .featured-news-column .date {
    position: absolute;
    left: 25px;
    top: 25px;
    z-index: 3;
    margin: 0px;
}

.featured-news-column:hover .date {
    background: #009748;
}

.list-view .featured-news-column .date {
    position: absolute;
    left: -30px;
    top: 35px;
    margin-top: 0px;
}

.featured-news-column .tags {
    position: relative;
    margin-bottom: 10px;
    color: #2f2f31;
}

.featured-news-column .tags a {
    color: #999999;
    font-size: 14px;

}

.featured-news-column h3 {
    font-size: 14px;
    font-weight: 700;
    color: #2f2f31;
}

.classic-view .featured-news-column h3 {
    font-size: 24px;
}

.featured-news-column h3 a {
    color: #2f2f31;
}

.featured-news-column a:hover {
    color: #009748;
}

.featured-news-column .text {
    margin-bottom: 10px;
}

.list-view .featured-news-column .text {
    margin-bottom: 20px;
}

.featured-news-column .read-more {
    color: #004b56;
    text-transform: uppercase;
    font-size: 14px;
    font-weight: 700;
}

.featured-news-column:hover .read-more {
    color: #009748;
}

.featured-news-column .post-info {
    position: relative;
    border-top: 1px solid #e1e1e1;
    padding: 5px 1px;

    font-size: 14px;
}

.featured-news-column .post-info li {
    position: relative;
    float: left;
    margin-left: 15px;
    font-size: 12px;
    color: #999999;
}

.featured-news-column .post-info li a {
    color: #999999;
}

.featured-news-column .post-info li .fa,
.featured-news-column .post-info li .author-thumb {
    padding-right: 5px;
}

.blog-details blockquote {
    position: relative;
    padding: 25px;
    border: 1px solid #e0e0e0;
    border-left: 3px solid #e0e0e0;
    background: #ffffff;
    margin: 30px 0px;
    font-size: 16px;
    font-style: italic;
    font-family: 'Inter', sans-serif;
}

.blog-details .styled-heading {
    margin-bottom: 20px;
}

.blog-details .styled-heading h2 {
    font-size: 24px;
}

.blog-details .image-block .image-column,
.blog-details .image-block .text-column {
    margin-bottom: 30px;
}

.blog-details .image-block img {
    display: block;
    max-width: 100%;
}

.blog-details .post-bottom {
    background: #ffffff;
    padding: 10px 0px;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}

.blog-details .post-bottom .post-info {
    border: none;
    padding: 0px;
}

.blog-details .post-bottom .post-info li {
    line-height: 34px;
}


.social-links-one a {
    position: relative;
    display: inline-flex;
    display: -ms-inline-flexbox;
    display: -webkit-inline-flex;
    align-items: center;
    font-size: 14px;
    /*	width:34px;
	height:34px;*/
    padding: 3px 7px;
    line-height: 32px;
    border: 1px solid #e9e9e9;
    text-align: center;
    color: #999999;
    margin: 0px 10px 7px 0px;
    border-radius: 5px;
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.social-links-one a span {
    width: 20px;
    height: 20px;
    margin-right: 10px;
}

.social-links-one a span svg {
    width: 100%
}

.social-links-one a:hover {
    color: #ffffff;
    background: #009748;
}

.blog-details .post-author {
    position: relative;
    color: #777777;
    border-bottom: 1px solid #e0e0e0;
    padding-bottom: 10px;
    margin-bottom: 10px;
}


.blog-details .post-author .inner-box {
    position: relative;
    padding: 15px;
    min-height: 80px;
}

.blog-details .post-author .inner-box .author-thumb {
    position: absolute;
    left: 0px;
    top: 10px;
    width: 110px;
    height: 110px;
    border-radius: 5px;
}

.blog-details .post-author .inner-box .author-thumb img {
    display: block;
    width: 110px;
}

.blog-details .post-author h4 {
    margin-bottom: 10px;
    font-family: 'Inter', sans-serif;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 700;
    color: #1a1a1a;
}

.blog-details .post-author h4 .author-occ {
    position: relative;
    left: 10px;
    padding: 5px 10px;
    font-size: 10px;
    background: #1cbefe;
    border-radius: 5px;
    color: #ffffff;
}

/*** 

====================================================================
	Comments Area
====================================================================

 ***/

.blog-details .comments-area {
    position: relative;
    margin-bottom: 70px;
}

.blog-details .comments-area .comment-box {
    position: relative;
}

.blog-details .comments-area .comment {
    position: relative;
    margin: 0px 0px 40px 0px;
    padding: 0px 0px 40px 110px;
    border-bottom: 1px solid #e0e0e0;
}

.blog-details .comments-area .reply-comment {
    margin-left: 50px;
}

.blog-details .comments-area .comment-box .author-thumb {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 78px;
    height: 78px;
}

.blog-details .comments-area .comment-box .author-thumb img {
    width: 100%;
    display: block;
    border-radius: 5px;
}

.blog-details .comments-area .comment-info {
    margin-bottom: 15px;
    color: #009748;
    font-size: 16px;
}

.blog-details .comments-area .comment-info .time {
    color: #009748;
    font-size: 16px;

}

.blog-details .comments-area .comment-box strong {
    color: #2f2f31;
    font-size: 18px;
    font-weight: 700;
}

.blog-details .comments-area .comment-option {
    color: #e0e0e0;
    padding-top: 10px;

}

.blog-details .comments-area .comment-option .up-link,
.blog-details .comments-area .comment-option .down-link {
    color: #999999;
    line-height: 24px;
    font-size: 18px;
    padding: 0px 10px;
}

.blog-details .comments-area .comment-option .reply-link {
    position: relative;
    margin: 0px 10px;
    font-weight: 700;
}

.blog-details .comments-area .comment-option .share-link {
    position: relative;
    margin: 0px 10px;
    font-weight: 700;
    color: #2f2f31;
}

/*** 

====================================================================
	Sponsors Section Style
====================================================================

***/

.sponsors-section {
    position: relative;
    padding: 0px 0px 100px;
    background: #ffffff;
}

.sponsors-section .slider-outer {
    position: relative;
    border: 1px solid #e0e0e0;
    margin: 0px 0px;
}

.sponsors-section .sponsors-slider {
    position: relative;
}

.sponsors-section .sponsors-slider li a {
    height: 80px;
    display: flex;
    display: -webkit-flex;
    display: -o-flex;
    display: -ms-flex;
    display: -moz-flex;
    justify-content: center;
    -webkit-justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

.sponsors-section .sponsors-slider li img {
    position: relative;
    right: -1px;
    border-right: 1px solid #e0e0e0;
    width: 90%;
}

.sponsors-section .owl-controls {
    margin: 0px !important;
}

.sponsors-section .owl-nav .owl-prev {
    position: absolute;
    left: 0px;
    top: 50%;
    margin: -25px 0px 0px -25px !important;
    line-height: 48px;
    width: 50px;
    height: 50px;
    border: 1px solid #e0e0e0;
    text-align: center;
    color: #cccccc;
    background: #ffffff;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    transition: all 300ms ease;
}

.sponsors-section .owl-nav .owl-next {
    position: absolute;
    right: 0px;
    top: 50%;
    margin: -25px -25px 0px 0px !important;
    line-height: 48px;
    width: 50px;
    height: 50px;
    border: 1px solid #e0e0e0;
    text-align: center;
    color: #cccccc;
    background: #ffffff;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    transition: all 300ms ease;
}

.sponsors-section .owl-nav .owl-prev .fa:before,
.sponsors-section .owl-nav .owl-next .fa:before {
    font-size: 24px;
    color: #004b56;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    transition: all 300ms ease;
}

.sponsors-section .owl-nav .owl-prev:hover .fa:before,
.sponsors-section .owl-nav .owl-next:hover .fa:before {
    color: #ffffff;
}

.sponsors-section .owl-nav .owl-prev:hover,
.sponsors-section .owl-nav .owl-next:hover {
    background: #004b56 !important;
}

.sponsors-section .owl-dots {
    display: none !important;
}

/*** 

====================================================================
	Info Section Style
====================================================================

***/

.info-section {
    position: relative;
    background: #004b56;
    color: #ffffff;
}

.info-section .info-column {
    position: relative;
    margin-bottom: 50px;
}

.info-section .info-column .inner-box {
    max-width: 320px;
    margin: 0 auto;
    text-align: center;
}

.info-section .info-column .icon {
    position: relative;
    width: 70px;
    height: 70px;
    line-height: 70px;
    margin: -30px auto 40px;
    color: #ffffff;
    font-size: 24px;
    text-align: center;
    background: #009748;
}

.info-section .info-column h3 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
}

.info-section .info-column h3:after {
    content: '';
    position: relative;
    display: block;
    width: 70px;
    height: 1px;
    margin: 20px auto;
    background: #ffffff;
}

.info-section .info-column .text {
    font-size: 16px;
    color: #f5f5f5;
}

/*** 

====================================================================
	Map Section Style
====================================================================

***/

.map-section {
    position: relative;
}

.map-section .map-container {
    position: relative;
    height: 450px;
}

.map-section.extended .map-container {
    height: 500px;
}

.map-section .map-data {
    text-align: center;
    font-size: 16px;
    font-weight: 700;

}

.map-section .map-data h6 {
    font-size: 16px;
    text-align: center;
    margin-bottom: 5px;
    color: #2e2e2e;
}

/*** 

====================================================================
	Main Footer
====================================================================

***/

.main-footer {
    position: relative;
    color: #999999;
    background: #505050;

}

.main-footer p {
    margin-bottom: 20px;
}

.main-footer .footer-upper {
    position: relative;
    padding: 70px 0px 30px;
    color: #999999;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}

.main-footer .footer-upper:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: #030303;
    opacity: 0.92;
}

.main-footer .footer-upper .column {
    position: relative;
    margin-bottom: 30px;
}

.footer-upper .column h3 {
    position: relative;
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 30px;
    padding-bottom: 22px;
    color: #ffffff;
}

.footer-upper .column h3:before {
    content: '';
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 150px;
    height: 6px;
    border-top: 1px solid #004b56;
    border-bottom: 1px solid #004b56;
}

.footer-upper .column h3:after {
    content: '//';
    position: absolute;
    font-size: 21px;
    letter-spacing: -2px;
    font-weight: 400;
    left: 25px;
    bottom: -9px;
    padding: 0 5px;
    color: #004b56;
}

.main-footer .about-widget {
    font-size: 16px;
}

.main-footer .footer-upper a {
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.main-footer .footer-upper a:hover {
    color: #ffffff;
}

.footer-upper .links-widget li {
    position: relative;
    margin-bottom: 15px;
}

.footer-upper .links-widget li a {
    position: relative;
    display: block;
    font-size: 16px;
    color: #999999;
    line-height: 24px;
    padding-left: 15px;
}

.footer-upper .links-widget li a:before {
    content: '\f105';
    font-family: 'FontAwesome';
    position: absolute;
    left: 0px;
    top: 0px;
    font-size: 16px;
    line-height: 24px;
}

.footer-upper .links-widget li a:hover {
    color: #ffffff;
}

.main-footer .social-links a {
    position: relative;
    display: inline-block;
    font-size: 16px;
    width: 48px;
    height: 48px;
    line-height: 46px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    text-align: center;
    margin: 0px 2px 10px 0px;
    color: #999999;
    background: #10100f;
    border-radius: 5px;
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.main-footer .social-links a:hover {
    color: #ffffff;
    background: #004b56;
}

.footer-upper .twitter-feeds .feed {
    position: relative;
    padding: 0px 0px 0px 30px;
    margin-bottom: 20px;
    color: #aaaaaa;
}

.footer-upper .twitter-feeds .feed:last-child {
    margin: 0px;
}

.footer-upper .twitter-feeds .feed-content {
    margin-bottom: 5px;
    line-height: 1.6em;
}

.footer-upper .twitter-feeds .feed a {
    position: relative;
    color: #009748;
}

.footer-upper .twitter-feeds .feed .time {
    position: relative;
    color: #ffffff;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    text-transform: capitalize;
    font-weight: 700;
}

.footer-upper .twitter-feeds .feed strong {
    font-weight: 400;
}

.footer-upper .twitter-feeds .feed .icon {
    position: absolute;
    width: 30px;
    height: 20px;
    left: 0px;
    top: 5px;
    line-height: 20px;
    font-size: 18px;
    color: #999999;
}

.main-footer .newsletter-widget .form-group {
    position: relative;
    margin-bottom: 10px;
}

.main-footer .newsletter-widget input[type="text"],
.main-footer .newsletter-widget input[type="email"] {
    position: relative;
    display: block;
    width: 100%;
    line-height: 26px;
    padding: 11px 50px 11px 10px;
    background: #10100f;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 5px;
}

.main-footer .newsletter-widget input[type="text"]:focus,
.main-footer .newsletter-widget input[type="email"]:focus {
    background: #202020;
}

.main-footer .newsletter-widget input[type="submit"],
.main-footer .newsletter-widget button {
    position: absolute;
    right: 0px;
    top: 0px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 18px;
    font-weight: 700;
    font-family: 'Inter', sans-serif;
    color: #ffffff;
    background: #004b56;
    border-radius: 0px 5px 5px 0px;
}

.main-footer .newsletter-widget input:focus + button,
.main-footer .newsletter-widget button:hover {
    background: #009748;
}

.main-footer h4 {
    position: relative;
    font-size: 18px;
    color: #ffffff;
    font-weight: 700;
    padding-top: 25px;
    margin-bottom: 20px;
}

.main-footer h4:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 50px;
    height: 1px;
    background: rgba(255, 255, 255, 0.05);
}

.footer-bottom {
    position: relative;
    padding: 25px 0px;
    font-family: 'Inter', sans-serif;
    line-height: 24px;
    color: #999999;
    background: #1e1e1e;
}

.footer-bottom .footer-nav {
    position: relative;
}

.footer-bottom .footer-nav li {
    position: relative;
    float: left;
    margin-left: 25px;
}

.footer-bottom .footer-nav li a {
    color: #999999;
}

.footer-bottom .footer-nav li a:hover {
    color: #ffffff;
}

/*** 

====================================================================
	Page Title Style
====================================================================

***/

.page-title {
    position: relative;
    padding: 165px 0px 115px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    margin-top: -45px;
}

.page-title h1 {
    position: relative;
    font-size: 36px;
    font-weight: 700;
    color: #ffffff;
    padding-bottom: 30px;
    line-height: 50px;
    text-align: center;
    text-transform: uppercase;
}

.page-title h1:after {
    content: '';
    position: absolute;
    left: 0px;
    bottom: 0;
    width: 100%;
    height: 30px;
    background: url(../images/icons/title-line-image-2.png) center bottom no-repeat;
}

.page-info {
    position: relative;
    padding: 15px 0px;
    border-bottom: 1px solid #e0e0e0;
}

.page-info h2 {
    font-size: 18px;
    color: #2f2f31;
    line-height: 24px;
    font-weight: 700;
}

.page-info .bread-crumb {
    position: relative;
    font-family: 'Inter', samns-serif;
}

.page-info .bread-crumb li {
    position: relative;
    float: left;
    margin-right: 40px;
    color: #999999;
    line-height: 24px;
}

.page-info .bread-crumb li:last-child {
    margin-right: 0px;
}

.page-info .bread-crumb li:after {
    content: '\f0da';
    font-family: 'FontAwesome';
    position: absolute;
    right: -30px;
    width: 10px;
    line-height: 28px;
    color: #004b56;
    font-size: 14px;
}

.page-info .bread-crumb li:last-child:after {
    display: none;
}

.page-info .bread-crumb li a {
    color: #999999;
}

.page-info .bread-crumb li a:hover {
    color: #009748;
}

/*** 

====================================================================
	Welcome Section
====================================================================

***/

.welcome-section {
    position: relative;
    padding: 70px 0px 0px;
}

.welcome-section .column {
    margin-bottom: 40px;
}

.welcome-section .text {
    margin-bottom: 25px;
}

.welcome-section .text-header {
    position: relative;
    padding-bottom: 20px;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 30px;
}

.welcome-section .text-header h2 {
    font-size: 30px;
    font-weight: 700;
    color: #2f2f31;
}

.text-carousel-outer {
    position: relative;
    padding-left: 20px;
    border-left: 4px solid #004b56;
    color: #2f2f31;
}

.text-carousel h3 {
    font-size: 30px;
    line-height: 40px;
    font-weight: 700;
    color: #2f2f31;
    margin-bottom: 5px;
}

.text-carousel-outer .owl-dots {
    display: none !important;
}

.text-carousel-outer .owl-controls {
    text-align: left;
    margin: 0px;
}

.text-carousel-outer .owl-prev,
.text-carousel-outer .owl-next {
    width: 30px;
    height: 30px;
    font-size: 18px;
    padding: 0px !important;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    line-height: 28px !important;
    color: #909090 !important;
    text-align: center;
    margin: 0px 10px 0px 0px !important;
}

.text-carousel-outer .owl-prev .fa:before,
.text-carousel-outer .owl-next .fa:before {
    line-height: 28px;
}

.text-carousel-outer .owl-prev:hover,
.text-carousel-outer .owl-next:hover {
    background: #004b56 !important;
    color: #ffffff;
    border-color: #004b56;
}

.welcome-section .image-column {
    position: relative;
    margin-bottom: 30px;
}

.welcome-section .image-box {
    position: relative;
}

.welcome-section .image-box img {
    display: block;
    width: 100%;
}

.welcome-section .image-box .icon {
    font-size: 48px;
    margin-bottom: 20px;
}

.welcome-section .image-box h3 {
    font-size: 20px;
    font-weight: 700;
}

.welcome-section .image-box .default-overlay-outer {
    background: rgba(34, 53, 85, 0.90);
}

.welcome-section .image-box:hover .default-overlay-outer {
    background: rgba(184, 155, 94, 0.90);
}


/*** 

====================================================================
	Default Section
====================================================================

***/

.default-section {
    position: relative;
    padding: 70px 0px 20px;
}

.default-section .default-column {
    margin-bottom: 50px;
}

/*** 

====================================================================
	Our Experience Section
====================================================================

***/

.our-experience .desc-text {
    position: relative;
    margin-bottom: 30px;
}

.our-experience .timeline-outer {
    position: relative;
    padding: 20px 0px 0px;
    padding-left: 140px;
}

.our-experience .timeline-outer .left-line {
    position: absolute;
    left: 67px;
    top: 0px;
    height: 100%;
    width: 3px;
    background: #e0e0e0;

}

.our-experience .timeline-outer .left-line:before {
    content: '';
    position: absolute;
    display: block;
    left: 50%;
    top: 0px;
    margin-left: -8px;
    width: 16px;
    height: 16px;
    background: #e0e0e0;
    border-radius: 50%;
}

.our-experience .timeline-outer .left-line:after {
    content: '';
    position: absolute;
    display: block;
    left: 50%;
    bottom: 0px;
    margin-left: -8px;
    width: 16px;
    height: 16px;
    background: #e0e0e0;
    border-radius: 50%;
}

.our-experience .experience-block {
    position: relative;
    padding-left: 130px;
    min-height: 110px;
    margin-bottom: 40px;
}

.our-experience .experience-block:last-child {
    margin-bottom: 0px;
}

.our-experience .experience-block .image-box {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 110px;
}

.our-experience .experience-block .image-box img {
    display: block;
    width: 100%;
    border-radius: 5px;
}

.our-experience .experience-block h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #2f2f31;
}

.our-experience .experience-block .content {
}

.our-experience .experience-block .date {
    position: absolute;
    left: -135px;
    top: 50%;
    margin-top: -22px;
    width: 120px;
    line-height: 24px;
    padding: 10px;
    color: #004b56;
    text-align: center;
    font-size: 24px;
    font-weight: 700;
    border: 2px solid #e0e0e0;
    border-radius: 5px;
    background: #ffffff;
}


/*** 

====================================================================
	Accord Style
====================================================================

***/

.accordion-box {
    position: relative;
    margin-right: 0px;
}

.accordion-box .accordion {
    position: relative;
    margin-bottom: 12px;
}

.accordion-box.style-two .accordion {
    margin-bottom: 5px;
}

.accordion-box .accordion .accord-btn {
    position: relative;
    display: block;
    min-height: 60px;
    line-height: 30px;
    padding: 15px 50px 15px 20px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
    color: #2f2f31;
    cursor: pointer;
}

.accordion-box.style-two .accordion .accord-btn {
    padding: 10px 30px 10px 15px;
    min-height: 50px;
}

.accordion-box.style-three .accordion .accord-btn {
    padding: 7px 30px 7px 70px;
    min-height: 50px;
}

.accordion-box.style-three .accordion .accord-btn .icon-box {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 54px;
    height: 100%;
    border-right: 1px solid #e0e0e0;
    text-align: center;
}

.accordion-box.style-three .accordion .accord-btn .icon-box .icon {
    position: absolute;
    left: 0px;
    top: 50%;
    margin-top: -15px;
    width: 100%;
    line-height: 30px;
    height: 30px;
    font-size: 18px;
}

.accordion-box.style-three .accordion .accord-btn.active .icon-box {
    color: #009748;
    border-color: #009748;
}

.accordion-box .accordion .accord-btn h4 {
    position: relative;
    font-size: 18px;
    line-height: 30px;
    font-weight: 700;
    transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -ms-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}

.accordion-box.style-two .accordion .accord-btn h4 {
    font-size: 16px;
}

.accordion-box .accordion .accord-btn:after {
    content: '\f067';
    font-family: 'FontAwesome';
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -15px;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
    font-weight: normal;
}

.accordion-box.style-two .accordion .accord-btn:after {
    content: '\f18e';
    right: 0px;
    width: 25px;
}

.accordion-box .accordion .accord-btn.active:after {
    content: '\f068';
}

.accordion-box.style-two .accordion .accord-btn.active:after {
    content: '\f01a';
}

.accordion-box .accordion .accord-btn.active {
    color: #009748;
    border-color: #009748;
}

.accordion-box.style-two .accordion .accord-btn.active {
    color: #ffffff;
    background: #009748;
    border-color: #009748;
}

.accordion-box .accordion .accord-content {
    position: relative;
    padding: 30px 20px 20px 20px;
    border: 1px solid #e0e0e0;
    border-top: none;
    display: none;
    background: #ffffff;
}

.accordion-box.style-two .accordion .accord-content {
    padding: 10px 10px 0px;
}

.accordion-box .accordion .accord-content.collapsed {
    display: block;
}

.accordion-box .accordion .accord-content p {
    position: relative;
}

.accordion-box .image-box {
    position: relative;
    float: left;
    margin: 0px 15px 15px 0px;
    z-index: 3;
}

.accordion-box .image-box img {
    display: block;
    width: 100%;
}

.accordion-box .image-box .default-overlay-outer {
    opacity: 0;
    background: rgba(34, 53, 85, 0.90);
}

.accordion-box .image-box:hover .default-overlay-outer {
    opacity: 1;
}

/*** 

====================================================================
	Awards Section
====================================================================

***/

.awards-section {
    position: relative;
    padding: 70px 0px 20px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-attachment: fixed;
    color: #ffffff;
}

.awards-section:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: #004b56;
    opacity: 0.90;
}

.awards-section .styled-heading h2 {
    color: #ffffff;
}

.awards-section .award-column {
    position: relative;
    text-align: center;
    margin-bottom: 50px;
}

.awards-section .award-column .image-box {
    position: relative;
    margin-bottom: 25px;
}

.awards-section .award-column .image-box img {
    display: inline-block;
    max-width: 100%;
}

.awards-section .award-column h3 {
    font-size: 18px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 5px;
}

.awards-section .award-column p {
    margin-bottom: 0px;
    color: #999999;
}


/*** 

====================================================================
	Testimonials Section
====================================================================

***/

.testimonials-section {
    position: relative;
    padding: 70px 0px;
}

.testimonial-block {
    position: relative;
    margin-bottom: 60px;
}

.testimonial-block .text-content {
    position: relative;
    padding: 25px 30px;
    background: #f5f5f5;
    border-radius: 10px;
    margin-bottom: 40px;

}

.testimonial-block .text-content:after {
    content: '';
    position: absolute;
    left: 60px;
    bottom: -31px;
    width: 24px;
    height: 32px;
    background: url(../images/icons/curve.png) left top no-repeat;
}

.testimonial-block .info {
    position: relative;
    margin-left: 90px;
    padding-left: 80px;
}

.testimonial-block .info .author-thumb {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 50px;
    height: 50px;
}

.testimonial-block .info .author-thumb img {
    display: block;
    width: 50px;
}

.testimonial-block .info h4 {
    font-size: 18px;
    font-weight: 700;
    color: #2f2f31;
}

.testimonial-block .info p {
    font-size: 16px;
    color: #009748;
    font-style: italic;
    margin-bottom: 0px;
}

.loadmore-outer {
    position: relative;
    text-align: center;
}

.loadmore-outer:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    height: 1px;
    width: 100%;
    background: #e0e0e0;
}

.loadmore-outer .button-outer {
    position: relative;
    display: inline-block;
    padding: 0px 15px;
    background: #ffffff;
}

/*** 

====================================================================
	Styled Pagination
====================================================================

***/

.styled-pagination {
    position: relative;
    font-family: 'Lora', sans-serif;
}

.styled-pagination:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 50%;
    height: 1px;
    width: 100%;
    background: #e0e0e0;
}

.styled-pagination ul {
    position: relative;
    display: inline-block;
    padding: 0px 10px;
    background: #ffffff;
}

.styled-pagination li {
    position: relative;
    display: inline-block;
    margin: 5px 4px;
}

.styled-pagination li a {
    position: relative;
    display: block;
    line-height: 32px;
    padding: 5px;
    font-size: 18px;
    width: 44px;
    height: 44px;
    text-transform: uppercase;
    color: #999999;
    border: 1px solid #e0e0e0;
    text-align: center;
    border-radius: 5px;
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
}

.styled-pagination li a:hover,
.styled-pagination li.active a {
    color: #ffffff;
    border-color: #009748;
    background: #009748;
}

/*** 

====================================================================
	Gallery Section
====================================================================

***/

.gallery-section {
    position: relative;
    padding: 70px 0px;
}

.gallery-section .filter-list .portfolio-item {
    display: none;
}

.filter-btns {
    position: relative;
    margin-bottom: 50px;

}

.filter-btns li {
    position: relative;
    display: inline-block;
    padding: 8px 20px;
    line-height: 24px;
    border: 1px solid #d0d0d0;
    color: #808080;
    cursor: pointer;
    text-transform: capitalize;
    font-size: 16px;
    margin: 0px 7px 10px;
    border-radius: 5px;
}

.filter-btns li:hover,
.filter-btns li.active {
    border-color: #009748;
    color: #ffffff;
    background: #009748;
}

.portfolio-item {
    position: relative;
    margin-bottom: 40px;
}

.portfolio-item .inner-box {
    position: relative;
    border-radius: 5px;
    border: 1px solid #e0e0e0;
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    -webkit-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.10);
    -ms-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.10);
    -o-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.10);
    -moz-box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.10);
    box-shadow: 0px 0px 7px 0px rgba(0, 0, 0, 0.10);
}

.portfolio-item .image-box {
    position: relative;
    overflow: hidden;
    background: #009748;
}

.portfolio-item .image-box img {
    display: block;
    width: 100%;
    -webkit-transform: scale(1.1, 1.1);
    -ms-transform: scale(1.1, 1.1);
    -o-transform: scale(1.1, 1.1);
    -moz-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    border-radius: 5px 5px 0px 0px;
}

.portfolio-item .inner-box:hover .image-box img {
    -webkit-transform: scale(1, 1);
    -ms-transform: scale(1, 1);
    -o-transform: scale(1, 1);
    -moz-transform: scale(1, 1);
    transform: scale(1, 1);
    opacity: 0.70;
}

.portfolio-item .lower-content {
    position: relative;
    padding: 15px 20px;
    border-radius: 0px 0px 5px 5px;
    min-height: 112px;
    text-align: center;
    display: flex;
    display: -webkit-flex;
    display: -o-flex;
    display: -moz-flex;
    display: -ms-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
}

.portfolio-item .lower-content h3 {
    font-size: 18px;
    font-weight: 700;
    color: #1a1a1a;
    margin-bottom: 5px;
}

.portfolio-item .lower-content h3 a {
    color: #1a1a1a;
    transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

.portfolio-item .lower-content .desc {
    color: #009748;

    text-transform: capitalize;
}

.portfolio-item .lower-content .zoom-btn {
    position: absolute;
    right: 20px;
    top: 50%;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    text-align: center;
    color: #1a1a1a;
    font-size: 14px;
}

.portfolio-item .lower-content h3 a:hover,
.portfolio-item .lower-content .zoom-btn:hover {
    color: #009748;
}

/**** 

====================================================================
	Portfolio Details
====================================================================

***/

.portfolio-details {
    position: relative;
    padding: 70px 0px 0px;
}

.portfolio-details .image-carousel-outer {
    position: relative;
    margin-bottom: 70px;
}

.image-carousel-outer .owl-dots {
    display: none !important;
}

.image-carousel-outer .owl-controls {
    margin: 0px;
}

.image-carousel-outer .owl-prev {
    position: absolute;
    left: 10px;
    top: 50%;
    margin-top: -25px;
    width: 50px;
    height: 50px;
    padding: 0px !important;
    background: none !important;
    line-height: 50px !important;
    color: #ffffff;
    text-align: center;
    margin: 0px 0px 0px 0px !important;
}

.image-carousel-outer .owl-next {
    position: absolute;
    right: 10px;
    top: 50%;
    margin-top: -25px;
    width: 50px;
    height: 50px;
    padding: 0px !important;
    background: none !important;
    line-height: 50px !important;
    color: #ffffff;
    text-align: center;
    margin: 0px 0px 0px 0px !important;
}

.image-carousel-outer .owl-prev .fa:before,
.image-carousel-outer .owl-next .fa:before {
    line-height: 50px;
    font-size: 48px;
}

.image-carousel-outer .owl-prev:hover,
.image-carousel-outer .owl-next:hover {
    color: #004b56 !important;
}

.image-carousel-outer .post-option {
    position: absolute;
    left: 25px;
    top: 25px;
    width: 66px;
    text-align: center;
    z-index: 6;
}

.image-carousel-outer .post-option .theme-btn {
    position: relative;
    display: block;
    padding: 12px 10px;
    line-height: 20px;
    color: #ffffff;
}

.image-carousel-outer .post-option .theme-btn .fa {
    font-size: 18px;
}

.image-carousel-outer .post-option .add-fav {
    background: #009748;
}

.image-carousel-outer .post-option .share-btn {
    background: #004b56;
}

.portfolio-details .post-content {
    position: relative;
}

.portfolio-details .post-content .text {
    margin-bottom: 50px;
}

.portfolio-details .post-content .text p {
    margin-bottom: 20px;
}

.portfolio-details .post-content .post-info {
    margin-bottom: 70px;

}

.portfolio-details .post-info li {
    position: relative;
    border-bottom: 1px solid #e0e0e0;
    padding: 14px 0px 14px 30px;
    line-height: 30px;
}

.portfolio-details .post-info li:last-child {
    border-bottom: none;
}

.portfolio-details .post-info li .icon {
    position: absolute;
    left: 0px;
    top: 50%;
    margin-top: -15px;
    line-height: 30px;
    font-size: 14px;
    color: #009748;
}

.portfolio-details .post-info li .pull-left {
    position: relative;
    color: #2f2f31;
}

.portfolio-details .post-controls {
    position: relative;
    text-align: center;
    padding: 25px 0px;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;

}

.portfolio-details .post-controls ul {
    position: relative;
    line-height: 30px;
    padding: 0px 90px;
    text-align: center;
}

.portfolio-details .post-controls ul li {
    display: inline-block;
}

.portfolio-details .post-controls ul li a {
    color: #004b56;
    line-height: 30px;
}

.portfolio-details .post-controls .prev {
    position: absolute;
    left: 0px;
    top: 0px;
    line-height: 30px;
    color: #004b56;
}

.portfolio-details .post-controls .next {
    position: absolute;
    right: 0px;
    top: 0px;
    line-height: 30px;
    color: #004b56;
}

.portfolio-details .post-controls .icon {
    font-size: 24px;
    line-height: 30px;
}

.portfolio-details .post-controls ul li a:hover {
    color: #009748;
}

.related-cases {
    position: relative;
    padding: 70px 0px 40px;
}

/**** 

====================================================================
	Error Section
====================================================================

***/

.error-section {
    position: relative;
    padding: 80px 0px 0px;
}

.error-section .text-content {
    position: relative;
    padding: 80px 0px 100px;
    max-width: 480px;

}

.error-section .auto-container {
    position: relative;
}

.error-section .image-box {
    position: absolute;
    right: 15px;
    bottom: 0px;
    text-align: right;
}

.error-section .image-box img {
    display: inline-block;
    max-width: 100%;
}

.error-section .bigger-text {
    font-size: 200px;
    margin-bottom: 20px;
    line-height: 200px;
    font-weight: 700;
    color: #2f2f31;
}

.error-section .medium-text {
    font-size: 30px;
    margin-bottom: 20px;
    line-height: 40px;
    color: #2f2f31;
    font-weight: 700;
}

.error-section .text {
    margin-bottom: 40px;
}

/*** 

====================================================================
	Sidebar
====================================================================

***/

.sidebar-page-container {
    position: relative;
    padding: 70px 0px 0px;
}

.sidebar-page-container .sidebar {
    margin-bottom: 30px;
}

.sidebar .styled-heading h2 {
    font-size: 24px;
}

.sidebar .sidebar-widget {
    position: relative;
    margin-bottom: 50px;
}

.sidebar .boxed-nav {
    position: relative;
}

.sidebar .boxed-nav .nav-outer {
    position: relative;
    border: 1px solid #e0e0e0;

    border-radius: 5px;
}

.sidebar .boxed-nav ul li {
    position: relative;
}

.sidebar .boxed-nav ul li:last-child a {
    border: none;
}

.sidebar .boxed-nav li a {
    position: relative;
    display: block;
    line-height: 30px;
    padding: 10px 15px;
    text-transform: uppercase;
    color: #2f2f31;
    font-size: 14px;
    font-weight: 700;
    border-bottom: 1px solid #e0e0e0;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
}

.sidebar .boxed-nav li:hover a,
.sidebar .boxed-nav li.current a {
    background: #009748;
    color: #ffffff;
    border-color: #009748;
}

.sidebar .downloads li {
    position: relative;
    margin-bottom: 12px;

}

.sidebar .downloads li a {
    position: relative;
    display: block;
    padding: 10px 10px 10px 70px;
    color: #999999;
    border: 1px solid #e0e0e0;
    line-height: 30px;
}

.sidebar .downloads li a:hover {
    background: #f5f5f5;
    color: #009748;
}

.sidebar .downloads li a .icon {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 18px;
    border-right: 1px solid #e0e0e0;
}

.sidebar .styled-nav {
    position: relative;
}

.sidebar .styled-nav .nav-outer {
    position: relative;

}

.sidebar .styled-nav ul li {
    position: relative;
    margin-bottom: 2px;
}

.sidebar .styled-nav ul li:last-child {
    margin-bottom: 0px;
}

.sidebar .styled-nav li a {
    position: relative;
    display: block;
    line-height: 30px;
    padding: 10px 15px;
    text-transform: capitalize;
    color: #2f2f31;
    background: #f5f5f5;
    font-size: 14px;
    font-weight: 700;
    border: 1px solid #e0e0e0;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
    -o-transition: all 300ms ease;
}

.sidebar .styled-nav li:hover a,
.sidebar .styled-nav li.current a {
    color: #009748;
    background: #ffffff;
}

.sidebar .search-box .form-group {
    position: relative;
    margin: 0px;
}

.sidebar .search-box .form-group input[type="text"],
.sidebar .search-box .form-group input[type="search"] {
    height: 50px;
    position: relative;
    line-height: 26px;
    padding: 10px 30px 10px 15px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
    color: #3a3a3a;
    display: block;
    width: 100%;
    border-radius: 3px;
    transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
}

.sidebar .search-box .form-group input:focus {
    border-color: #009748;
}

.sidebar .search-box .form-group button {
    position: absolute;
    right: 0px;
    top: 0px;
    height: 48px;
    width: 30px;
    line-height: 48px;
    text-align: left;
    display: block;
    font-size: 14px;
    color: #cccccc;
    background: none;
}

.sidebar .search-box .form-group input:focus + button,
.sidebar .search-box .form-group button:hover {
    color: #009748;
}

.sidebar .recent-posts .post {
    position: relative;
    font-size: 14px;
    margin-bottom: 20px;
    min-height: 60px;
    padding: 0px 0px 0px 80px;
    color: #cccccc;
}

.sidebar .recent-posts .post .post-thumb {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 64px;
    height: 64px;
}

.sidebar .recent-posts .post .post-thumb img {
    width: 100%;
    display: block;
    border-radius: 5px;
}

.sidebar .recent-posts .post h4 {
    font-size: 14px;
    font-weight: 500;
    margin: 0px 0px 5px;
    line-height: 1.4em;
    color: #292929;
    font-family: 'Inter', sans-serif;
}

.sidebar .recent-posts .post a,
.sidebar .recent-posts .post a:hover {
    color: #009748;
}

.sidebar .recent-posts .post h4 a {
    color: #777777;
}

.sidebar .recent-posts .post-info {
    color: #009748;

}

.sidebar .recent-posts .post-info .icon {
    padding-right: 5px;
}

.sidebar .popular-tags a {
    position: relative;
    display: inline-block;
    line-height: 24px;

    padding: 7px 15px;
    margin: 0px 5px 12px 0px;
    border: 1px solid rgba(0, 0, 0, 0.10);
    background: #ffffff;
    color: #1a1a1a;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    border-radius: 3px;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.sidebar .popular-tags a:hover {
    background-color: #f5f5f5;
    border-color: #f5f5f5;
    color: #009748;
}

.sidebar .list {
    position: relative;

}

.sidebar .list li {
    position: relative;
    margin-bottom: 10px;
    line-height: 32px;
}

.sidebar .list.style-two li {
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 0px;
}

.sidebar .list.style-two li a {
    margin: 10px 0px;
}

.sidebar .list li .count {
    position: relative;
}

.sidebar .list li a {
    position: relative;
    display: block;
    color: #3d3d3d;
    font-size: 16px;
    font-weight: 400;
    padding-left: 20px;
}


.sidebar .list li:before {
    font-family: 'FontAwesome';
    content: '\f105';
    position: absolute;
    left: 0px;
    top: 0px;
    display: block;
    font-size: 18px;
    line-height: 32px;
    color: #009748;

}

.sidebar .list li a:hover {
    color: #009748;
}

.sidebar .instagram-gallery {
    position: relative;
}

.sidebar .instagram-gallery .images-outer {
    position: relative;
    margin-left: -5px;
    margin-right: -5px;
}

.sidebar .instagram-gallery .image {
    position: relative;
    float: left;
    width: 33.333%;
    padding: 5px;
}

.sidebar .instagram-gallery .image img {
    position: relative;
    display: block;
    width: 100%;
    border-radius: 3px;
}

.sidebar .latest-tweets {
    position: relative;

}

.sidebar .latest-tweets .owl-dots {
    display: none !important;
}

.sidebar .latest-tweets .owl-nav {
    position: absolute;
    right: 0px;
    bottom: -50px;
}

.sidebar .latest-tweets .widget-bottom {
    padding: 10px 0px;
    border-top: 1px solid #e0e0e0;
}

.sidebar .latest-tweets .widget-bottom a {
    color: #707070;
}

.sidebar .latest-tweets .time {
    color: #009748;
    margin-bottom: 5px;
}

.sidebar .latest-tweets .owl-prev {
    width: 20px;
    height: 20px;
    padding: 0px !important;
    background: none !important;
    line-height: 20px !important;
    color: #707070 !important;
    text-align: center;
    margin: 0px 0px 0px 0px !important;
}

.sidebar .latest-tweets .owl-next {
    width: 20px;
    height: 20px;
    padding: 0px !important;
    background: none !important;
    line-height: 20px !important;
    color: #707070 !important;
    text-align: center;
    margin: 0px 0px 0px 0px !important;
}

.sidebar .latest-tweets .owl-prev .fa:before,
.sidebar .latest-tweets .owl-next .fa:before {
    line-height: 24px;
    font-size: 24px;
}

.sidebar .latest-tweets .owl-prev:hover,
.sidebar .latest-tweets .owl-next:hover {
    color: #009748 !important;
}


.rangeslider-widget .val-box {
    position: relative;
    display: inline-block;
    margin: 7px 5px 7px 0px;
    line-height: 24px;
    font-size: 14px;
    border: 1px solid #dadada;
    padding: 8px 10px;
    width: 80px;
    text-align: center;
}

.rangeslider-widget button {
    position: relative;
    display: inline-block;
    line-height: 24px;
    border: 1px solid #004b56;
    padding: 8px 25px;
    background: #004b56;
    color: #ffffff;
    border-radius: 5px;

}

.rangeslider-widget .noUi-connect {
    background: #009748 !important;
}

.rangeslider-widget .noUi-background {
    background: #ededed !important;
}

.rangeslider-widget .noUi-handle {
    background: #f4f4f4 !important;
    border-radius: 5px !important;
    box-shadow: none;
    border-color: #e0e0e0;
    cursor: pointer;
}

.sidebar .best-sellers .item {
    position: relative;
    font-size: 16px;
    margin-bottom: 30px;
    min-height: 90px;
    padding: 0px 0px 0px 90px;
    color: #cccccc;
}

.sidebar .best-sellers .item .post-thumb {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 72px;
    height: 90px;
}

.sidebar .best-sellers .item .post-thumb img {
    width: 100%;
    display: block;
}

.sidebar .best-sellers .item h4 {
    font-size: 18px;
    font-weight: 700;
    margin: 0px 0px;
    line-height: 1.4em;
    color: #2f2f31;
    font-family: 'Inter', sans-serif;
}

.sidebar .best-sellers .item a,
.sidebar .best-sellers .item a:hover {
    color: #009748;
}

.sidebar .best-sellers .item h4 a {
    color: #2f2f31;
}

.sidebar .best-sellers .item .rating {
    font-size: 11px;
    color: #004b56;
}

.sidebar .best-sellers .item .item-price {
    font-size: 18px;
    font-weight: 700;
    color: #009748;
}


/*** 

====================================================================
	Law Section / Details
====================================================================

***/

.law-section .carousel-outer {
    position: relative;
}

.law-section .carousel-outer img {
    display: block;
    width: 100%;
    height: auto;
}

.law-section .carousel-outer .owl-controls {
    margin: 0px;
}

.law-section .carousel-outer .owl-nav {
    display: none;
}

.law-section .carousel-outer .owl-dots {
    position: absolute;
    left: 0px;
    bottom: 5px;
    width: 100%;
    z-index: 20;
}

.law-section .carousel-outer .owl-dots .owl-dot span {
    border: 1px solid #ffffff;
    background: none;
    margin: 0px 5px;
}

.law-section .carousel-outer .owl-dots .owl-dot.active span,
.law-section .carousel-outer .owl-dots .owl-dot:hover span {
    background: #ffffff;
}

.law-section .law-upper {
    position: relative;
    margin-bottom: 50px;
    background: #004b56;
}

.law-section .law-upper .specs-box {
    position: relative;
    padding: 40px 0px 20px;
    color: #ffffff;
    font-size: 18px;
}

.law-section p {
    margin-bottom: 20px;
}

.law-section .about-law {
    margin-bottom: 50px;
}

.law-section .law-upper .specs-box h2 {
    font-size: 24px;
    font-weight: 700;
    color: #ffffff;
    margin-bottom: 25px;
}

.styled-list-one {
    position: relative;

}

.styled-list-one li {
    position: relative;
    padding-left: 35px;
    margin-bottom: 14px;
    line-height: 30px;
}

.styled-list-one li:last-child {
    margin-bottom: 0px;
}

.styled-list-one li:before {
    font-family: 'FontAwesome';
    content: '\f178';
    position: absolute;
    left: 0px;
    top: 0px;
    display: block;
    line-height: 30px;
    color: #009748;
}

.styled-list-two {
    position: relative;

}

.styled-list-two li {
    position: relative;
    padding-left: 25px;
    margin-bottom: 10px;
    line-height: 30px;
}

.styled-list-two li:last-child {
    margin-bottom: 0px;
}

.styled-list-two li:before {
    font-family: 'FontAwesome';
    content: '\f0da';
    position: absolute;
    left: 5px;
    top: 0px;
    display: block;
    font-size: 14px;
    line-height: 30px;
}

.law-section .default-two-column {
    margin-bottom: 50px;
}

.boxed-column {
    position: relative;
    border: 1px solid #e0e0e0;
    padding: 0px 10px 15px;
    margin-bottom: 30px;
}

.boxed-column h4 {
    position: relative;
    font-size: 18px;
    font-weight: 700;
    top: -15px;
    margin-left: -5px;
    background: #ffffff;
    display: inline-block;
    padding: 0px 10px;
    color: #2f2f31;
    margin-bottom: 0px;
}

/*** 

====================================================================
	Parctice Areas Section
====================================================================

***/

.practice-areas {
    position: relative;
    padding-bottom: 30px;
}

.practice-column {
    position: relative;
    margin-bottom: 50px;
    text-align: center;
}

.practice-column .inner-box {
    position: relative;
    background: #f5f5f5;
    border: 1px solid #e0e0e0;
}

.practice-column .image-box {
    position: relative;
}

.practice-column .image-box img {
    display: block;
    width: 100%;
}

.practice-column .icon-box {
    position: relative;
    width: 72px;
    height: 72px;
    background: #ffffff;
    font-size: 36px;
    line-height: 68px;
    margin: -37px auto 10px;
    color: #009748;
    border: 2px solid #009748;
    border-radius: 50%;
    -ms-border-radius: 50%;
    z-index: 1;
}

.practice-column .lower-content {
    position: relative;
    padding: 0px 8px 20px;
    min-height: 260px;
}

.practice-column h3 {
    font-size: 18px;
    color: #2f2f31;
    font-weight: 700;
    margin-bottom: 12px;
}

.practice-column h3 a {
    color: #2f2f31;
}

.practice-column h3 a:hover {
    color: #009748;
}

/*** 

====================================================================
	Single Attorney Section
====================================================================

***/

.attorney-single {
    position: relative;
    padding-bottom: 40px;
}

.attorney-single .basic-details {
    position: relative;
    margin-bottom: 40px;
}

.attorney-single .image-column,
.attorney-single .info-column {
    margin-bottom: 20px;
}

.attorney-single .basic-details .info-header {
    position: relative;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.attorney-single .styled-heading h2 {
    font-size: 24px;
}

.attorney-single .basic-details .text {
    margin-bottom: 20px;
}

.attorney-single .basic-details .info-header h3 {
    font-size: 18px;
    color: #2f2f31;
    font-weight: 700;
    text-transform: uppercase;
}

.attorney-single .basic-details .info-header .designation {
    font-size: 16px;
    line-height: 20px;
    color: #009748;
    text-transform: capitalize;
    font-style: italic;
    font-family: 'Inter', serif;
}

.attorney-single .basic-details .social-links {
    position: relative;
}

.attorney-single .basic-details .social-links a {
    position: relative;
    display: inline-block;
    width: 44px;
    height: 44px;
    font-size: 14px;
    margin: 0px 3px 5px;
    line-height: 42px;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #e1e1e1;
    color: #909090;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.attorney-single .basic-details .social-links a:hover {
    background-color: #009748;
    color: #ffffff;
    border-color: #009748;
}

.attorney-single .basic-details .contact-info {
    position: relative;

}

.attorney-single .basic-details .contact-info li {
    position: relative;
    padding-left: 30px;
    line-height: 20px;
}

.attorney-single .basic-details .contact-info a {
    color: #004b56;
    text-decoration: underline;
    font-size: 16px;
}

.attorney-single .basic-details .contact-info li .icon {
    position: absolute;
    left: 0px;
    top: 0px;
    line-height: 20px;
    color: #009748;
    width: 20px;
}

.attorney-single .education-info,
.attorney-single .court-info,
.attorney-single .awards-info,
.attorney-single .professional-info,
.attorney-single .bars-info {
    margin-bottom: 40px;
}


.styled-list-three {
    position: relative;

}

.styled-list-three li {
    position: relative;
    padding-left: 40px;
    margin-bottom: 7px;
    line-height: 30px;
}

.attorney-single .styled-list-three li {
    margin-bottom: 15px;
}

.attorney-single .professional-info .styled-list-three li {
    margin-bottom: 5px;
}

.attorney-single .styled-list-three li strong {
    font-family: 'Inter', sans-serif;
    color: #2f2f31;
}

.styled-list-three li:last-child {
    margin-bottom: 0px;
}

.styled-list-three li:before {
    font-family: 'FontAwesome';
    content: '\f27e';
    position: absolute;
    left: 5px;
    top: 0px;
    display: block;
    font-size: 18px;
    line-height: 30px;
    color: #009748;
}

/*** 

====================================================================
	Tabs Style
====================================================================

***/

.tabs-section {
    position: relative;
    padding: 70px 0px;
}

.tabs-box {
    position: relative;
}

.tabs-box .tab-buttons {
    position: relative;
}

.tabs-box.style-one .tab-buttons {
    margin-bottom: 50px;
}

.tabs-box.style-one .tab-buttons .tab-btn {
    position: relative;
    display: inline-block;
    line-height: 24px;
    padding: 12px 25px;
    margin: 0px 5px 10px;
    background: #f5f5f5;
    border-radius: 5px;
    font-weight: 700;
    font-size: 16px;
    cursor: pointer;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.tabs-box.style-one .tab-buttons .tab-btn:hover,
.tabs-box.style-one .tab-buttons .tab-btn.active-btn {
    background: #004b56;
    color: #ffffff;
}

.tabs-box .tab {
    display: none;
}

.tabs-box .tab.active-tab {
    display: block;
}

/*** 

====================================================================
	Default Form Section
====================================================================

***/

.default-form-section {
    position: relative;
    background: #ffffff;
    padding: 70px 0px 50px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    overflow: hidden;
}

.default-form-section:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
    background: #f5f5f5;
    opacity: 0.80;
}

.default-form-section .auto-container {
    position: relative;
    z-index: 1;
}

/*** 

====================================================================
	Products Section style
====================================================================

***/

.products-section {
    position: relative;
    background: #ffffff;
    padding: 70px 0px;
}

.products-section .shop-upper-box {
    position: relative;
    margin-bottom: 40px;

}

.products-section .shop-upper-box .items-label {
    position: relative;
    padding: 7px 0px;
    line-height: 30px;
}

.products-section .shop-upper-box .sort-by select {
    position: relative;
    display: block;
    line-height: 24px;
    padding: 9px 10px;
    width: 240px;
    cursor: pointer;
    border: 1px solid #dadada;
    background: #ffffff url(../images/icons/icon-dropdown.png) right center no-repeat;
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
}

.products-section .shop-upper-box .sort-by select option {
    text-indent: 10px;
}

.default-product-item {
    position: relative;
    margin-bottom: 40px;
}

.default-product-item .image-box {
    position: relative;
    overflow: hidden;
    margin-bottom: 20px;
}

.default-product-item .image-box img {
    display: block;
    width: 100%;
}

.default-product-item .default-overlay-outer {
    opacity: 0;
    top: -100%;
    background: rgba(54, 53, 85, 0.90);
}

.default-product-item:hover .default-overlay-outer {
    top: 0;
    opacity: 1;
}

.default-product-item .content-box {
    position: relative;
}

.default-product-item .content-box h4 {
    font-size: 18px;
    font-weight: 700;
    margin: 0px 0px;
    line-height: 1.4em;
    color: #2f2f31;
    font-family: 'Inter', sans-serif;
    margin-bottom: 3px;
}

.default-product-item .content-box a,
.default-product-item .content-boxa:hover {
    color: #009748;
}

.default-product-item .content-box h4 a {
    color: #2f2f31;
}

.default-product-item .content-box .rating {
    font-size: 11px;
    color: #004b56;
    margin-bottom: 15px;
}

.default-product-item .content-box .item-price {
    font-size: 18px;
    font-weight: 700;
    color: #009748;
    line-height: 24px;
}

.default-product-item .content-box .item-price .strike-through {
    color: #999999;
    font-weight: normal;
    font-size: 14px;
    padding-left: 10px;
    line-height: 20px;

}

/*** 

====================================================================
	Products Details style
====================================================================

***/

.product-details .basic-details {
    position: relative;
    margin-bottom: 50px;
}

.product-details .image-column,
.product-details .info-column {
    margin-bottom: 20px;
}

.product-details .basic-details .details-header {
    position: relative;
    border-bottom: 1px solid #e0e0e0;
    margin-bottom: 20px;
    padding-bottom: 20px;
    text-align: justify;
}

.product-details .basic-details .details-header h4 {
    font-size: 24px;
    font-weight: 700;
    margin: 0px 0px;
    line-height: 1.4em;
    color: #2f2f31;
    font-family: 'Inter', sans-serif;
    margin-bottom: 3px;
}

.product-details .basic-details .details-header h4 a {
    color: #2f2f31;
}

.product-details .basic-details .details-header .rating {
    font-size: 11px;
    color: #004b56;
    margin-bottom: 15px;
}

.product-details .basic-details .details-header .rating .txt {
    font-size: 14px;
    padding-left: 10px;
}

.product-details .basic-details .details-header .item-price {
    font-size: 24px;
    font-weight: 700;
    color: #009748;
    line-height: 24px;
}

.product-details .basic-details .text {
    margin-bottom: 20px;
}

.product-details .basic-details .check-delivery {
    position: relative;
    margin-bottom: 30px;
}

.product-details .basic-details .check-delivery h4 {
    font-size: 14px;
    color: #2f2f31;
    font-weight: 700;
    margin-bottom: 15px;
}

.product-details .basic-details .check-delivery .form-group {
    position: relative;
    float: left;
    margin-right: 10px;
}

.product-details .basic-details .check-delivery .form-group input[type="text"] {
    display: block;
    line-height: 24px;
    padding: 7px 10px;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    width: 170px;
    background: none;
}

.product-details .basic-details .check-delivery .form-group button {
    display: block;
    line-height: 24px;
    padding: 7px 20px;
    border: 1px solid #e0e0e0;
    background: #f5f5f5;
    color: #777777;
    font-size: 14px;
    border-radius: 5px;
}

.product-details .basic-details .item-quantity {
    position: relative;
    top: 4px;
    width: 120px;
}

.product-details .basic-details .item-quantity input[type="text"] {
    position: relative;
    line-height: 40px;
}

.product-details .basic-details .check-delivery .field-label {
    font-weight: 700;
    font-size: 14px;
    line-height: 40px;
    color: #009748;
}

/*** 

====================================================================
	Product Tabs Style
====================================================================

***/

.prod-tabs {
    position: relative;
}

.prod-tabs .tab-btns {
    position: relative;
    top: 1px;
    z-index: 1;
}

.prod-tabs .tab-btns .tab-btn {
    position: relative;
    display: block;
    float: left;
    font-size: 15px;
    color: #3d3d3d;
    text-transform: uppercase;
    font-weight: 600;
    padding: 10px 30px;
    border: 1px solid transparent;
    border-top-width: 3px;
    margin-right: 3px;
}

.prod-tabs .tab-btns .tab-btn:hover,
.prod-tabs .tab-btns .tab-btn.active-btn {
    border-color: #e0e0e0;
    border-top-color: #009748;
    border-bottom-color: #ffffff;
    color: #009748;
}

.prod-tabs .tabs-container {
    position: relative;
    border: 1px solid #e0e0e0;
    color: #000000;
}

.prod-tabs .tabs-container .tab {
    position: relative;
    padding: 40px 25px;
    display: none;

}

.prod-tabs .tabs-container .tab.active-tab {
    display: block;
}

.prod-tabs .tabs-container .tab p,
.prod-tabs .tabs-container .tab h2,
.prod-tabs .tabs-container .tab h3,
.prod-tabs .tabs-container .tab h4,
.prod-tabs .tabs-container .tab h5,
.prod-tabs .tabs-container .tab h6 {
    margin-bottom: 15px;
}


.prod-tabs .tabs-container .tab h3 {
    font-size: 18px;
    font-weight: 700;

}

.prod-tabs .tabs-container .tab h4 {
    font-size: 16px;
    font-weight: 700;

}

.prod-tabs .reviews-container {
    position: relative;
}

.prod-tabs .reviews-container .review-box {
    position: relative;
    margin-bottom: 30px;
    padding-left: 100px;
    min-height: 100px;
}

.prod-tabs .reviews-container .rev-thumb {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 82px;
    height: 82px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
}

.prod-tabs .reviews-container .rev-thumb img {
    display: block;
    width: 80px;
    height: 80px;
}

.prod-tabs .reviews-container .rev-content {
    position: relative;
    padding: 15px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
}

.prod-tabs .reviews-container .rating {
    color: #ffa500;
    font-size: 14px;
    margin-bottom: 5px;
}

.prod-tabs .reviews-container .rev-info {
    font-size: 12px;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

.prod-tabs .reviews-container .rev-text {
    font-size: 14px;
}

.prod-tabs .add-review {
    position: relative;
    margin: 30px 0px 20px;
    font-size: 14px;
}

.prod-tabs .add-review .rating {
    position: relative;
}

.prod-tabs .add-review .rating .rate-box {
    position: relative;
    display: inline-block;
    margin-right: 10px;
    font-size: 14px;
    color: #5a5a5a;
}

.prod-tabs .add-review .rating .rate-box:hover,
.prod-tabs .add-review .rating .rate-box:focus,
.prod-tabs .add-review .rating .rate-box:active {
    color: #ffa500;
}

.prod-tabs .add-review label {
    position: relative;
    display: block;
    font-size: 14px;
    margin-bottom: 5px;
    font-weight: 400;
    color: #303030;
}

.prod-tabs .add-review h3 {
    margin-bottom: 20px;
}

.prod-tabs .add-review .form-group {
    position: relative;
    margin-bottom: 20px;
}

.prod-tabs .add-review .form-group input[type="text"],
.prod-tabs .add-review .form-group input[type="password"],
.prod-tabs .add-review .form-group input[type="tel"],
.prod-tabs .add-review .form-group input[type="email"],
.prod-tabs .add-review .form-group select {
    position: relative;
    display: block;
    width: 100%;
    line-height: 22px;
    padding: 9px 15px;
    color: #222222;
    border: 1px solid #e0e0e0;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.prod-tabs .add-review .form-group textarea {
    position: relative;
    display: block;
    width: 100%;
    line-height: 22px;
    padding: 8px 15px;
    color: #222222;
    border: 1px solid #e0e0e0;
    height: 200px;
    resize: none;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.prod-tabs .add-review button {
    position: relative;
    display: inline-block;
    background: #3d3d3d;
    color: #ffffff;
    padding: 7px 32px;
    line-height: 24px;
    font-size: 14px;
    font-weight: 500;
}

.prod-tabs .add-review button:before {
    background: #009748;
}

.related-products {
    position: relative;
    padding: 70px 0px 40px;
}

/*** 

====================================================================
	Contact Section
====================================================================

***/

.contact-section {
    position: relative;
    padding: 70px 0px 0px;
}

.contact-section .column {
    position: relative;
    margin-bottom: 50px;
}

.contact-section .default-form button {
    padding: 10px 30px;
}

.contact-form .form-group {
    margin-bottom: 30px;
}

.has-error .form-control,
.contact-form .form-group.has-error,
#openFormId .form-group.has-error input,
.contact-form .form-group.has-error input,
.has-error .select2-container--krajee .select2-selection--single {
    border-color: #ff0000 !important;
    color: #ff0000 !important;
}

.btn.btn-primary.btn-file {
    background: #004b56;
    line-height: 38px;
}

.contact-section .contact-info {
    position: relative;
    margin-bottom: 30px;
}

.contact-section .contact-info h3 {
    font-size: 18px;
    font-weight: 700;
    margin-bottom: 15px;
    color: #2f2f31;
}

.contact-section .contact-info .icon {
    font-size: 18px;
    font-weight: normal;
    padding-right: 7px;
    color: #009748;
}

.contact-section .contact-info .info-block {
    margin-bottom: 25px;
}

.contact-section .contact-info .text {
    position: relative;

    margin-bottom: 10px;
    color: #999999;
}

.contact-section .contact-info .hours-list li {
    position: relative;
    margin-bottom: 4px;

}

.contact-section .contact-info .hours-list .col {
    position: relative;
    display: block;
    float: left;
    width: 50%;
}

/*** 

====================================================================
	Login / Register Section
====================================================================

***/

.register-section {
    position: relative;
    padding: 70px 0px 20px;
}

.register-section .form-column {
    margin-bottom: 50px;
}

.styled-form {
    position: relative;
}

.styled-form .form-group {
    position: relative;
    margin-bottom: 30px;
    font-size: 14px;
}

.styled-form .pull-left label,
.styled-form .pull-right label {
    cursor: pointer;
}

.styled-form .form-group .adon-icon {
    position: absolute;
    top: 50%;
    margin-top: -10px;
    right: 10px;
    width: 20px;
    height: 20px;
    line-height: 20px;
    font-size: 14px;
    color: #999999;
    z-index: 2;
}

.styled-form input[type="text"],
.styled-form input[type="email"],
.styled-form input[type="password"],
.styled-form input[type="tel"],
.styled-form input[type="number"],
.styled-form input[type="url"],
.styled-form select,
.styled-form textarea {
    position: relative;
    display: block;
    width: 100%;
    background: #ffffff;
    line-height: 30px;
    padding: 8px 20px;
    height: 48px;
    border: 1px solid #e0e0e0;
    border-radius: 5px;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.styled-form select {
    -webkit-appearance: none;
    -ms-appearance: none;
    -moz-appearance: none;
    -o-appearance: none;
    background: #ffffff url(../images/icons/icon-dropdown.png) right center no-repeat;
    cursor: pointer;
}

.styled-form select option {
    text-indent: 20px;
}

.styled-form textarea {
    resize: none;
    height: 110px;
}

.styled-form input:focus,
.styled-form select:focus,
.styled-form textarea:focus {
    border-color: #009748;
}

.styled-form .forgot {
    font-size: 14px;
}

.social-links-two a {
    position: relative;
    display: inline-block;
    font-size: 14px;
    width: 42px;
    height: 42px;
    line-height: 42px;
    text-align: center;
    color: #ffffff;
    background: #004b56;
    margin: 0px 0px 0px 15px;
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.social-links-two a:hover {
    opacity: 0.80;
}

.social-links-two .facebook {
    background: #3b5998;
}

.social-links-two .twitter {
    background: #33ccfe;
}

.social-links-two .google-plus {
    background: #dd4b39;
}


/*** 

====================================================================
	Cart Section style
====================================================================

***/

.cart-section {
    position: relative;
    padding: 70px 0px;
}

.cart-section .cart-outer {
    position: relative;
}

.cart-section .table-outer {
    position: relative;
    width: 100%;
    overflow-x: auto;
}

.cart-section .cart-table {
    width: 100%;
    min-width: 900px;
}

.cart-table .cart-header {
    position: relative;
    width: 100%;
    font-family: 'Lora', sans-serif;
    text-transform: uppercase;
    font-size: 16px;
    border-radius: 7px;
    background: #f5f5f5;
    color: #2f2f31;
}

.cart-table thead tr th {
    line-height: 24px;
    padding: 20px 15px;
    min-width: 120px;
    font-weight: 700;
}

.cart-table thead tr th.prod-column {
    text-align: left;
    padding-left: 40px;
}

.cart-table tbody tr td {
    line-height: 24px;
    padding: 30px 10px 20px;
    min-width: 100px;

}

.cart-table tbody tr .qty {
    width: 120px;
    padding-right: 20px;
}

.cart-table tbody tr .qty .quantity-spinner {
    background: #f5f5f5;
}

.cart-table tbody tr .prod-column .column-box {
    position: relative;
    min-height: 90px;
    padding-left: 100px;
    padding-top: 15px;
    text-align: left;
}

.cart-table tbody tr .prod-column .column-box .prod-thumb {
    position: absolute;
    left: 0px;
    top: 0px;
}

.cart-table tbody tr .prod-column .column-box .prod-thumb img {
    display: block;
    max-width: 100%;
}

.cart-table tbody tr .prod-column .column-box h3 {
    font-size: 18px;
    color: #2f2f31;
    font-weight: 700;
    margin-bottom: 5px;
}

.cart-table tbody tr .sub-total {
    font-weight: 700;
    color: #004b56;
}

.cart-table tbody tr .remove-btn {
    position: relative;
    font-size: 16px;
    color: #282828;
    line-height: 30px;
    -webkit-transition: all 500ms ease;
    -ms-transition: all 500ms ease;
    -o-transition: all 500ms ease;
    -moz-transition: all 500ms ease;
    transition: all 500ms ease;
}

.cart-table tbody tr .remove-btn .fa {
    position: relative;
    top: 2px;
    padding-right: 10px;
    font-size: 24px;
    line-height: 30px;
}

.cart-table tbody tr .remove-btn:hover {
    color: #ec1c33;
}

.cart-table tbody tr {
    border-bottom: 1px solid #e9e9e9;
}

.cart-table tbody tr td {
    vertical-align: middle;
}

.cart-table tbody tr td .quantity-spinner {
    padding: 5px 0px 5px 20px;
    line-height: 24px;
    height: 34px;
    display: block;
    width: 100%;
    position: relative;
}

.cart-table tbody .available-info {
    position: relative;
    padding-left: 50px;
}

.cart-table tbody .available-info .icon {
    position: absolute;
    left: 0px;
    top: 5px;
    width: 40px;
    height: 40px;
    line-height: 40px;
    text-align: center;
    font-size: 18px;
    color: #ffffff;
    background: #004b56;
    border-radius: 50%;
}

.cart-section .apply-coupon {
    position: relative;
}

.cart-section .apply-coupon .form-group {
    position: relative;
    float: left;
    margin-right: 10px;
}

.cart-section .apply-coupon .form-group input[type="text"] {
    display: block;
    line-height: 24px;
    padding: 9px 10px;
    border: 1px solid #e0e0e0;
    border-radius: 3px;
    width: 230px;
    background: none;
}

.cart-section .estimate-form {
    position: relative;
}

.cart-section h3 {
    font-size: 24px;
    font-weight: 700;
    color: #2f2f31;
    margin-bottom: 30px;
}

.cart-section .estimate-form .row {
    margin-left: -7px;
    margin-right: -7px;
}

.cart-section .estimate-form .row .form-group {
    padding: 0px 7px !important;
    margin-bottom: 30px;
}

.cart-section .totals-table {
    position: relative;
    border: 1px solid #e0e0e0;

    border-radius: 5px;
}

.cart-section .totals-table .col {
    position: relative;
    display: block;
    float: left;
    padding: 10px 15px;
    line-height: 24px;
    width: 50%;
}

.cart-section .totals-table .col-title {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #353535;
    border-right: 1px solid #e0e0e0;
    font-weight: 700;
}

.cart-section .totals-table li {
    position: relative;
    border-bottom: 1px solid #e0e0e0;
}

.cart-section .totals-table li:last-child {
    border-bottom: none;
}


/*** 

====================================================================
	Checkout Style
====================================================================

***/

.checkout-section {
    position: relative;
    padding: 70px 0px;
}

.checkout-section .cart-table {
    width: 100%;
    min-width: 500px;
}

.checkout-section .form-column {
    margin-bottom: 50px;
}

.checkout-section .default-form .form-group {
    margin-bottom: 20px;
}

.checkout-section .default-form .form-group .field-label {
    margin-bottom: 10px;
    font-weight: 700;
}

.checkout-section .default-form .form-group input,
.checkout-section .default-form .form-group select,
.checkout-section .default-form .form-group textarea {
    border-radius: 3px;
    height: 48px;
    padding: 8px 15px;
    line-height: 30px;
}

.checkout-section .default-form .form-group textarea {
    height: 154px;
}

.checkout-section .totals-table {
    margin-bottom: 30px;
}

.checkout-section .payment-options {
    position: relative;
}

.checkout-section .payment-options .option-block {
    position: relative;
    margin-bottom: 10px;
}

.checkout-section .payment-options .text {
    position: relative;
    padding-left: 30px;
    margin-bottom: 20px;
    font-size: 16px;
}

.checkout-section .payment-options .option-block .radio-block {
    position: relative;
}

.checkout-section .payment-options .option-block .radio-block input[type="radio"] {
    position: absolute;
    left: 0px;
    top: 7px;
    opacity: 0;
}

.checkout-section .payment-options .option-block .radio-label {
    position: relative;
    display: block;
    padding-left: 30px;
    line-height: 30px;
    font-size: 16px;
    font-weight: 700;
    color: #2f2f31;
    text-transform: capitalize;
    cursor: pointer;
}

.checkout-section .payment-options .option-block .radio-label:before {
    content: '';
    position: absolute;
    left: 0px;
    top: 7px;
    display: block;
    width: 16px;
    height: 16px;
    border: 1px solid #e0e0e0;
    background: #ffffff;
}

.checkout-section .payment-options .option-block .radio-block input[type="radio"]:checked + .radio-label:before {
    border-color: #009748;
}

.checkout-section .payment-options .option-block .radio-label:after {
    content: '';
    position: absolute;
    top: 11px;
    left: 4px;
    display: block;
    width: 8px;
    height: 8px;
    background: #004b56;
    opacity: 0;
}

.checkout-section .payment-options .option-block .radio-block input[type="radio"]:checked + .radio-label:after {
    opacity: 1;
}


.google-map-wrapper {
    position: relative;
    min-height: 550px;
}

.google-map-wrapper .over-map {
    z-index: 10;
    position: relative;
}

#home-google-map {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9;
}

/* CUSTOM*/
.tp-banner {
    padding: 70px 0 30px 0;
    text-align: center;
}

.tp-banner:after {
    width: 100%;
    content: "";
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-filter: blur(3px);
    -moz-filter: blur(3px);
    -o-filter: blur(3px);
    -ms-filter: blur(3px);
    filter: blur(3px);
    background-image: url('../images/main-slider/2.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
}

.tp-caption {
    margin: 30px auto;
}

.cover-image {
    position: relative;
    z-index: 1;
}

.cover-image img {
    max-width: 300px;
}

.language-flag {
    width: 20px;
}

.default-text-box p a {
    color: #009748 !important;
}

.default-text-box p a.btn {
    color: #fff !important;
}

.iframe-responsive {
    width: 100%;
    max-width: 100%;
    height: 500px;
    box-shadow: 0px 0px 10px #004b56;
    margin-bottom: 15px;
}

.social-links li {
    position: relative;
    display: inline-block;
    /* width: 44px; */
    /* height: 44px; */
    padding: 2px 10px;
    font-size: 14px;
    margin: 0px 3px 5px;
    line-height: 42px;
    border-radius: 5px;
    text-align: center;
    border: 1px solid #e1e1e1;
    color: #909090;
    transition: all 300ms ease;
    -webkit-transition: all 300ms ease;
    -ms-transition: all 300ms ease;
    -o-transition: all 300ms ease;
    -moz-transition: all 300ms ease;
}

.post-info li > span::before,
.social-links li > span::before {
    margin-right: 5px;
}

.one-article {
    padding-top: 0;
}

.one-article .featured-news-column .content {
    position: relative;
    padding: 30px;
}

.one-article .featured-news-column h3 {
    font-size: 20px;
    margin-bottom: 15px;
}

.author-name-coma {
    position: relative;
    margin-right: 10px;
}

.author-name-coma:after {
    position: absolute;
    content: ",";
    font-size: inherit;
    bottom: -4px;
    right: -4px;
}

.author-name-coma:last-of-type {
    margin-right: 0;
}

.author-name-coma:last-of-type:after {
    content: none;
}

.how-to-cite {
    padding: 5px 7px;
    font-size: 12px;
    background: #fff;
}

.how-to-cite:hover {
    cursor: copy;
}

.margin-top-20 > a > b,
.how-to-cite a {
    word-break: break-all;
}

.editorial-flex {
    display: flex;
    display: -ms-flex;
    display: -moz-flex;
    display: -o-flex;
    display: -webkit-flex;
    align-items: center;
    flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}

.editorial-flex h4 {
    margin: 5px 10px 5px 0;
}

.general-keywords {
    overflow: hidden;
}

.soft-hide {
    height: 50px;
    overflow: hidden;
    /*position: absolute;*/
    left: 0;
    right: 0;
    /*z-index: -1;*/
    /*visibility: hidden;*/
}

.btn-full {
    position: relative;
    /*bottom: -4px;*/
    width: 100%;
    margin: 10px 0 20px 0;
    text-align: center;
}

.btn-full .btn-link {
    color: #ffffff;
}

.btn-full:hover {
    cursor: pointer;
    text-decoration: none;
}

.btn-full:after {
    position: absolute;
    left: 0;
    bottom: 100%;
    width: 100%;
    height: 150px;
    content: "";
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 1) 85%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255, 255, 255, 0.6)), color-stop(85%, rgba(255, 255, 255, 1)));
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 1) 85%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 1) 85%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.2) 0%, rgba(255, 255, 255, 1) 85%);
}

.btn-full.no-after:after {
    height: 0;
}

.social-links-one a:hover span svg path,
.social-links-one a:hover span svg circle,
.social-links a:hover span svg path,
.social-links a:hover span svg circle {
    fill: #ffffff;
}

.social-links-one a:hover span svg .st0,
.social-links a:hover span svg .st0 {
    fill: #004b56;
}

.main-menu .navigation > li > ul > li.current {
    background: #004b56;
}

.default-text-box ul,
.default-text-box ol {
    padding-left: 30px;
    margin-bottom: 20px;

}

.default-text-box ol li,
.default-text-box li ol li {
    list-style: inherit;
}

.default-text-box ul li,
.default-text-box li ul li {
    list-style: initial;
}

.share-options li {
    line-height: 34px;
    margin-right: 10px;
    float: left;
    margin-bottom: 15px;
}

.share-options li a {
    position: relative;
    display: inline-block;
    font-size: 14px;
    width: 34px;
    height: 34px;
    line-height: 32px;
    border: 1px solid #e9e9e9;
    text-align: center;
    color: #999999;
    border-radius: 5px;
    transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -webkit-transition: all 0.5s ease;
    -ms-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}

.share-options li a:hover {
    color: #ffffff;
    background: #009748;
}

.share-wrapper {
    margin-bottom: 25px;
}

.share-wrapper .icon {
    position: relative;
    background-color: #ffffff;
    border-radius: 5px;
    margin: 10px 15px 10px 0;;
    width: 30px;
    height: 30px;
    line-height: 30px;
    font-size: 18px;
    display: inline-block;
    align-items: center;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    cursor: pointer;
    transition: all 0.2s cubic-bezier(0.68, -0.55, 0.265, 1.55);
    color: #999999;
    text-align: center;
    text-decoration: none;
}

.share-wrapper .icon.not-link {
    width: auto;
    padding: 0 10px;
}

.share-wrapper .icon.not-link:hover {
    cursor: context-menu;
}

.share-wrapper .tooltip {
    position: absolute;
    top: 0;
    line-height: 1.5;
    font-size: 14px;
    background-color: #ffffff;
    color: #ffffff;
    padding: 5px 8px;
    border-radius: 5px;
    box-shadow: 0 10px 10px rgba(0, 0, 0, 0.1);
    opacity: 0;
    pointer-events: none;
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.share-wrapper .tooltip::before {
    position: absolute;
    content: "";
    height: 8px;
    width: 8px;
    background-color: #ffffff;
    bottom: -3px;
    left: 50%;
    transform: translate(-50%) rotate(45deg);
    transition: all 0.3s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.share-wrapper .icon:hover .tooltip {
    top: -45px;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.share-wrapper .icon:hover span,
.share-wrapper .icon:hover .tooltip {
    text-shadow: 0px -1px 0px rgba(0, 0, 0, 0.1);
}

.share-wrapper .facebook:hover,
.share-wrapper .facebook:hover .tooltip,
.share-wrapper .facebook:hover .tooltip::before {
    background-color: #3b5999;
    color: #ffffff;
}

.share-wrapper .twitter:hover,
.share-wrapper .twitter:hover .tooltip,
.share-wrapper .twitter:hover .tooltip::before {
    background-color: #46c1f6;
    color: #ffffff;
}

.share-wrapper .linkedin:hover,
.share-wrapper .linkedin:hover .tooltip,
.share-wrapper .linkedin:hover .tooltip::before {
    background-color: #0077b5;
    color: #ffffff;
}

.share-wrapper .telegram:hover,
.share-wrapper .telegram:hover .tooltip,
.share-wrapper .telegram:hover .tooltip::before {
    background-color: #0088cc;
    color: #ffffff;
}

.share-wrapper .email:hover,
.share-wrapper .email:hover .tooltip,
.share-wrapper .email:hover .tooltip::before {
    background-color: #ffb607;
    color: #ffffff;
}

.share-wrapper .viber:hover,
.share-wrapper .viber:hover .tooltip,
.share-wrapper .viber:hover .tooltip::before {
    background-color: #7360f2;
    color: #ffffff;
}

.share-wrapper .whatsapp:hover,
.share-wrapper .whatsapp:hover .tooltip,
.share-wrapper .whatsapp:hover .tooltip::before {
    background-color: #25D366;
    color: #ffffff;
}

.requirements .table > thead > tr > th,
.requirements .table > tbody > tr > th,
.requirements .table > tfoot > tr > th,
.requirements .table > thead > tr > td,
.requirements .table > tbody > tr > td,
.requirements .table > tfoot > tr > td {
    padding: 12px;
    border: none;
    border-bottom: 1px solid #ddd;
}

input.file-caption-name.form-control.kv-fileinput-caption,
.input-group-btn.input-group-append button {
    height: 52px;
    z-index: 1;
}

.main-header .top-bar .search-box .form-group.field-searchform-type {
    display: none;
}

.product-details .styled-heading.margin-bott-20 h5 {
    font-weight: 700;
}

.author-block {
    padding: 20px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, .3),
    -23px 0 20px -23px rgba(0, 0, 0, .6),
    23px 0 20px -23px rgba(0, 0, 0, .6),
    inset 0 0 40px rgba(0, 0, 0, .1);
    margin-bottom: 30px;
}

#authors-form label {
    font-size: 11px;
    line-height: 1;
}

#authors-form.form-control {
    font-size: 12px;
}

#authors-form .iti.iti--allow-dropdown {
    width: 100%;
}

#authors-form h3 {
    font-size: 20px;
}

#authors-form .styled-heading {
    margin-bottom: 10px;
    padding-bottom: 15px;
}

#authors-form .styled-heading:before {
    width: 70px;
    height: 4px;
}

#authors-form .styled-heading:after {
    font-size: 16px;
    left: 10px;
}

.attention-text {
    text-align: center;
    padding: 25px 15px;
    margin-bottom: 25px;
    font-weight: 500;
    box-shadow: 0 1px 4px rgba(248, 130, 169, .7), -23px 0 20px -23px rgba(248, 130, 169, .9), 23px 0 20px -23px rgba(248, 130, 169, .9), inset 0 0 40px rgba(248, 130, 169, .1);
}

#authors-form textarea {
    width: 100%;
    height: 80px;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075);
    -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
    -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}

.references-list ol {
    list-style-type: none; /* Убираем стандартные маркеры */
    padding: 0;
}

.references-list ol li {
    counter-increment: item; /* Увеличиваем счетчик */
    position: relative;
    padding-left: 37px; /* Отступ для текста */
}

.references-list ol li::before {
    content: "[" counter(item) "]"; /* Вставляем счетчик в формате [X] */
    position: absolute;
    left: 0;
    top: 0;
}

/* helpers */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.container {
    width: min(var(--page-wide), 100%);
    margin-inline: auto;
    padding-inline: var(--pad-x);
}

.hdr {
    position: sticky;
    top: 0;
    z-index: 60;
    background: var(--c-paper);
    border-bottom: var(--border-2) solid var(--c-border);
}

.hdr__meta {
    background: color-mix(in srgb, var(--brand-primary) 6%, var(--c-paper) 94%);
    border-bottom: var(--border-2) solid var(--c-border);
}

.hdr__meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gutter-md);
    padding-block: 0.55rem;
}

.hdr__meta-text {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: color-mix(in srgb, var(--c-ink) 88%, var(--brand-primary) 12%);
}

.hdr__meta-sep {
    padding-inline: 0.5rem;
    opacity: 0.7;
}

.hdr__meta-actions {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.hdr-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    border-radius: var(--radius-1);
    padding: 0.5rem 0.75rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    cursor: pointer;
    box-shadow: var(--shadow-1);
    text-decoration: none;
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}

.hdr-btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.hdr-btn:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.hdr-btn--ghost {
    background: transparent;
    box-shadow: none;
}

.hdr-dot {
    width: 10px;
    height: 10px;
    border: var(--border-2) solid var(--brand-primary);

    background: var(--c-paper);
}

.hdr-dot--accent {
    border-color: var(--brand-accent);
    background: var(--brand-accent);
}

.hdr__main {
    background: var(--c-paper);
    position: relative;
}

.hdr__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gutter-lg);
    padding-block: 0.95rem;
}

.hdr-brand {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    text-decoration: none;
    color: var(--c-ink);
    min-width: 240px;
}

.hdr-brand__mark {
    width: 44px;
    height: 44px;
    border: var(--border-2) solid var(--brand-primary);
    border-radius: var(--radius-1);
    box-shadow: var(--shadow-1);
    background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand-primary) 14%, transparent 86%),
    color-mix(in srgb, var(--brand-accent) 10%, transparent 90%));
}

.hdr-brand__title {
    display: block;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    letter-spacing: -0.01em;
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
}

.hdr-brand__sub {
    display: block;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
    margin-top: 0.15rem;
}

.hdr__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
}

.hdr-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    border: var(--border-2) solid var(--brand-accent);
    background: var(--brand-accent);
    color: #fff;
    border-radius: var(--radius-1);
    padding: 0.6rem 0.9rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    text-decoration: none;
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}

.hdr-cta:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.hdr-cta--ghost {
    background: transparent;
    color: var(--c-ink);
    border-color: var(--c-border);
}

.hdr-cta__tag {
    width: 10px;
    height: 10px;

    background: #fff;
    opacity: 0.9;
}

.hdr-burger {
    width: 44px;
    height: 44px;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    border-radius: var(--radius-1);
    box-shadow: var(--shadow-1);
    cursor: pointer;
    display: inline-grid;
    place-items: center;
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}

.hdr-burger:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.hdr-burger:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.hdr-burger__lines {
    width: 18px;
    height: 12px;
    position: relative;
}

.hdr-burger__lines::before,
.hdr-burger__lines::after,
.hdr-burger__lines span {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--brand-primary);
}

.hdr-burger__lines::before {
    top: 0;
}

.hdr-burger__lines::after {
    bottom: 0;
}

.hdr-burger__lines span {
    top: 50%;
    transform: translateY(-50%);
}

.hdr-nav {
    border-top: var(--border-2) solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 90%, #fff 10%);
    padding-block: 0.9rem;
}

.hdr-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(15, 1fr);
    gap: 0.65rem;
}

.hdr-nav__item {
    grid-column: span 3;
}

.hdr-nav__item.has-dd {
    grid-column: span 3;
}

.hdr-nav__link {
    width: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    border-radius: var(--radius-1);
    padding: 0.65rem 0.75rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-medium);
    text-decoration: none;
    color: var(--c-ink);
    box-shadow: var(--shadow-1);
    cursor: pointer;
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}

.hdr-nav__link:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.hdr-nav__link--btn {
    background: var(--c-surface);
}

.hdr-nav__chev {
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-primary);
    transform: rotate(45deg);
    margin-left: auto;
}

.hdr-dd {
    margin-top: 0.45rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    border-radius: var(--radius-1);
    box-shadow: var(--shadow-1);
    overflow: hidden;
}

.hdr-dd__link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    padding: 0.55rem 0.75rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    text-decoration: none;
    color: var(--c-ink);
    border-top: 1px solid var(--c-subtle);
}

.hdr-dd__link:first-child {
    border-top: 0;
}

.hdr-dd__link:hover {
    background: color-mix(in srgb, var(--brand-accent) 10%, var(--c-paper) 90%);
}

.pill {
    display: inline-flex;
    align-items: center;
    padding: 0.1rem 0.45rem;

    border: var(--border-2) solid var(--brand-accent);
    background: color-mix(in srgb, var(--brand-accent) 12%, var(--c-paper) 88%);
    color: var(--brand-accent);
    font-size: 0.75rem;
    font-weight: var(--fw-bold);
}

.hdr-nav__footer {
    margin-top: 0.9rem;
    display: flex;
    justify-content: flex-end;
}

.hdr-search {
    margin: 0.9rem 0;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    border-radius: var(--radius-1);
    box-shadow: var(--shadow-2);
}

.hdr[data-search-open="1"] .hdr-nav { pointer-events: none; }


.hdr-search__inner {
    padding: 0.9rem;
}

.hdr-search__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding-bottom: 0.75rem;
    border-bottom: 1px solid var(--c-subtle);
}

.hdr-search__title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    line-height: var(--lh-tight);
}

.hdr-search__box {
    padding-top: 0.75rem;
}

/* responsive */
@media (max-width: 1024px) {
    .hdr-nav__item {
        grid-column: span 6;
    }
}

@media (max-width: 640px) {
    .hdr__meta-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .hdr-nav__item {
        grid-column: span 12;
    }

    .hdr-cta {
        display: none;
    }
}

/* wrapper inside header */
.hdr-lang {
    display: inline-flex;
    align-items: center;
}

/* language switch */
.lang-switch {
    position: relative;
}

.lang-switch__btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    border-radius: var(--radius-1);
    padding: 0.5rem 0.7rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    cursor: pointer;
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}

.lang-switch__btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.lang-switch__btn:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.lang-switch__flag {
    width: 18px;
    height: 18px;

    border: var(--border-2) solid color-mix(in srgb, var(--brand-primary) 70%, var(--c-paper) 30%);
    object-fit: cover;
}

.lang-switch__label {
    letter-spacing: 0.02em;
    line-height: 1;
}

.lang-switch__chev {
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-primary);
    transform: rotate(45deg);
    margin-left: 0.25rem;
    transition: transform var(--dur-2) var(--ease);
}

.lang-switch.is-open .lang-switch__chev {
    transform: rotate(-135deg);
}

.lang-switch__list {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    min-width: 220px;
    background: var(--c-surface);
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    box-shadow: var(--shadow-2);
    overflow: hidden;
    z-index: 80;
}

.lang-switch__item {
    margin: 0;
}

.lang-switch__link {
    display: grid;
    grid-template-columns: 22px 1fr auto;
    align-items: center;
    gap: 0.6rem;
    padding: 0.65rem 0.75rem;
    text-decoration: none;
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    border-top: 1px solid var(--c-subtle);
    transition: background var(--dur-1) var(--ease);
}

.lang-switch__item:first-child .lang-switch__link {
    border-top: 0;
}

.lang-switch__link:hover {
    background: color-mix(in srgb, var(--brand-accent) 10%, var(--c-paper) 90%);
}

.lang-switch__name {
    font-weight: var(--fw-medium);
}

.lang-switch__hint {
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    color: color-mix(in srgb, var(--c-muted) 75%, var(--brand-primary) 25%);
    letter-spacing: 0.06em;
    padding-left: 0.5rem;
    border-left: 2px solid color-mix(in srgb, var(--brand-primary) 18%, transparent 82%);
}

/* tight mode for meta bar */
.hdr__meta-actions .lang-switch__btn {
    padding: 0.5rem 0.75rem;;
    font-size: var(--text-xs);
}

/* Search form shell */
.s-form {
    width: 100%;
}

.s-form__row {
    width: 100%;
}

.s-field__control {
    position: relative;
    margin-bottom: 1.2rem; /* резерв під помилку */
}

/* Yii wrapper */

.s-field {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.6rem;
    align-items: stretch;
}

/* Input */
.s-input {
    width: 100%;
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    padding: 0.6rem 0.75rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    background: var(--c-surface);
    color: var(--c-ink);
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.s-input::placeholder {
    color: color-mix(in srgb, var(--c-muted) 85%, transparent 15%);
}

.s-input:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.s-input:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
    border-color: color-mix(in srgb, var(--brand-accent) 70%, var(--c-border) 30%);
}

/* Submit */
.s-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin-bottom: 1.2rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--brand-primary);
    color: #fff;
    border-radius: var(--radius-1);
    padding: 0.6rem 0.85rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    cursor: pointer;
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), background var(--dur-1) var(--ease);
}

.s-submit:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    background: color-mix(in srgb, var(--brand-primary) 88%, #000 12%);
}

.s-submit:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.s-submit__dot {
    width: 10px;
    height: 10px;

    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

/* Meta (radio) */
.s-form__meta {
    margin-top: 0.75rem;
}

/* container */
.s-radio {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem;
    margin: 0;
}

/* label wrapper */
.s-radio__item {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    cursor: pointer;
}

/* hide native */
.s-radio__native {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* small dot */
.s-radio__box {
    display: inline-block;
    width: 10px;
    height: 10px;
    border: 1.5px solid var(--brand-primary);
    background: transparent;
    transition: all var(--dur-1) var(--ease);
    margin-right: .5rem;
}

/* label text */
.s-radio__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-regular);
    color: var(--c-muted);
    transition: color var(--dur-1) var(--ease), font-weight var(--dur-1) var(--ease);
}

/* checked */
.s-radio__native:checked + .s-radio__box {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
}

.s-radio__native:checked ~ .s-radio__label {
    color: var(--c-ink);
    font-weight: var(--fw-medium);
}

/* hover */
.s-radio__item:hover .s-radio__label {
    color: var(--c-ink);
}

/* focus */
.s-radio__native:focus-visible + .s-radio__box {
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--brand-accent) 30%, transparent 70%);
}

/* error */
.s-radio.has-error .s-radio__box {
    border-color: #b42318;
}

/* Disabled states */
.s-input:disabled,
.s-submit:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none;
}

/* Error states (Yii typically adds .has-error on wrapper) */
.s-field__control.has-error .s-input,
.s-form.is-invalid .s-input {
    border-color: #b42318;
    box-shadow: 2px 2px 0 rgba(180, 35, 24, 0.18);
}

.s-field__control.has-error .s-input:focus-visible,
.s-form.is-invalid .s-input:focus-visible {
    box-shadow: 4px 4px 0 rgba(180, 35, 24, 0.18), 0 0 0 3px rgba(180, 35, 24, 0.25);
}

.s-error {
    position: absolute;
    left: 0;
    bottom: -1.05rem; /* контролює відстань */
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-medium);
    line-height: 1.2;
    color: #b42318;
    white-space: nowrap;
}

.mf {
    margin-top: auto;
    border-top: var(--border-2) solid var(--c-border);
    background: var(--c-paper);
}

.mf__wrap {
    padding: 1.2rem 0;
    display: grid;
    grid-template-columns: 1.2fr 1.6fr auto;
    gap: var(--gutter-lg);
    align-items: center;
}

.mf__brand {
    display: flex;
    gap: 0.85rem;
    align-items: flex-start;
}

.mf__mark {
    width: 40px;
    height: 40px;
    border: var(--border-2) solid var(--brand-primary);
    border-radius: var(--radius-1);
    background: linear-gradient(135deg,
    color-mix(in srgb, var(--brand-primary) 14%, transparent 86%),
    color-mix(in srgb, var(--brand-accent) 10%, transparent 90%));
    box-shadow: var(--shadow-1);
    flex: 0 0 auto;
}

.mf__title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--text-lg);
    font-weight: var(--fw-bold);
    line-height: var(--lh-tight);
    color: var(--c-ink);
}

.mf__meta {
    margin: 0.25rem 0 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
    letter-spacing: 0.02em;
}

.mf__info {
    border-left: 2px solid color-mix(in srgb, var(--c-border) 35%, transparent 65%);
    padding-left: 1rem;
}

.mf__line {
    margin: 0 0 0.5rem 0;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    color: var(--c-ink);
    line-height: var(--lh-base);
}

.mf__k {
    font-weight: var(--fw-bold);
    color: color-mix(in srgb, var(--c-ink) 86%, var(--brand-primary) 14%);
}

.mf__v {
    color: var(--c-ink);
}

.mf__actions {
    display: grid;
    justify-items: end;
    gap: 0.8rem;
}

.mf__top {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: var(--border-2) solid var(--c-border);
    background: transparent;
    color: var(--c-ink);

    padding: 0.45rem 0.7rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    cursor: pointer;
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.mf__top:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: var(--brand-accent);
}

.mf__top:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.mf__dot {
    width: 10px;
    height: 10px;

    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

.mf__pay {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    opacity: 0.95;
}

.mf__pay-img {
    height: 18px;
    width: auto;
}

.mf__bottom {
    border-top: 1px solid var(--c-subtle);
    padding: 0.85rem 0 1rem;
    display: flex;
    justify-content: space-between;
}

.mf__copy {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
}

/* responsive */
@media (max-width: 1024px) {
    .mf__wrap {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .mf__info {
        border-left: 0;
        padding-left: 0;
        border-top: 1px solid var(--c-subtle);
        padding-top: 0.85rem;
    }

    .mf__actions {
        justify-items: start;
        border-top: 1px solid var(--c-subtle);
        padding-top: 0.85rem;
    }
}

/* page shell */
.page {
    background: var(--c-paper);
    padding: 2.2rem 0 3rem;
}

.page__wrap {
    max-width: var(--page-max);
    margin: 0 auto;
    padding: 0 var(--pad-x);
}

/* content area */
.page__content {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    box-shadow: var(--shadow-2);
    padding: 2.2rem 2.4rem;
}

/* typographic defaults inside pages */
.page__content > *:first-child {
    margin-top: 0;
}

.page__content > *:last-child {
    margin-bottom: 0;
}

/* responsive */
@media (max-width: 1024px) {
    .page__content {
        padding: 1.6rem 1.6rem;
    }
}

@media (max-width: 640px) {
    .page {
        padding: 1.6rem 0 2.2rem;
    }

    .page__content {
        padding: 1.3rem 1.2rem;
    }
}

.home {
    background: var(--c-paper);
}

.hero {
    padding: 2.3rem 0 2rem;
}

.hero__grid {
    display: grid;
    grid-template-columns: 1.5fr 0.5fr;
    gap: var(--gutter-lg);
    align-items: start;
}

.hero__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.75rem 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    color: var(--c-muted);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.hero__dot {
    width: 10px;
    height: 10px;

    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

.hero__title {
    margin: 0 0 1rem 0;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
    letter-spacing: -0.01em;
}

.hero__text {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.hero__actions {
    margin-top: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.hero__cta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.75rem 1rem;
    border-radius: var(--radius-1);
    border: var(--border-2) solid var(--brand-accent);
    background: var(--brand-accent);
    color: #fff;
    text-decoration: none;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-2);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}

.hero__cta:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.hero__cta:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.hero__cta-dot {
    width: 10px;
    height: 10px;

    background: #fff;
    border: var(--border-2) solid rgba(255, 255, 255, 0.75);
}

.hero__ghost {
    padding: 0.75rem 1rem;

    border: var(--border-2) solid var(--c-border);
    background: transparent;
    color: var(--c-ink);
    cursor: pointer;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.hero__ghost:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: var(--brand-primary);
}

.hero__ghost:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

/* Cover */
.hero__cover {
    display: grid;
    gap: 0.9rem;
    justify-items: end;
}

.cover {
    position: relative;
    display: block;
    border-radius: var(--radius-1);
    overflow: hidden;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-1);
    transform-style: preserve-3d;
    transition: transform var(--dur-2) var(--ease);
    text-decoration: none;
}

.cover__img {
    display: block;
    width: 100%;
    height: auto;
}

.cover__frame {
    position: absolute;
    inset: 10px;
    border: 2px solid color-mix(in srgb, var(--brand-primary) 40%, transparent 60%);
    border-radius: calc(var(--radius-1) - 6px);
    pointer-events: none;
}

.cover__shine {
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.28), transparent 55%);
    transform: translateZ(30px);
    opacity: 0;
    transition: opacity var(--dur-2) var(--ease);
    pointer-events: none;
}

.cover:hover .cover__shine {
    opacity: 1;
}

.hero__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-content: flex-end;
}

.meta-chip {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    padding: 0.35rem 0.55rem;

    border: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-ink);
}

.meta-chip__k {
    font-weight: var(--fw-bold);
    color: var(--c-muted);
}

.meta-chip--accent {
    border-color: color-mix(in srgb, var(--brand-accent) 35%, var(--c-subtle) 65%);
}

/* Section heading */
.section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 1.7rem;
    margin-bottom: 0.9rem;
}

.section-head__title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--text-2xl);
    font-weight: var(--fw-bold);
}

.mini-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.5rem 0.7rem;

    border: var(--border-2) solid var(--c-border);
    background: transparent;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
}

.mini-btn__dot {
    width: 10px;
    height: 10px;
    background: var(--brand-primary);
    border: var(--border-2) solid var(--brand-primary);
}

/* Marquee */
.indexing {
    padding: 0.5rem 0 2.4rem;
}

.marquee {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    overflow: hidden;
}

.marquee__track {
    display: flex;
    gap: 0.9rem;
    padding: 0.9rem;
    width: max-content;
    animation: marquee 28s linear infinite;
    will-change: transform;
}

.marquee.is-paused .marquee__track {
    animation-play-state: paused;
}

@keyframes marquee {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.logo-card {
    position: relative;
    display: grid;
    place-items: center;
    width: 160px;
    height: 84px;
    border-radius: var(--radius-1);
    border: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    box-shadow: var(--shadow-1);
    text-decoration: none;
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.logo-card:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: color-mix(in srgb, var(--brand-accent) 45%, var(--c-subtle) 55%);
}

.logo-card__img {
    max-width: 72%;
    max-height: 60%;
    object-fit: contain;
    filter: saturate(0.95);
}

.logo-card__frame {
    position: absolute;
    inset: 8px;
    border-radius: calc(var(--radius-1) - 6px);
    border: 2px solid color-mix(in srgb, var(--brand-primary) 18%, transparent 82%);
    pointer-events: none;
}

/* reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

/* responsive */
@media (max-width: 1024px) {
    .hero__grid {
        grid-template-columns: 1fr;
    }

    .hero__cover {
        justify-items: start;
    }

    .hero__meta {
        justify-content: flex-start;
    }
}

@media (max-width: 640px) {
    .logo-card {
        width: 140px;
        height: 76px;
    }
}

.archive {
    padding: 1.8rem 0 2.6rem;
    background: var(--c-paper);
}

.archive__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gutter-lg);
    margin-bottom: 1.2rem;
}

.archive__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
}

.archive__sub {
    margin: 0.35rem 0 0;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    color: var(--c-muted);
}

.archive__tools {
    display: inline-flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}

/* search */
.a-search {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.a-search__input {
    width: min(420px, 70vw);
    border: var(--border-2) solid var(--c-border);

    padding: 0.6rem 2.1rem 0.6rem 0.9rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    background: var(--c-surface);
    box-shadow: var(--shadow-1);
    transition: box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.a-search__input:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
}

.a-search__input:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
    border-color: var(--brand-accent);
}

.a-search__clear {
    position: absolute;
    right: 0.4rem;
    width: 28px;
    height: 28px;

    border: var(--border-2) solid var(--c-border);
    background: transparent;
    cursor: pointer;
    font-weight: var(--fw-bold);
    line-height: 1;
}

/* buttons */
.a-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.6rem 0.85rem;

    border: var(--border-2) solid var(--c-border);
    background: transparent;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    color: var(--c-ink);
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.a-btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: var(--brand-primary);
}

.a-btn:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.a-btn--ghost {
    box-shadow: none;
}

.a-btn__dot {
    width: 10px;
    height: 10px;

    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

/* year block */
.year {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    overflow: hidden;
    margin-bottom: 1rem;
}

.year__toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 0.95rem;
    border: 0;
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    cursor: pointer;
}

.year__toggle:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

.year__badge {
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-xl);
    letter-spacing: -0.01em;
}

.year__meta {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
}

.year__chev {
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-primary);
    transform: rotate(45deg);
    transition: transform var(--dur-2) var(--ease);
    margin-left: 0.25rem;
}

.year.is-collapsed .year__chev {
    transform: rotate(-135deg);
}

.year__body {
    padding: 0.95rem;
}

.grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 0.85rem;
}

/* issue card */
.issue__card {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 0.55rem;
    text-decoration: none;
    color: var(--c-ink);
}

.issue__cover {
    position: relative;
    border-radius: var(--radius-1);
    border: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    overflow: hidden;
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.issue__img {
    width: 100%;
    aspect-ratio: 3 / 4;
    object-fit: cover;
    display: block;
    filter: saturate(0.98);
}

.issue__frame {
    position: absolute;
    inset: 8px;
    border-radius: calc(var(--radius-1) - 6px);
    border: 2px solid color-mix(in srgb, var(--brand-primary) 18%, transparent 82%);
    pointer-events: none;
}

.issue__card:hover .issue__cover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: color-mix(in srgb, var(--brand-accent) 40%, var(--c-subtle) 60%);
}

.issue__title {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    line-height: 1.25;
}

.issue__hint {
    margin: 0.1rem 0 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
}

/* filtered state */
.issue.is-hidden {
    display: none;
}

.archive__foot {
    margin-top: 1.2rem;
    display: flex;
    justify-content: flex-end;
}

/* responsive */
@media (max-width: 1280px) {
    .grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (max-width: 1024px) {
    .archive__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .a-search__input {
        width: min(520px, 92vw);
    }

    .grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 768px) {
    .grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 520px) {
    .grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

.issue-page {
    padding: 1.6rem 0 2.8rem;
    background: var(--c-paper);
}

.issue-hero__grid {
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: var(--gutter-lg);
    align-items: start;
}

.issue-media {
    display: grid;
    gap: 0.85rem;
}

.issue-cover {
    position: relative;
    border-radius: var(--radius-1);
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    overflow: hidden;
}

.issue-cover__pdf {
    width: 100%;
    height: 520px;
    border: 0;
    display: block;
}

.issue-cover__img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 3/4;
    object-fit: cover;
}

.issue-cover__frame {
    position: absolute;
    inset: 12px;
    border-radius: calc(var(--radius-1) - 8px);
    border: 2px solid color-mix(in srgb, var(--brand-primary) 22%, transparent 78%);
    pointer-events: none;
}

.issue-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.7rem 0.95rem;
    border-radius: var(--radius-1);
    border: var(--border-2) solid var(--c-border);
    background: transparent;
    color: var(--c-ink);
    text-decoration: none;
    cursor: pointer;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: var(--brand-primary);
}

.btn:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.btn__dot {
    width: 10px;
    height: 10px;
    background: #fff;
    border: var(--border-2) solid rgba(255, 255, 255, 0.7);
}

.btn__dot--primary {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn__dot--accent {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
}

.btn--accent {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
    color: #fff;
    box-shadow: var(--shadow-2);
}

.btn--primary {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
    box-shadow: var(--shadow-2);
}

.btn--ghost {
    box-shadow: none;
}

.issue-passport {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    padding: 1.2rem 1.2rem 1rem;
}

.issue-passport__badge {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    margin: 0 0 0.7rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--c-muted);
}

.dot {
    width: 10px;
    height: 10px;
    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

.issue-passport__title {
    margin: 0 0 0.9rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-2xl);
    line-height: var(--lh-tight);
}

.issue-passport__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
}

.chip {
    display: inline-flex;
    gap: 0.45rem;
    align-items: center;
    padding: 0.35rem 0.55rem;

    border: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-ink);
}

.chip__k {
    font-weight: var(--fw-bold);
    color: var(--c-muted);
}

.chip--click {
    cursor: pointer;
}

.chip--click:hover {
    border-color: var(--brand-accent);
}

.issue-passport__desc {
    font-family: var(--font-sans);
    font-size: var(--text-md);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.issue-sticky {
    margin-top: 1rem;
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    position: sticky;
    top: 10px;
    z-index: 2;
    padding-top: 0.75rem;
    border-top: 1px solid var(--c-subtle);
}

.mini {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.45rem 0.65rem;

    border: var(--border-2) solid var(--c-border);
    background: transparent;
    cursor: pointer;
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
}

.mini__dot {
    width: 10px;
    height: 10px;
    background: var(--brand-primary);
    border: var(--border-2) solid var(--brand-primary);
}

.mini--accent {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
    color: #fff;
}

.mini--accent .mini__dot {
    background: #fff;
    border-color: rgba(255, 255, 255, 0.75);
}

/* tools */
.issue-tools {
    margin-top: 1.2rem;
}

.tools {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    padding: 0.95rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--gutter-md);
    flex-wrap: wrap;
}

.tools__title {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-bold);
}

.tools__controls {
    display: inline-flex;
    gap: 0.75rem;
    align-items: center;
    flex-wrap: wrap;
}

.tools-search {
    position: relative;
}

.tools-search__input {
    width: min(420px, 76vw);
    border: var(--border-2) solid var(--c-border);

    padding: 0.55rem 2.1rem 0.55rem 0.85rem;
    background: var(--c-paper);
    box-shadow: var(--shadow-1);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

.tools-search__input:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
    border-color: var(--brand-accent);
}

.tools-search__clear {
    position: absolute;
    right: 0.35rem;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;

    border: var(--border-2) solid var(--c-border);
    background: transparent;
    cursor: pointer;
    font-weight: var(--fw-bold);
}

.tools-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    cursor: pointer;
    user-select: none;
}

.tools-toggle__native {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.tools-toggle__ui {
    width: 34px;
    height: 20px;

    border: var(--border-2) solid var(--c-border);
    background: var(--c-paper);
    position: relative;
    box-shadow: var(--shadow-1);
}

.tools-toggle__ui::after {
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 14px;
    height: 14px;

    background: var(--brand-primary);
    border: 2px solid var(--brand-primary);
    transition: transform var(--dur-2) var(--ease), background var(--dur-1) var(--ease);
}

.tools-toggle__native:checked + .tools-toggle__ui::after {
    transform: translateX(14px);
    background: var(--brand-accent);
    border-color: var(--brand-accent);
}

.tools-toggle__label {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
}

.tools__count {
    margin: 0.55rem 0 0;
    font-family: var(--font-sans);
    color: var(--c-muted);
    font-size: var(--text-sm);
}

/* papers */
.issue-list {
    margin-top: 1rem;
    display: grid;
    gap: 0.9rem;
}

.paper {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    overflow: hidden;
}

.paper__head {
    padding: 0.95rem;
    border-bottom: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
}

.paper__badge {
    display: flex;
    gap: 0.5rem;
    flex-wrap: wrap;
    margin-bottom: 0.6rem;
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 0.2rem 0.5rem;

    border: 1px solid var(--c-subtle);
    background: var(--c-paper);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    color: var(--brand-primary);
}

.badge--open {
    border-color: color-mix(in srgb, var(--brand-accent) 35%, var(--c-subtle) 65%);
}

.badge--muted {
    color: var(--c-muted);
}

.paper__title {
    margin: 0 0 0.7rem;
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-bold);
    line-height: 1.2;
}

.paper__link {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: .5rem;
}

.paper__link:hover {
    border-color: var(--brand-accent);
}

.paper__authors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.35rem 0.5rem;
}

.paper__author {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--brand-primary) 35%, transparent 65%);
}

.paper__author:hover {
    border-bottom-color: var(--brand-accent);
}

.paper__body {
    padding: 0.95rem;
    display: grid;
    gap: 0.85rem;
}

.paper__toggle {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: var(--border-2) solid var(--c-border);
    background: transparent;

    padding: 0.45rem 0.65rem;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
}

.paper__toggle-dot {
    width: 10px;
    height: 10px;
    background: var(--brand-primary);
    border: var(--border-2) solid var(--brand-primary);
}

.paper__chev {
    width: 10px;
    height: 10px;
    border-right: 2px solid var(--brand-primary);
    border-bottom: 2px solid var(--brand-primary);
    transform: rotate(45deg);
    transition: transform var(--dur-2) var(--ease);
}

.paper.is-open .paper__chev {
    transform: rotate(-135deg);
}

.paper__panel-inner {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    color: var(--c-ink);
    line-height: var(--lh-base);
}

.doi {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;

    border: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 90%, #fff 10%);
    padding: 0.35rem 0.55rem;
    cursor: pointer;
}

.doi__k {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    color: var(--c-muted);
}

.doi__v {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    color: var(--c-ink);
}

.paper__citation-box {
    border: 1px dashed color-mix(in srgb, var(--brand-primary) 30%, var(--c-subtle) 70%);
    border-radius: var(--radius-1);
    padding: 0.75rem;
    background: color-mix(in srgb, var(--c-paper) 92%, #fff 8%);
}

.paper__copy {
    margin-top: 0.6rem;
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    border: var(--border-2) solid var(--c-border);
    background: transparent;

    padding: 0.45rem 0.65rem;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
}

.paper__copy-dot {
    width: 10px;
    height: 10px;
    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

.paper__actions {
    display: flex;
    justify-content: flex-end;
}

.paper__foot {
    padding: 0.75rem 0.95rem;
    border-top: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
}

.paper__src {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
}

/* sheet */
.sheet[hidden] {
    display: none;
}

.sheet {
    position: fixed;
    inset: 0;
    z-index: 50;
}

.sheet__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.28);
    backdrop-filter: blur(2px);
}

.sheet__panel {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 1rem;
    width: min(560px, calc(100% - 1.2rem));
    border-radius: var(--radius-1);
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    overflow: hidden;
    animation: sheetUp 180ms var(--ease);
}

@keyframes sheetUp {
    from {
        transform: translateX(-50%) translateY(10px);
        opacity: 0;
    }
    to {
        transform: translateX(-50%) translateY(0);
        opacity: 1;
    }
}

.sheet__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0.85rem 0.95rem;
    border-bottom: 1px solid var(--c-subtle);
}

.sheet__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
}

.sheet__x {
    border: var(--border-2) solid var(--c-border);
    width: 32px;
    height: 32px;
    background: transparent;
    cursor: pointer;
    font-weight: var(--fw-bold);
}

.sheet__body {
    padding: 0.95rem;
}

.sheet__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.6rem;
}

.sheet__item {
    padding: 0.65rem 0.75rem;
    border-radius: var(--radius-1);
    border: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 90%, #fff 10%);
    text-decoration: none;
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
}

.sheet__item:hover {
    border-color: var(--brand-accent);
}

.sheet__copy {
    margin-top: 0.75rem;
    width: 100%;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    gap: 0.55rem;
    padding: 0.75rem 0.9rem;
    border-radius: var(--radius-1);
    border: var(--border-2) solid var(--brand-primary);
    background: var(--brand-primary);
    color: #fff;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    cursor: pointer;
}

.sheet__dot {
    width: 10px;
    height: 10px;
    background: #fff;
    border: var(--border-2) solid rgba(255, 255, 255, 0.75);
}

/* toast */
.toast[hidden] {
    display: none;
}

.toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
    z-index: 60;
    padding: 0.6rem 0.85rem;

    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
}

/* reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

/* responsive */
@media (max-width: 1024px) {
    .issue-hero__grid {
        grid-template-columns: 1fr;
    }

    .issue-cover__pdf {
        height: 440px;
    }

    .issue-sticky {
        position: static;
    }
}

@media (max-width: 640px) {
    .sheet__grid {
        grid-template-columns: 1fr;
    }
}

.cite {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: color-mix(in srgb, var(--c-paper) 92%, #fff 8%);
    box-shadow: var(--shadow-2);
    padding: 0.9rem;
}

.cite__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .65rem;
}

.cite__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
}

.cite__btn {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    border: var(--border-2) solid var(--c-border);;
    padding: .45rem .65rem;
    background: transparent;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.cite__btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: var(--brand-accent);
}

.cite__btn:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.cite__dot {
    width: 10px;
    height: 10px;;
    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

.cite__box {
    border: 1px dashed color-mix(in srgb, var(--brand-primary) 30%, var(--c-subtle) 70%);
    border-radius: var(--radius-1);
    padding: .75rem .85rem;
    background: var(--c-surface);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.cite__journal {
    font-family: var(--font-serif);
    font-style: italic;
}

.cite__doi {
    display: inline-flex;
    gap: .55rem;
    align-items: center;
    flex-wrap: wrap;
}

.cite__doi-link {
    text-decoration: none;
    border-bottom: 2px solid color-mix(in srgb, var(--brand-accent) 45%, transparent 55%);
    color: var(--c-ink);
}

.cite__doi-link:hover {
    border-bottom-color: var(--brand-accent);
}

.cite__doi-copy {
    border: 1px solid var(--c-subtle);;
    background: transparent;
    padding: .25rem .5rem;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
}

.cite__hint {
    margin: .55rem 0 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
}

.article-page {
    padding: 1.6rem 0 2.8rem;
    background: var(--c-paper);
}

.article-head__kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .7rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
}

.dot {
    width: 10px;
    height: 10px;;
    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

.article-head__title {
    margin: 0 0 .7rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
}

.article-head__authors {
    display: flex;
    flex-wrap: wrap;
    gap: .35rem .5rem;
    margin-bottom: .8rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

.article-head__authors a {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--brand-primary) 35%, transparent 65%);
    font-size: var(--text-lg);
}

.article-head__authors a:hover {
    border-bottom-color: var(--brand-accent);
}

.article-meta {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: .5rem;
    margin-bottom: .9rem;
}

.article-meta .chipa {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    padding: .35rem .55rem;;
    border-bottom: 2px solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-ink);
}

.chip a {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--brand-accent) 40%, transparent 60%);
}

.chip a:hover {
    border-bottom-color: var(--brand-accent);
}

.chip--btn {
    cursor: pointer;
}

.chip--btn:hover {
    border-color: var(--brand-accent);
}

.article-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .65rem;
    margin-top: .35rem;
}

.btn {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    padding: .7rem .95rem;
    border-radius: var(--radius-1);
    border: var(--border-2) solid var(--c-border);
    background: transparent;
    color: var(--c-ink);
    text-decoration: none;
    cursor: pointer;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
    transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease), border-color var(--dur-1) var(--ease);
}

.btn:hover {
    transform: translate(-1px, -1px);
    box-shadow: var(--shadow-2);
    border-color: var(--brand-primary);
}

.btn:focus-visible {
    outline: none;
    box-shadow: var(--shadow-2), var(--focus-ring);
}

.btn--accent {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
    color: #fff;
    box-shadow: var(--shadow-2);
}

.btn--primary {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
    box-shadow: var(--shadow-2);
}

.btn--ghost {
    box-shadow: none;
}

.btn__dot {
    width: 10px;
    height: 10px;;
    background: #fff;
    border: var(--border-2) solid rgba(255, 255, 255, .7);
}

.btn__dot--primary {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
}

.btn__dot--accent {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
}

.share-panel {
    display: flex;
    flex-wrap: wrap;
    gap: .55rem;
    border-radius: var(--radius-1);
    background: var(--c-surface);
}

.share-panel a {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: .45rem .6rem;;
    border: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 90%, #fff 10%);
    text-decoration: none;
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
}

.article-grid {
    margin: 1.1rem 0;
    display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: var(--gutter-lg);
    align-items: start;
}

.pdf {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    overflow: hidden;
}

.pdf__frame {
    width: 100%;
    height: 540px;
    border: 0;
    display: block;
}

.pdf--locked {
    padding: 1rem;
}

.block {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    padding: .95rem;
    margin-bottom: .9rem;
}

.block__title {
    margin: 0 0 .55rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-xl);
}

.block__content {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
}

.linkbtn {
    margin-top: .55rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    color: var(--brand-accent);
    text-decoration: underline;
}

.tabs {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    overflow: hidden;
}

.tabs__bar {
    display: flex;
    gap: .35rem;
    padding: .55rem;
    border-bottom: 1px solid var(--c-subtle);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
}

.tabs__btn {
    flex: 0 0 auto;
    padding: .5rem .75rem;;
    border: var(--border-2) solid var(--c-border);
    background: transparent;
    cursor: pointer;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    box-shadow: var(--shadow-1);
}

.tabs__btn.is-active {
    background: var(--brand-primary);
    border-color: var(--brand-primary);
    color: #fff;
    box-shadow: var(--shadow-2);
}

.tabs__panel {
    padding: .95rem;
    display: none;
}

.tabs__panel.is-active {
    display: block;
}

.prose {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
}

.toast[hidden] {
    display: none;
}

.toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
    z-index: 60;
    padding: .6rem .85rem;;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
}

[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1024px) {
    .article-grid {
        grid-template-columns: 1fr;
    }

    .pdf__frame {
        height: 440px;
    }
}

.contacts-page {
    padding: 1.6rem 0 2.8rem;
    background: var(--c-paper);
}

.contacts-head__kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .7rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
}

.dot {
    width: 10px;
    height: 10px;
    background: var(--brand-accent);
    border: var(--border-2) solid var(--brand-accent);
}

.contacts-head__title {
    margin: 0 0 .6rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
}

.contacts-head__lead {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-md);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.contacts-grid {
    margin-top: 1.2rem;
    display: grid;
    grid-template-columns: 1.25fr .75fr;
    gap: var(--gutter-lg);
    align-items: start;
}

.contacts-card {
    border: var(--border-2) solid var(--c-border);
    border-radius: var(--radius-1);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    padding: 1rem;
}

.contacts-card__title {
    margin: 0 0 .75rem;
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-bold);
}

.contacts-card__body {
}

.contacts-info {
    display: grid;
    gap: 1rem;
}

.info-item {
    border: 1px solid var(--c-subtle);
    border-radius: var(--radius-1);
    background: color-mix(in srgb, var(--c-paper) 92%, #fff 8%);
    padding: .85rem .9rem;
}

.info-item__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin-bottom: .4rem;
}

.info-item__value {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.info-link {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 2px solid color-mix(in srgb, var(--brand-accent) 40%, transparent 60%);
}

.info-link:hover {
    border-bottom-color: var(--brand-accent);
}

.info-actions {
    margin-top: .7rem;
    display: flex;
    gap: .65rem;
    flex-wrap: wrap;
}

.info-sub {
    margin-top: .9rem;
    padding-top: .9rem;
    border-top: 1px solid var(--c-subtle);
}

/* reuse button/toast from your previous pages */
.toast[hidden] {
    display: none;
}

.toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
    z-index: 60;
    padding: .6rem .85rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
}

/* reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1024px) {
    .contacts-grid {
        grid-template-columns: 1fr;
    }
}

.cform {
    width: 100%;
}

.cform__grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.cform__field--full {
    grid-column: 1 / -1;
}

.cform__control {
    margin: 0;
}

.cform__input {
    width: 100%;
    display: block;
    padding: .85rem .9rem;
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    outline: none;
    border-radius: 0; /* квадрат */
    transition: border-color var(--dur-1) var(--ease), box-shadow var(--dur-1) var(--ease), transform var(--dur-2) var(--ease);
}

.cform__input::placeholder {
    color: color-mix(in srgb, var(--c-muted) 85%, transparent 15%);
}

.cform__input:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

.cform__input:hover {
    border-color: color-mix(in srgb, var(--brand-primary) 55%, var(--c-border) 45%);
}

.cform__textarea {
    min-height: 170px;
    resize: vertical;
}

.cform__error {
    margin-top: 6px;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    line-height: 1.25;
    color: var(--c-danger, #b00020);
}

/* Yii2 додає .has-error на контейнер поля */
.cform__control.has-error .cform__input {
    border-color: var(--c-danger, #b00020);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-danger, #b00020) 25%, transparent 75%);
}

/* Коли ми самі підсвічуємо */
.cform__input.is-invalid {
    border-color: var(--c-danger, #b00020);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-danger, #b00020) 25%, transparent 75%);
}

/* actions */
.cform__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 6px;
}

.cform__note {
    margin: 0;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-muted);
}

/* якщо на мобілці */
@media (max-width: 768px) {
    .cform__grid {
        grid-template-columns: 1fr;
    }

    .cform__actions {
        flex-direction: column;
        align-items: flex-start;
    }
}

.edb {
    padding: 1.6rem 0 2.8rem;
    background: var(--c-paper);
}

.edb__kicker {
    display: inline-flex;
    align-items: center;
    gap: .55rem;
    margin: 0 0 .6rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
}

.edb__title {
    margin: 0 0 .6rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
}

.edb__lead {
    margin: 0;
    max-width: 78ch;
    font-family: var(--font-sans);
    font-size: var(--text-md);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.edb__controls {
    position: sticky;
    top: var(--header-h, 0px);
    z-index: 10;
    margin-top: 1.1rem;
    padding: .75rem;
    border: var(--border-2) solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 85%, #fff 15%);
    box-shadow: var(--shadow-2);
    display: grid;
    grid-template-columns: 1fr 320px 140px 44px;
    gap: 10px;
}

.edb__controls.is-stuck {
    box-shadow: var(--shadow-2);
}

.edb__input, .edb__select {
    width: 100%;
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    padding: .75rem .85rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    color: var(--c-ink);
    outline: none;
    border-radius: 0;
}

.edb__input:focus, .edb__select:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

.edb__count {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    font-size: var(--text-sm);
}

.edb__top {
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    cursor: pointer;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    font-size: var(--text-sm);
    border-radius: 0;
    box-shadow: var(--shadow-1);
}

.edb__top:hover {
    border-color: var(--brand-accent);
    box-shadow: var(--shadow-2);
}

.edb__list {
    margin-top: 1rem;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.person {
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    padding: 1rem;
}

.person.chief-editor {
    grid-column: span 2;
    margin-bottom: 2rem;
}

.person.deputy-chief, .person.executive-secretary {
    margin-bottom: 2rem;
}

.person__head {
    display: flex;
    flex-direction: column;
    gap: .35rem;
    margin-bottom: .55rem;
}

.person__role {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
}

.person__name {
    margin: 0;
    font-family: var(--font-serif);
    font-size: var(--text-xl);
    font-weight: var(--fw-bold);
    line-height: var(--lh-tight);
}

.person__name a {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 2px solid color-mix(in srgb, var(--brand-accent) 35%, transparent 65%);
}

.person__name a:hover {
    border-bottom-color: var(--brand-accent);
}

.person__bio {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    color: var(--c-ink);
    margin-top: .6rem;
}

.person__links {
    margin-top: .8rem;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.plink {
    display: inline-flex;
    align-items: center;
    padding: .45rem .6rem;
    border: 2px solid var(--c-border);
    background: transparent;
    color: var(--c-ink);
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    border-radius: 0;
    cursor: pointer;
}

.plink:hover {
    border-color: var(--brand-primary);
    box-shadow: var(--shadow-1);
}

.plink--btn {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
    color: #fff;
}

.toast[hidden] {
    display: none;
}

.toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
    z-index: 60;
    padding: .6rem .85rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    border-radius: 0;
}

[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1024px) {
    .edb__controls {
        grid-template-columns: 1fr;
    }

    .edb__list {
        grid-template-columns: 1fr;
    }
}

.chief {
    padding: 1.6rem 0 2.8rem;
    background: var(--c-paper);
}

.chief__title {
    margin: 0 0 1rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
}

.chief__card {
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    padding: 1rem;
}

.chief__profile {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 14px;
    align-items: start;
}

.chief__photo {
    margin: 0;
    border: var(--border-2) solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 90%, #fff 10%);
    box-shadow: var(--shadow-2);
}

.chief__photo img {
    width: 100%;
    height: auto;
    display: block;
}

.chief__name {
    margin: 0 0 .55rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-2xl);
    line-height: var(--lh-tight);
}

.chief__desc {
    margin-top: .35rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.chief__actions {
    margin-top: .9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.chief__ids {
    margin-top: .9rem;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.chip {
    display: inline-flex;
    align-items: center;
    padding: .45rem .6rem;
    border: 2px solid var(--c-border);
    background: transparent;
    color: var(--c-ink);
    text-decoration: none;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    border-radius: 0;
}

.chip:hover {
    border-color: var(--brand-primary);
    box-shadow: var(--shadow-1);
}

.chief__bio {
    margin-top: 1rem;
}

/* Accordion */
.bio {
    border: var(--border-2) solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 86%, #fff 14%);
}

.bio__toggle {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    padding: .85rem .9rem;
    border: 0;
    background: transparent;
    cursor: pointer;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    text-align: left;
}

.bio__icon {
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
}

.bio__panel {
    border-top: 2px solid var(--c-border);
}

.bio__content {
    padding: .9rem;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

/* Side */
.chief__side .sidecard {
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    padding: 1rem;
}

.sidecard__title {
    margin: 0 0 .8rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-lg);
}

.sidecard__rows {
    display: grid;
    gap: 10px;
}

.siderow {
    border: 1px solid var(--c-subtle);
    padding: .75rem .8rem;
    background: color-mix(in srgb, var(--c-paper) 92%, #fff 8%);
}

.siderow__label {
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
    margin-bottom: .35rem;
}

.siderow__link {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 2px solid color-mix(in srgb, var(--brand-accent) 40%, transparent 60%);
}

.siderow__link:hover {
    border-bottom-color: var(--brand-accent);
}

.sidecard__mini {
    margin-top: .9rem;
}

/* Sticky: під хедер */
[data-sticky] {
    position: sticky;
    top: var(--header-h, 0px);
    z-index: 20;
}

/* toast */
.toast[hidden] {
    display: none;
}

.toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
    z-index: 60;
    padding: .6rem .85rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    border-radius: 0;
}

/* reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

.chief__grid,
.chief__side {
    overflow: visible;
}

@media (max-width: 1024px) {
    .chief__grid {
        grid-template-columns: 1fr;
    }

    .chief__profile {
        grid-template-columns: 1fr;
    }
}

.indexing {
    padding: 1.6rem 0 2.6rem;
    background: var(--c-paper);
}

.indexing__title {
    margin: 0 0 1rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
}

.indexing__controls {
    position: sticky;
    top: var(--header-h, 0px);
    z-index: 25;
    display: grid;
    grid-template-columns: 1fr 220px 120px 120px;
    gap: 10px;
    padding: .75rem;
    border: var(--border-2) solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 86%, #fff 14%);
    box-shadow: var(--shadow-2);
    margin-bottom: 1rem;
}

.indexing__input, .indexing__select {
    width: 100%;
    padding: .75rem .85rem;
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    outline: none;
    border-radius: 0;
}

.indexing__input:focus, .indexing__select:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

.indexing__toggle {
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    cursor: pointer;
    border-radius: 0;
}

.indexing__toggle[aria-pressed="true"] {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
    color: #fff;
}

.indexing__count {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
}

.indexing__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.db {
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-2);
    display: grid;
    grid-template-columns: 150px 1fr;
    min-height: 140px;
}

.db__logo {
    display: flex;
    align-items: center;
    justify-content: center;
    border-right: 2px solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 92%, #fff 8%);
    padding: 12px;
}

.db__logo img {
    max-width: 100%;
    max-height: 70px;
    object-fit: contain;
    display: block;
    filter: saturate(0.95) contrast(1.05);
}

.db__body {
    padding: 12px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}

.db__name {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-lg);
    line-height: var(--lh-tight);
}

.db__name a {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 2px solid color-mix(in srgb, var(--brand-accent) 40%, transparent 60%);
}

.db__name a:hover {
    border-bottom-color: var(--brand-accent);
}

.db__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

/* Compact mode */
.indexing.is-compact .indexing__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.indexing.is-compact .db {
    grid-template-columns: 1fr;
    min-height: auto;
}

.indexing.is-compact .db__logo {
    border-right: 0;
    border-bottom: 2px solid var(--c-border);
}

.indexing.is-compact .db__actions {
    display: none;
}

.toast[hidden] {
    display: none;
}

.toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
    z-index: 60;
    padding: .6rem .85rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-3);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    border-radius: 0;
}

[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1024px) {
    .indexing__controls {
        grid-template-columns: 1fr;
    }

    .indexing__grid {
        grid-template-columns: 1fr;
    }

    .indexing.is-compact .indexing__grid {
        grid-template-columns: 1fr 1fr;
    }
}

.e404 {
    padding: 2rem 0 3rem;
    background: var(--c-paper);
}

.e404__grid {
    gap: 18px;
    align-items: start;
}

.e404__code {
    margin: 0 0 .6rem;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: clamp(3.4rem, 6vw, 5.6rem);
    line-height: .95;
    letter-spacing: -0.02em;
    color: var(--brand-primary);
    display: inline-block;
}

.e404__code:hover {
    text-shadow: 3px 0 0 color-mix(in srgb, var(--brand-accent) 70%, transparent 30%),
    -3px 0 0 color-mix(in srgb, var(--brand-primary) 70%, transparent 30%);
}

.e404__msg {
    margin: 0 0 1rem;
    font-family: var(--font-sans);
    font-size: var(--text-md);
    line-height: var(--lh-base);
    color: var(--c-ink);
}

.e404__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 1rem;
}

/* Search block */
.e404__form {
    display: grid;
    grid-template-columns: 1fr 160px;
    gap: 10px;
}

.e404__input {
    width: 100%;
    padding: .8rem .9rem;
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    outline: none;
    border-radius: 0;
}

.e404__input:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

.e404__submit {
    border: 2px solid var(--c-border);
    background: var(--brand-accent);
    color: #fff;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    cursor: pointer;
    border-radius: 0;
    box-shadow: var(--shadow-1);
}

.e404__submit:hover {
    box-shadow: var(--shadow-2);
}

/* Art */
.e404__art {
    margin: 0;
    border: var(--border-2) solid var(--c-border);
    background: color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    box-shadow: var(--shadow-2);
    padding: 1rem;
}

.e404__art img {
    width: 100%;
    height: auto;
    display: block;
    filter: contrast(1.08) saturate(.95);
}

.e404__hint {
    margin-top: .8rem;
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    font-weight: var(--fw-bold);
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--c-muted);
}

.toast[hidden] {
    display: none;
}

.toast {
    position: fixed;
    left: 50%;
    transform: translateX(-50%);
    bottom: 18px;
    z-index: 60;
    padding: .6rem .85rem;
    border: var(--border-2) solid var(--c-border);
    background: var(--c-surface);
    box-shadow: var(--shadow-3);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    font-weight: var(--fw-bold);
    border-radius: 0;
}

/* reveal */
[data-reveal] {
    opacity: 0;
    transform: translateY(10px);
    transition: opacity 450ms var(--ease), transform 450ms var(--ease);
}

.is-revealed {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1024px) {
    .e404__grid {
        grid-template-columns: 1fr;
    }

    .e404__form {
        grid-template-columns: 1fr;
    }
}

.page {
    padding: 1.6rem 0 2.6rem;
    background: var(--c-paper);
}

.page__head {
    margin-bottom: 12px;
}

.page__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-3xl);
    line-height: var(--lh-tight);
    color: var(--c-ink);
}

.page__body {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    line-height: var(--lh-base);
    color: var(--c-ink);
    text-align: justify;
}

/* типографіка для контенту з адмінки */
.page__body h2, .page__body h3, .page__body h4 {
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    margin: 1.1rem 0 .55rem;
    line-height: var(--lh-tight);
}

.page__body p {
    margin: 0 0 .9rem;
}

.page__body a {
    color: var(--c-ink);
    text-decoration: none;
    border-bottom: 2px solid color-mix(in srgb, var(--brand-accent) 40%, transparent 60%);
}

.page__body a:hover {
    border-bottom-color: var(--brand-accent);
}

.page__body ul, .page__body ol {
    padding-left: 1.2rem;
    margin: .4rem 0 1rem;
}

.page__body blockquote {
    margin: 1rem 0;
    padding: .9rem;
    border-left: 4px solid var(--brand-primary);
    background: color-mix(in srgb, var(--c-paper) 86%, #fff 14%);
}

.page__body ul {
    list-style: none;
    padding-left: 0;
    margin: .6rem 0 1rem;
}

.page__body ul li {
    position: relative;
    padding-left: 1.1rem;
    margin-bottom: .45rem;
    line-height: var(--lh-base);
}

/* маркер */
.page__body ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 6px;
    height: 6px;
    background: var(--brand-primary);
}

.page__body ul ul {
    margin-top: .4rem;
}

.page__body ul ul li::before {
    width: 4px;
    height: 4px;
    background: var(--brand-accent);
}

.page--submission .smodal {
    position: fixed;
    inset: 0;
    z-index: 120;
}

.page--submission .smodal[hidden] {
    display: none;
}

.page--submission .smodal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .55);
}

.page--submission .smodal__panel {
    position: relative;
    max-width: 920px;
    max-height: 90vh;
    margin: 5vh auto;
    background: var(--c-surface);
    border: 2px solid var(--c-border);
    box-shadow: var(--shadow-3);
    display: flex;
    flex-direction: column;
}

.page--submission .smodal__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: .8rem 1rem;
    border-bottom: 2px solid var(--c-border);
}

.page--submission .smodal__title {
    margin: 0;
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-lg);
    line-height: var(--lh-tight);
}

.page--submission .smodal__close {
    width: 32px;
    height: 32px;
    border: 2px solid var(--c-border);
    background: none;
    cursor: pointer;
    font-size: 18px;
}

.page--submission .smodal__body {
    padding: 1rem;
    overflow: auto;
    font-family: var(--font-sans);
    line-height: var(--lh-base);
}

/* мобільна */
@media (max-width: 768px) {
    .page--submission .smodal__panel {
        max-width: calc(100% - 16px);
        margin: 4vh auto;
    }
}

/* ===== Submission form shell ===== */
.sform {
    width: 100%;
}

.sform__grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 12px;
}

/* поля */
.sfield {
    grid-column: span 4;
}

.sfield--wide {
    grid-column: span 8;
}

.sfield--full {
    grid-column: 1 / -1;
}

@media (max-width: 1024px) {
    .sfield {
        grid-column: 1 / -1;
    }

    .sfield--wide {
        grid-column: 1 / -1;
    }
}

/* yii field wrapper */
.sfield__wrap {
    margin: 0;
}

/* controls */
.sfield__control,
.sform .form-control {
    width: 100%;
    padding: .8rem .9rem;
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    outline: none;
    border-radius: 0;
    box-shadow: none;
}

.sfield__control:focus,
.sform .form-control:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

/* placeholder */
.sform input::placeholder,
.sform textarea::placeholder {
    color: color-mix(in srgb, var(--c-ink) 50%, transparent 50%);
}

/* disabled */
.sform :is(input, select, textarea, button)[disabled] {
    opacity: .7;
    cursor: not-allowed;
}

/* errors (Yii) */
.sform .has-error .sfield__control,
.sform .has-error .form-control {
    border-color: #b00020;
}

.sform .help-block {
    margin: .35rem 0 0;
    font-size: 12px;
    line-height: 1.2;
    color: #b00020;
}

/* submit */
.sform__submit {
    width: 100%;
    justify-content: center;
}

/* ===== Select2 ===== */
.sform .select2-container--default .select2-selection--single {
    height: auto;
    border: 2px solid var(--c-border);
    border-radius: 0;
    background: var(--c-surface);
    box-shadow: none;
}

.sform .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: .8rem .9rem;
    line-height: 1.2;
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

.sform .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 10px;
}

.sform .select2-container--open .select2-selection--single {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

/* dropdown */
.select2-dropdown {
    border: 2px solid var(--c-border) !important;
    border-radius: 0 !important;
}

.select2-results__option {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

/* ===== PhoneInput ===== */
.sform .iti {
    width: 100%;
}

.sform .iti__selected-flag {
    border-right: 2px solid var(--c-border);
    border-radius: 0;
}

.sform .iti__country-list {
    border: 2px solid var(--c-border);
    border-radius: 0;
    z-index: 10;
}

/* FileInput container */
.sform .file-input {
    width: 100%;
}

/* caption (рамка/поле з назвою файлу) */
.sform .file-caption {
    border: 2px solid var(--c-border);
    border-radius: 0;
    box-shadow: none;
    background: var(--c-surface);
}

.sform .file-caption .file-caption-name {
    border: 0;
    border-radius: 0;
    background: transparent;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    color: var(--c-ink);
}

/* кнопки fileinput: квадратні */
.sform .sfile__btn {
    border-radius: 0;
    box-shadow: none;
}

/* головна кнопка: кольорова (accent) */
.sform .sfile__btn--pick {
    border: 2px solid var(--c-border);
    background: var(--brand-accent);
    color: #fff;
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
    cursor: pointer;
}

.sform .sfile__btn--pick:hover {
    filter: brightness(.95);
}

/* remove/cancel: спокійні */
.sform .sfile__btn--remove,
.sform .sfile__btn--cancel {
    border: 2px solid var(--c-border);
    background: var(--c-surface);
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-weight: var(--fw-bold);
}

.sform .sfile__btn--remove:hover,
.sform .sfile__btn--cancel:hover {
    border-color: var(--brand-primary);
}

/* фокус */
.sform .btn:focus {
    outline: none;
    box-shadow: var(--focus-ring);
}

/* прибираємо “bootstrap input-group rounded feel”, якщо вилазить */
.sform .input-group > * {
    border-radius: 0 !important;
}

.panel {
    background: var(--c-paper);
}

/* контейнер */
.sform .sselect .select2-container {
    width: 100% !important;
}

/* single selection box */
.sform .select2-container--default .select2-selection--single {
    height: auto;
    min-height: 46px;
    border: 2px solid var(--c-border);
    border-radius: 0;
    background: var(--c-surface);
    box-shadow: none;
}

/* текст */
.sform .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: .8rem .9rem;
    line-height: 1.2;
    color: var(--c-ink);
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

/* placeholder має бути “приглушений” */
.sform .select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: color-mix(in srgb, var(--c-ink) 50%, transparent 50%);
}

/* стрілка */
.sform .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 10px;
}

/* clear (x) */
.sform .select2-container--default .select2-selection--single .select2-selection__clear {
    margin-right: 10px;
    color: var(--c-ink);
}

/* focus/open */
.sform .select2-container--open .select2-selection--single,
.sform .select2-container--focus .select2-selection--single {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

/* dropdown */
.sform .select2-dropdown {
    border: 2px solid var(--c-border);
    border-radius: 0;
    box-shadow: var(--shadow-2);
}

/* пошук всередині dropdown */
.sform .select2-search--dropdown .select2-search__field {
    border: 2px solid var(--c-border);
    border-radius: 0;
    padding: .65rem .75rem;
    outline: none;
    font-family: var(--font-sans);
    font-size: var(--text-sm);
}

.sform .select2-search--dropdown .select2-search__field:focus {
    border-color: var(--brand-primary);
    box-shadow: var(--focus-ring);
}

/* елементи списку */
.sform .select2-results__option {
    font-family: var(--font-sans);
    font-size: var(--text-sm);
    padding: .55rem .75rem;
}

/* hover/active */
.sform .select2-results__option--highlighted.select2-results__option--selectable {
    background: color-mix(in srgb, var(--brand-primary) 16%, transparent 84%);
    color: var(--c-ink);
}

/* selected */
.sform .select2-results__option--selected {
    background: color-mix(in srgb, var(--brand-accent) 14%, transparent 86%);
}

/* помилка Yii (has-error на wrapper) */
.sform .has-error .select2-container--default .select2-selection--single {
    border-color: #b00020;
}

.sform .sselect.is-filled .select2-selection--single {
    box-shadow: inset 4px 0 0 0 var(--brand-accent);
}

/* =========================
   FORM LISTS (UL/OL) — universal
   Scope: only inside .sform
   ========================= */

.sform :is(ul, ol) {
    margin: .6rem 0 1rem;
    padding-left: 0;
}

.sform ul {
    list-style: none;
}

.sform ul li {
    position: relative;
    padding-left: 1.1rem;
    margin: 0 0 .45rem;
    line-height: var(--lh-base);
}

/* квадратний маркер */
.sform ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .55em;
    width: 6px;
    height: 6px;
    background: var(--brand-primary);
}

/* вкладені ul — дрібніший маркер + акцент */
.sform ul ul {
    margin: .4rem 0 .2rem;
}

.sform ul ul li::before {
    width: 4px;
    height: 4px;
    background: var(--brand-accent);
}

/* OL — академічно чисто, але охайно */
.sform ol {
    padding-left: 1.2rem; /* щоб цифри були рівно */
}

.sform ol li {
    margin: 0 0 .45rem;
    line-height: var(--lh-base);
}

/* якщо всередині списків є лінки */
.sform li a {
    color: var(--brand-primary);
    text-decoration: none;
    border-bottom: 1px solid color-mix(in srgb, var(--brand-primary) 35%, transparent 65%);
}

.sform li a:hover {
    border-bottom-color: var(--brand-primary);
}

/* списки поруч з помилками/хінтами не повинні роздувати відступи */
.sform .help-block + ul,
.sform .help-block + ol {
    margin-top: .4rem;
}

/* =========================
   PRELOADER — rich but clean
   ========================= */

.preloader {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: #fff;
    opacity: 1;
    visibility: visible;
    transition: opacity .55s ease, visibility .55s ease;
}

.preloader.is-hidden {
    opacity: 0;
    visibility: hidden;
}

.preloader__stage {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
}

/* subtle grid */
.preloader__grid {
    position: absolute;
    inset: -40%;
    background-image: linear-gradient(to right, rgba(0, 0, 0, .06) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(0, 0, 0, .06) 1px, transparent 1px);
    background-size: 48px 48px;
    transform: rotate(-8deg);
    animation: pl-grid 6s ease-in-out infinite;
}

@keyframes pl-grid {
    0%, 100% {
        transform: rotate(-8deg) translateY(0);
        opacity: .55;
    }
    50% {
        transform: rotate(-8deg) translateY(18px);
        opacity: .35;
    }
}

/* noise layer */
.preloader__noise {
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: .06;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.55'/%3E%3C/svg%3E");
    animation: pl-noise .8s steps(2) infinite;
}

@keyframes pl-noise {
    0% {
        transform: translate(0, 0);
    }
    100% {
        transform: translate(-6px, 6px);
    }
}

/* card */
.preloader__card {
    position: relative;
    width: min(720px, calc(100% - 32px));
    border: 2px solid var(--brand-primary);
    box-shadow: 10px 10px 0 rgba(0, 0, 0, .10);
    padding: 18px 18px 16px;
    background: #fff;
    transform: translateY(8px);
    animation: pl-card-in .7s cubic-bezier(.2, .9, .2, 1) both;
}

@keyframes pl-card-in {
    from {
        opacity: 0;
        transform: translateY(22px);
    }
    to {
        opacity: 1;
        transform: translateY(8px);
    }
}

/* brand line */
.preloader__brand {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.preloader__dot {
    width: 12px;
    height: 12px;
    background: var(--brand-accent);
    animation: pl-dot 1.2s ease-in-out infinite;
}

@keyframes pl-dot {
    0%, 100% {
        transform: scale(1);
        opacity: .75;
    }
    50% {
        transform: scale(1.35);
        opacity: 1;
    }
}

.preloader__name {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--brand-primary);
}

/* main text */
.preloader__headline {
    font-family: var(--font-serif, inherit);
    font-size: clamp(18px, 3.2vw, 28px);
    line-height: 1.15;
    color: #111;
    margin: 8px 0 14px;
    display: inline-block;
    position: relative;
}

.preloader__headline::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background: color-mix(in srgb, var(--brand-accent) 70%, transparent 30%);
    transform-origin: left;
    animation: pl-underline 1.6s ease-in-out infinite;
}

@keyframes pl-underline {
    0%, 100% {
        transform: scaleX(.25);
        opacity: .5;
    }
    50% {
        transform: scaleX(1);
        opacity: 1;
    }
}

/* meta line */
.preloader__meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
    font-size: 12px;
    color: rgba(0, 0, 0, .70);
}

.preloader__tag {
    border: 2px solid var(--brand-primary);
    padding: 4px 8px;
    background: #fff;
}

.preloader__count {
    font-variant-numeric: tabular-nums;
    letter-spacing: .02em;
}

/* progress bar */
.preloader__bar {
    width: 100%;
    height: 10px;
    border: 2px solid var(--brand-primary);
    background: #fff;
    overflow: hidden;
}

.preloader__bar-fill {
    display: block;
    height: 100%;
    width: 0%;
    background: var(--brand-accent);
    transform: translateZ(0);
    transition: width .18s ease;
}

/* reduced motion */
@media (prefers-reduced-motion: reduce) {
    .preloader__grid,
    .preloader__noise,
    .preloader__dot,
    .preloader__headline::after,
    .preloader__card {
        animation: none !important;
    }

    .preloader__bar-fill {
        transition: none !important;
    }
}

.panel__tools {
    display: grid;
    grid-template-columns:1fr auto auto;
    gap: 12px;
    align-items: center;
    padding: 12px 16px 16px;
    border-top: 2px solid rgba(0, 0, 0, .08);
}

.author__name {
    margin: 0 0 8px;
    font-size: 22px;
    color: #111;
}

.prose {
    color: #222;
    line-height: 1.6
}

.tool__label {
    display: block;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .65);
    margin-bottom: 6px;
}

.tool__meta {
    font-size: 12px;
    color: rgba(0, 0, 0, .65);
    justify-self: end;
    align-self: center;
}

.papers__title {
    margin: 22px 0 12px;
    font-size: 18px;
    color: #111;
}

.paper {
    grid-column: span 6;
    border: 2px solid rgba(0, 0, 0, .10);
    background: #fff;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .06);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (max-width: 900px) {
    .paper {
        grid-column: span 12
    }

    .panel__tools {
        grid-template-columns:1fr;
    }
}

.paper__badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap
}

.badge {
    border: 2px solid rgba(0, 0, 0, .12);
    padding: 3px 8px;
    font-size: 12px;
    background: #fff;
}

.badge--open {
    border-color: var(--brand-accent);
    color: var(--brand-accent);
}

.badge--date {
    border-color: rgba(0, 0, 0, .18);
}

.paper__link {
    color: #111;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, .12)
}

.paper__link:hover {
    border-bottom-color: var(--brand-accent)
}

.paper__authors {
    font-size: 13px;
    color: rgba(0, 0, 0, .75)
}

.paper__author {
    color: var(--brand-primary);
    text-decoration: none
}

.paper__author:hover {
    text-decoration: underline
}

.paper__keywords {
    font-size: 13px;
    color: rgba(0, 0, 0, .75)
}

.paper__klabel {
    font-weight: 700;
    color: #111;
    margin-right: 6px
}

.paper__doi a {
    font-size: 13px;
    color: var(--brand-primary);
    text-decoration: none
}

.paper__doi a:hover {
    text-decoration: underline
}

.paper__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto
}

.paper__issue {
    font-size: 12px;
    color: rgba(0, 0, 0, .65)
}

/* checkbox (квадратний) */
.check {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    user-select: none
}

.check__input {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.check__box {
    width: 16px;
    height: 16px;
    border: 2px solid var(--brand-primary);
    background: #fff;
    display: inline-block
}

.check__input:checked + .check__box {
    background: var(--brand-accent);
    border-color: var(--brand-accent)
}

.check__text {
    font-size: 13px;
    color: #111
}

.page .wrap {
    max-width: 1200px;
    margin: 0 auto;
    padding: 24px 16px;
}

.page__head {
    margin: 0 0 14px;
}

.page__title {
    margin: 0;
    font-size: 28px;
    color: var(--brand-primary);
}

.search-shell {
}

@media (max-width: 980px) {
    .search-shell {
        grid-template-columns:1fr
    }
}

.panel__body {
    padding: 16px;
}

.filters {
    display: grid;
    gap: 12px;
}

.filters__label {
    display: block;
    font-size: 12px;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .65);
    margin-bottom: 6px;
}

.filters__meta {
    display: flex;
    justify-content: flex-end
}

.filters__count {
    font-size: 12px;
    color: rgba(0, 0, 0, .65);
}

.empty {
    border: 2px solid rgba(0, 0, 0, .12);
    padding: 18px;
    background: #fff;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .06);
}

.empty__title {
    margin: 0 0 6px;
    font-size: 18px;
    color: #111
}

.empty__text {
    margin: 0;
    color: rgba(0, 0, 0, .70);
    line-height: 1.6
}

.result-head {
    margin: 0 0 10px;
}

.result-head__line {
    display: flex;
    gap: 10px;
    align-items: center;
}

.result-head__badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 28px;
    height: 28px;
    border: 2px solid var(--brand-primary);
    background: #fff;
    font-weight: 700;
}

.result-head__text {
    font-size: 14px;
    letter-spacing: .10em;
    text-transform: uppercase;
    color: rgba(0, 0, 0, .70);
}

.result-grid {
    display: grid;
    grid-template-columns:repeat(12, 1fr);
    gap: 14px;
}

.result-card {
    grid-column: span 6;
    border: 2px solid rgba(0, 0, 0, .12);
    background: #fff;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .06);
    padding: 14px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

@media (max-width: 980px) {
    .result-card {
        grid-column: span 12
    }
}

.result-card__badges {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: .5rem;
}

.badge {
    border: 2px solid rgba(0, 0, 0, .12);
    padding: 3px 8px;
    font-size: 12px;
    background: #fff;
}

.badge--open {
    border-color: var(--brand-accent);
    color: var(--brand-accent);
}

.badge--date {
    border-color: rgba(0, 0, 0, .18);
}

.result-card__title {
    margin: 0;
    font-size: 16px;
    line-height: 1.35
}

.result-card__link {
    color: #111;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, .12)
}

.result-card__link:hover {
    border-bottom-color: var(--brand-accent)
}

.result-card__authors {
    font-size: 13px;
    color: rgba(0, 0, 0, .75)
}

.result-card__author {
    color: var(--brand-primary);
    text-decoration: none
}

.result-card__author:hover {
    text-decoration: underline
}

.result-card__keywords {
    font-size: 13px;
    color: rgba(0, 0, 0, .75)
}

.result-card__klabel {
    font-weight: 700;
    color: #111;
    margin-right: 6px
}

.result-card__doi a {
    font-size: 13px;
    color: var(--brand-primary);
    text-decoration: none
}

.result-card__doi a:hover {
    text-decoration: underline
}

.result-card__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: auto
}

.result-card__stats {
    display: flex;
    gap: 10px;
    align-items: center
}

.stat {
    display: inline-flex;
    gap: 8px;
    align-items: baseline
}

.stat__label {
    font-size: 12px;
    color: rgba(0, 0, 0, .65);
    letter-spacing: .06em;
    text-transform: uppercase
}

.stat__value {
    font-size: 14px;
    color: #111;
    font-variant-numeric: tabular-nums
}

/* checkbox square */
.check {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    user-select: none
}

.check__input {
    position: absolute;
    opacity: 0;
    pointer-events: none
}

.check__box {
    width: 16px;
    height: 16px;
    border: 2px solid var(--brand-primary);
    background: #fff;
    display: inline-block
}

.check__input:checked + .check__box {
    background: var(--brand-accent);
    border-color: var(--brand-accent)
}

.check__text {
    font-size: 13px;
    color: #111
}

/* ===== Radio (square brutal) ===== */
.sradio {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 10px;
    border: 2px solid rgba(0, 0, 0, .14);
    background: #fff;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .06);
    cursor: pointer;
    user-select: none;
    line-height: 1.2;
}

.sradio:hover {
    border-color: var(--brand-primary);
}

.sradio__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.sradio__box {
    width: 16px;
    height: 16px;
    border: 2px solid var(--brand-primary);
    background: #fff;
    display: inline-block;
    box-shadow: 2px 2px 0 rgba(0, 0, 0, .10);
    flex: 0 0 16px;
}

.sradio__text {
    font-size: 13px;
    color: #111;
}

/* checked */
.sradio__input:checked + .sradio__box {
    background: var(--brand-accent);
    border-color: var(--brand-accent);
}

/* focus (keyboard) */
.sradio__input:focus-visible + .sradio__box {
    outline: 2px solid var(--brand-primary);
    outline-offset: 3px;
}

/* disabled */
.sradio__input:disabled + .sradio__box {
    opacity: .45;
    box-shadow: none;
}

.sradio__input:disabled ~ .sradio__text {
    opacity: .55;
}

.sradio__input:disabled ~ .sradio {
    cursor: not-allowed;
}

/* group layout (if radioList wraps in a container) */
.sradio-group {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.search-shell--authors {
    grid-template-columns:360px 1fr;
}

@media (max-width: 980px) {
    .search-shell--authors {
        grid-template-columns:1fr
    }
}

.filters__hint {
    margin-top: 6px;
    font-size: 12px;
    color: rgba(0, 0, 0, .55);
    line-height: 1.4
}

.filters__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap
}

.authors-stack {
    display: grid;
    gap: 14px
}

.author-block {
    border: 2px solid rgba(0, 0, 0, .12);
    background: #fff;
    box-shadow: 6px 6px 0 rgba(0, 0, 0, .06);
}

.author-block__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border-bottom: 2px solid rgba(0, 0, 0, .08);
}

.author-block__title {
    display: flex;
    align-items: baseline;
    gap: 10px;
    flex-wrap: wrap
}

.author-block__link {
    color: #111;
    text-decoration: none;
    border-bottom: 1px solid rgba(0, 0, 0, .12);
    font-family: var(--font-serif);
    font-weight: var(--fw-bold);
    font-size: var(--text-lg);
}

.author-block__link:hover {
    border-bottom-color: var(--brand-accent)
}

.author-block__meta {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.author-block__meta-text {
    font-size: 12px;
    color: rgba(0, 0, 0, .65);
    letter-spacing: .08em;
    text-transform: uppercase
}

.badge--muted {
    border-color: rgba(0, 0, 0, .18);
    color: rgba(0, 0, 0, .70)
}

.author-block__toggle {
    white-space: nowrap
}

.author-block__empty {
    padding: 14px;
    color: rgba(0, 0, 0, .70)
}

.author-block__list {
    padding: 14px;
    display: grid;
    gap: 12px
}

.result-card--compact {
    box-shadow: none;
    border-color: rgba(0, 0, 0, .10)
}

/* ===== Auth page ===== */
.page--auth .wrap{max-width:900px;margin:0 auto;padding:18px 16px}
.auth__card{
    border:2px solid rgba(0,0,0,.12);
    background:#fff;
    box-shadow:10px 10px 0 rgba(0,0,0,.06);
    padding:16px;
}

.aform__grid{display:grid;gap:12px}
.sfield__wrap{position:relative}
.sfield__control{
    width:100%;
    height:44px;
    padding:10px 12px;
    border:2px solid rgba(0,0,0,.14);
    background:#fff;
    outline:none;
    box-shadow:6px 6px 0 rgba(0,0,0,.05);
}
.sfield__control:focus-visible{
    border-color:var(--brand-primary);
    box-shadow:6px 6px 0 rgba(0,0,0,.05), 0 0 0 3px rgba(0,75,86,.18);
}

.sfield__wrap--withbtn .sfield__btn{
    position:absolute;
    right:6px;
    top:6px;
    height:32px;
    padding:0 10px;
}

.aform__actions{display:flex;gap:10px;flex-wrap:wrap}

.hint{margin-top:8px;font-size:12px;line-height:1.4}
.hint--warn{color:rgba(0,0,0,.75);}

.s-error{
    margin-top:6px;
    font-size:12px;
    line-height:1.35;
    color:#b00020;
}

/* error state for input (Yii adds .has-error on field wrapper sometimes) */
.has-error .sfield__control{
    border-color:#b00020;
    box-shadow:6px 6px 0 rgba(0,0,0,.05);
}

.share-block {
    margin-top: .9rem;
    display: flex;
    gap: 2rem;
}

.article-meta .chipa_date {
    display: inline-flex;
    gap: .45rem;
    align-items: center;
    background:
            color-mix(in srgb, var(--c-paper) 88%, #fff 12%);
    font-family: var(--font-sans);
    font-size: var(--text-xs);
    color: var(--c-ink);
}

.article-meta .meta-date {
    gap: 1.2rem;
}
/* Lawyer Justice HTML5 Template */

@media only screen and (max-width: 1320px){
	.main-header .top-bar .lang-box .lang-list{
		left:auto;
		right:0px;	
	}
	
	.main-header .top-bar .lang-box .lang-list::before{
		left:auto;
		right:25px;	
	}
}

@media only screen and (max-width: 1140px){
	.main-header .lower-section .outer-box{
		padding:0px 180px 0px 20px;	
	}
	
	.header-lower .logo,
	.header-lower .main-menu{
		float:none !important;
	}
	
	.main-menu .navigation > li{
		margin-right:10px;	
	}
	
	.main-header .link-box{
		right:20px;	
	}
	
	.sponsors-section .owl-nav .owl-prev{
		left:10px;	
	}
	
	.sponsors-section .owl-nav .owl-next{
		right:10px;	
	}
	
	.text-carousel-outer{
		margin-bottom:15px;	
	}
	
	.our-experience .timeline-outer{
		padding-left:0px;	
	}
	
	.our-experience .timeline-outer .left-line{
		display:none;	
	}
	
	.error-section .image-box img{
		max-width:70%;	
	}
	
	.attorney-single .basic-details .member-info,
	.attorney-single .basic-details .contact-info{
		width:100%;
		margin-bottom:10px;	
	}
	
	.attorney-single .basic-details .theme-btn{
		margin-bottom:10px;	
	}
	
	.blog-details .post-bottom .post-info,
	.blog-details .post-bottom .share-options{
		width:100%;
		margin-bottom:5px;	
	}
	
}

@media only screen and (min-width: 768px){
	.main-menu .navigation > li > ul,
	.main-menu .navigation > li > ul > li > ul{
		display:block !important;
		visibility:hidden;
		opacity:0;
	}
}


@media only screen and (max-width: 1023px){
	.main-header .middle-bar .logo-column{
		position:relative;	
	}
	.main-header .lower-section .outer-box{
		padding:0px 20px;
		height:90px;	
	}
	
	.main-menu{
		display:none;	
	}
	
	.main-header .nav-toggler{
		display:block;
		right:20px;	
	}
	
	.main-header .link-box{
		right:auto;
		left:20px;
	}
	
	.main-header .top-bar .top-right{
		float:right;
	}
	
	.two-column-fluid .whyus-column .inner-box{
		padding-left:15px;	
	}
	
	.two-column-fluid .whyus-column .icon-block{
		padding-left:70px;	
	}
	
	.two-column-fluid .whyus-column .icon-block .icon{
		left:-20px;	
	}
	
	.consult-section .auto-container{
		padding-left:15px;	
	}
	
	.consult-section .man-image{
		display:none;	
	}
	
	.error-section .image-box{
		display:none;	
	}
	
	.error-section .text-content{
		max-width:100%;
		padding:0px 0px 70px;	
	}
	
	.checkout-section .table-outer{
		margin-bottom:30px;	
	}
}

@media only screen and (max-width: 767px){
	
	
	.main-slider .tp-caption{
		display:none !important;	
	}
	
	.practice-column .lower-content{
		min-height:100px;	
	}

	.main-header .top-bar .search-box {
		display: none;
	}
	.law-section .law-upper .specs-box{
		padding:30px 20px;
	}
	
	.accordion-box .accordion .accord-btn::after{
		right:0px;	
	}
	
	.list-view .featured-news-column .image-box,
	.list-view .featured-news-column .right-content{
		width:100%;	
	}
	
	.list-view .featured-news-column .content{
		padding:30px 20px;	
	}
	
	.list-view .featured-news-column .date{
		left:30px;
		top:-80px;	
	}
	
	.two-column-fluid .testimonial-column .carousel-box{
		padding:0px 10px 0px 100px;	
	}
}

@media only screen and (max-width: 599px){
	
	
	.main-header .outer-box .clearfix.hidden{
		display:block !important;	
	}
	
	.main-header .middle-bar .info-column{
		width:100%;
		margin:0px;
		text-align:center;	
	}
	
	.styled-heading h2,
	.welcome-section .text-header h2,
	.styled-heading h2,
	.main-header .middle-bar .info-column h3,
	.law-section .law-upper .specs-box h2,
	.featured-news-column h3,
	.blog-details .styled-heading h2{
		font-size:22px;	
	}
	
	.accordion-box .accordion .accord-btn h4{
		font-size:14px;	
	}
	
	.page-title h1{
		font-size:26px;
		line-height:40px;	
	}
	
	section.page-title{
		padding:135px 0px 85px;
	}
	
	.error-section .bigger-text{
		font-size:100px;
		line-height:100px;	
	}
	
	.error-section .theme-btn{
		margin-bottom:10px;	
	}
	
	.page-info .pull-left,
	.page-info .pull-right{
		width:100%;
		margin-bottom:10px;	
	}
	
	.tabs-box.style-one .tab-buttons .tab-btn{
		display:block;
		margin:0px 0px 15px;
	}
	
	.prod-tabs .tab-btns .tab-btn{
		display:block;
		border:2px solid #e0e0e0;
		margin-bottom:10px;
		float:none;
		width:100%;
		text-align:center;	
	}
	
	.two-column-fluid .testimonial-column .carousel-box{
		padding:0px 15px;	
	}
	
	.two-column-fluid .testimonial-column .quote-icon{
		display:none;	
	}
	
}

@media only screen and (max-width: 479px){

	.main-header .top-bar .fb-box,
	.main-header .top-bar .search-box{
		display:none;	
	}

	.main-header .top-bar .lang-box{
		margin:0px;
		width:100%;	
	}
	
	.main-header .link-box{
		left:10px;	
	}
	
	.lower-section .nav-toggler{
		right:10px;	
	}
		
	
	.main-header .top-bar .lang-box .lang-list{
		right:auto;
		left:0px;	
	}
	
	.blog-details .comments-area .reply-comment{
		margin-left:0px;	
	}
	
	.blog-details .comments-area .comment-box strong,
	.blog-details .comments-area .comment-box .time{
		width:100%;	
	}
	
	.product-details .basic-details .item-quantity{
		margin-bottom:15px;	
	}
	
	.prod-tabs .reviews-container .review-box{
		padding-left:0px;	
	}
	
	.prod-tabs .reviews-container .rev-thumb{
		position:relative;
		margin-bottom:20px;	
	}
	
	.cart-table tbody tr .prod-column .column-box h3{
		padding-top:10px !important;	
	}
	
	
}
@media only screen and (max-width: 397px) {
	.main-header .top-bar {
		text-align: center;
	}
	.main-header .top-bar .top-right {
		display: -o-flex;
		display: flex;
		display: -ms-flex;
		display: -moz-flex;
		display: -webkit-flex;
		justify-content: space-between;
		-webkit-justify-content: space-between;
	}
	.main-header .top-bar .top-left,
	.main-header .top-bar .top-right {
		float: none;
	}
	.main-header .top-bar .fb-box {
		display: block;
	}
	.main-header .top-bar .lang-box {
		width: auto;
	}
}