/* Global */
:root {
    --primary-color: #c11525;
    --primary-color-rgb: 193, 21, 37;
    --primary-color-alt: #a00d1f;
    --primary-color-alt-rgb: 160, 13, 31;
    --dark-color: #1b1212;
    --dark-color-rgb: 27, 18, 18;
    --light-gray: #f1f2f2;
    --light-gray-alt-rgb: 239, 239, 239;
    --dark-gray: #343A40;
    --white: #ffffff;
    --white-rgb: 255, 255, 255;
    --black-rgb: 0, 0, 0;
    --border-color: #9da2ac;
    --footer-color: #505a63;
    --accent-orange: #ff9800;
    --accent-orange-rgb: 255, 152, 0;
    --accent-blue: #364591;
    --accent-blue-rgb: 54, 69, 145;
    --light-bg: #F4EBE6;
    --primary-font: "Arial Nova", sans-serif;
    --border-radius: 4px;
}

* {
    margin: 0;
    padding: 0;
}

html {
    scroll-behavior: smooth;
}

body {
    background-color: var(--light-gray);
    color: var(--dark-color);
    font-family: var(--primary-font);
}

body,
p {
    font-size: 16px;
    font-weight: 400;
}

a {
    color: var(--primary-color);
}

a:hover {
    opacity: 0.8;
}

a,
a:hover {
    text-decoration: none;
}

label {
    font-size: 16px;
}

.small-text,
footer,
.meta {
    font-size: 13px;
}

.nav,
.menu,
.navigation {
    font-size: 15px;
}

button,
input,
.btn {
    font-size: 15px;
}

input[type="radio"],
input[type="checkbox"] {
    accent-color: var(--primary-color)
}

h6,
.section-label {
    font-size: 16px;
    font-weight: 700;
}

h5 {
    font-size: 18px;
    font-weight: 700;
}

h4 {
    font-size: 20px;
    font-weight: 700;
}

h3 {
    font-size: 22px;
    font-weight: 700;
}

h2 {
    font-size: 26px;
    font-weight: 700;
}

h1,
.page-title {
    font-size: 32px;
    font-weight: 700;
}

.hero-title,
.banner-title {
    font-size: 36px;
    font-weight: 700;
}

.section-title {
    text-transform: uppercase;
    margin-bottom: 0;
}

@media (min-width: 641px) {
    body,
    p {
        font-size: 17px;
    }

    .small-text,
    footer,
    .meta {
        font-size: 14px;
    }

    .nav,
    .menu,
    .navigation {
        font-size: 16px;
    }

    button,
    input,
    .btn {
        font-size: 16px;
    }

    h6,
    .section-label {
        font-size: 17px;
    }

    h5 {
        font-size: 20px;
    }

    h4 {
        font-size: 22px;
    }

    h3 {
        font-size: 26px;
    }

    h2 {
        font-size: 32px;
    }

    h1,
    .page-title {
        font-size: 40px;
    }

    .hero-title,
    .banner-title {
        font-size: 48px;
    }
}

@media (min-width: 1025px) {
    body,
    p {
        font-size: 18px;
    }

    .small-text,
    footer,
    .meta {
        font-size: 14px;
    }

    .nav,
    .menu,
    .navigation {
        font-size: 17px;
    }

    button,
    input,
    .btn {
        font-size: 16px;
    }

    h6,
    .section-label {
        font-size: 18px;
    }

    h5 {
        font-size: 22px;
    }

    h4 {
        font-size: 24px;
    }

    h3 {
        font-size: 30px;
    }

    h2 {
        font-size: 38px;
    }

    h1,
    .page-title {
        font-size: 48px;
    }

    .hero-title,
    .banner-title {
        font-size: 60px;
    }
}

/* Header */
#header {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 80px;
    z-index: 1000;
    display: flex;
    align-items: center;
    padding: 0 48px;
    box-sizing: border-box;
    border-bottom: 1px solid rgba(var(--light-gray-alt-rgb), 0.60);
    background: linear-gradient(
        90deg,
        rgba(var(--light-gray-alt-rgb), 0.12) 0%,
        rgba(var(--light-gray-alt-rgb), 0.02) 100%
    );
    backdrop-filter: blur(27.5px);
    -webkit-backdrop-filter: blur(27.5px);
}

@media (max-width: 768px) {
    #header {
        padding: 0 24px;
        height: 70px;
    }
}

.header-container {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 32px;
}

/* Logo */
.header-logo {
    height: 40px;
    display: flex;
    align-items: center;
    flex-shrink: 0;
}

.header-logo img {
    height: 40px;
    width: auto;
}

@media (max-width: 768px) {
    .header-logo {
        height: 32px;
    }

    .header-logo img {
        height: 32px;
        width: auto;
    }
}

/* Desktop Main Menu */
.header-menu {
    flex: 1;
    display: flex;
    justify-content: flex-start;
}

.header-menu .main-menu {
    display: flex;
    align-items: center;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header-menu .main-menu li {
    position: relative;
    list-style: none;
}

.header-menu .main-menu a {
    color: var(--white);
    text-decoration: none;
    text-transform: uppercase;
    font-size: 17px;
    font-weight: 700;
    font-family: var(--primary-font);
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    transition: opacity .3s ease;
}

.header-menu .main-menu a:hover {
    opacity: 0.8;
}

/* dropdown arrow for desktop */
.header-menu .main-menu li.menu-item-has-children > a::after {
    content: "";
    width: 10px;
    height: 6px;
    display: inline-block;
    margin-left: 4px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%226%22%20viewBox%3D%220%200%2010%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.28.22a.75.75%200%200%201%200%201.06l-4%204a.75.75%200%200%201-1.06%200l-4-4A.75.75%200%201%201%201.28.22l3.47%203.47L8.22.22a.75.75%200%200%201%201.06%200%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

/* desktop dropdown */
.header-menu .main-menu ul.sub-menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: max-content;
    margin-top: 0;
    padding: 8px 0;
    background: rgba(var(--primary-color-rgb), 0.98);
    border: 1px solid rgba(var(--white-rgb), 0.25);
    border-radius: var(--border-radius);;
    list-style: none;
}

.header-menu .main-menu li.menu-item-has-children:hover > ul.sub-menu {
    display: block;
}

.header-menu .main-menu ul.sub-menu li {
    border-bottom: none;
}

.header-menu .main-menu ul.sub-menu li a {
    display: block;
    padding: 12px 20px;
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 700;
}

/* Language + Industry Menu */
.header-language-menu {
    display: flex;
    align-items: center;
    gap: 24px;
}

.language-item {
    display: flex;
    align-items: center;
    gap: 8px;
    color: var(--white);
    text-decoration: none;
    cursor: pointer;
    transition: opacity .3s ease;
}

.language-item:hover {
    opacity: .8;
}

.language-flag {
    width: 18px;
    height: 18px;
    border-radius: 50%;
    object-fit: cover;
}

.language-label {
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
}

.language-item::after {
    content: "";
    width: 10px;
    height: 6px;
    display: inline-block;
    background-repeat: no-repeat;
    background-size: contain;
    margin-left: 4px;
    border: 0;
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%226%22%20viewBox%3D%220%200%2010%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.28.22a.75.75%200%200%201%200%201.06l-4%204a.75.75%200%200%201-1.06%200l-4-4A.75.75%200%201%201%201.28.22l3.47%203.47L8.22.22a.75.75%200%200%201%201.06%200%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
}

/* Bootstrap-style dropdown on hover for language */
.language-dropdown:hover .dropdown-menu {
    display: block;
}

.language-dropdown .dropdown-menu {
    background: rgba(var(--primary-color-rgb), 0.98);
    border-radius: var(--border-radius);
    border: 1px solid rgba(var(--white-rgb), 0.25);
}

.language-dropdown .dropdown-item {
    color: var(--white);
    font-size: 15px;
    text-transform: uppercase;
    font-weight: 700;
}

.language-dropdown .dropdown-item:hover {
    background-color: transparent;
    opacity: 0.85;
}

/* Default */
.logo-light { display: block; }
.logo-dark { display: none; }

/* Dark */
#header[data-mode="dark"] .header-menu .main-menu a { color: var(--dark-color); }
#header[data-mode="dark"] .header-menu .main-menu ul.sub-menu li a { color: var(--white); }
#header[data-mode="dark"] .language-item { color: var(--dark-color); }
#header[data-mode="dark"] .mobile-menu-toggle span { background: var(--dark-color); }
#header[data-mode="dark"] .language-item::after, #header[data-mode="dark"] .header-menu .main-menu li.menu-item-has-children > a::after {
    background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%226%22%20viewBox%3D%220%200%2010%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.28.22a.75.75%200%200%201%200%201.06l-4%204a.75.75%200%200%201-1.06%200l-4-4A.75.75%200%201%201%201.28.22l3.47%203.47L8.22.22a.75.75%200%200%201%201.06%200%22%20fill%3D%22%231B1212%22%2F%3E%3C%2Fsvg%3E");
}
#header[data-mode="dark"] .logo-light { display: none; }
#header[data-mode="dark"] .logo-dark { display: block; }

/* CTA Button */
.header-cta {
    flex-shrink: 0;
}

.btn-contact-us {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    background-color: var(--primary-color);
    color: var(--white);
    padding: 15px 24px;
    border: none;
    border-radius: var(--border-radius);
    text-decoration: none;
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    font-family: var(--primary-font);
}

.btn-contact-us:hover {
    background-color: rgba(var(--primary-color-rgb), 0.8);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--primary-color-alt-rgb), 0.4);
}

.btn-contact-us:active {
    transform: translateY(0);
}

.btn-contact-us:focus-visible {
    outline: 2px solid rgba(var(--white-rgb), 0.5);
    outline-offset: 2px;
}

/* Mobile Toggle (Hamburger) */
.mobile-menu-toggle {
    display: none;
    background: none;
    border: none;
    cursor: pointer;
}

.mobile-menu-toggle span {
    width: 26px;
    height: 3px;
    background: var(--white);
    border-radius: 2px;
    transition: .3s ease;
    display: block;
}

.mobile-menu-toggle span + span {
    margin-top: 5px;
}

.mobile-menu-toggle.active span:nth-child(1) {
    transform: translateY(8px) rotate(45deg);
}

.mobile-menu-toggle.active span:nth-child(2) {
    opacity: 0;
}

.mobile-menu-toggle.active span:nth-child(3) {
    transform: translateY(-8px) rotate(-45deg);
}

/* Mobile Menu */
.mobile-menu-panel {
    display: none;
}

@media (max-width: 1024px) {

    /* Layout Tweaks */
    .header-container {
        gap: 16px;
    }

    .header-menu {
        display: none;
    }

    .header-language-menu,
    .header-cta {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
        flex-direction: column;
        z-index: 10001;
    }

    .mobile-menu-panel {
        display: flex;
        position: fixed;
        top: 0;
        right: 0;
        width: 100%;
        height: 100vh;
        background: rgba(var(--primary-color-alt-rgb), 0.98);
        backdrop-filter: blur(25px);
        -webkit-backdrop-filter: blur(25px);
        transform: translateX(100%);
        transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1);
        z-index: 10000;
        overflow: hidden;
        flex-direction: column;
    }

    .mobile-menu-panel.active {
        transform: translateX(0);
    }

    .mobile-menu-header {
        height: 70px;
        display: flex;
        align-items: center;
        padding: 0 20px;
        gap: 16px;
        border-bottom: 1px solid rgba(var(--light-gray-alt-rgb), 0.60);
    }

    .back-button {
        background: none;
        border: none;
        color: var(--white);
        font-size: 17px;
        font-weight: 700;
        cursor: pointer;
        padding: 0;
        display: none;
        align-items: center;
        gap: 8px;
    }

    .back-button::before {
        content: "";
        width: 10px;
        height: 6px;
        display: inline-block;
        background-repeat: no-repeat;
        background-size: contain;
        transform: rotate(90deg);
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%226%22%20viewBox%3D%220%200%2010%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.28.22a.75.75%200%200%201%200%201.06l-4%204a.75.75%200%200%201-1.06%200l-4-4A.75.75%200%201%201%201.28.22l3.47%203.47L8.22.22a.75.75%200%200%201%201.06%200%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    }

    .menu-title {
        color: var(--white);
        font-size: 17px;
        font-weight: 700;
        text-transform: uppercase;
    }

    .mobile-menu {
        position: relative;
        height: calc(100vh - 60px);
        overflow-y: auto;
        padding-top: 10px;
    }

    .mobile-menu-list,
    .mobile-submenu-page {
        list-style: none;
        margin: 0;
        padding: 0;
    }

    .mobile-submenu-page {
        position: absolute;
        top: 0;
        width: 100%;
        left: 100%;
        height: 100%;
        background: rgba(var(--primary-color-alt-rgb), 0.98);
        backdrop-filter: blur(25px);
        -webkit-backdrop-filter: blur(25px);
        padding-top: 20px;
        overflow-y: auto;
        transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .mobile-submenu-page.active {
        transform: translateX(-100%);
        padding-top: 10px;
    }

    .mobile-menu-list a,
    .mobile-submenu-page a {
        color: var(--white);
        text-decoration: none;
        padding: 18px 20px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        font-size: 17px;
        font-weight: 600;
        text-transform: uppercase;
    }

    .mobile-menu-list li.menu-item-has-children > a::after,
    .mobile-submenu-page li.menu-item-has-children > a::after {
        content: "";
        width: 12px;
        height: 8px;
        display: inline-block;
        background-repeat: no-repeat;
        background-size: contain;
        transform: rotate(-90deg);
        background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2210%22%20height%3D%226%22%20viewBox%3D%220%200%2010%206%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.28.22a.75.75%200%200%201%200%201.06l-4%204a.75.75%200%200%201-1.06%200l-4-4A.75.75%200%201%201%201.28.22l3.47%203.47L8.22.22a.75.75%200%200%201%201.06%200%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    }

}

/* Desktop only: hide Apple panel completely */
@media (min-width: 1025px) {
    .mobile-menu-panel {
        display: none !important;
    }

    .mobile-menu-toggle {
        display: none !important;
    }
}

#content header.header {
    padding: 152px 0 40px;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px; 
}

@media (max-width: 1200px) {
    #content > header.header {
        padding: 140px 30px 0;
    }
}

@media (max-width: 768px) {
    #content > header.header {
        padding: 100px 20px 0;
    }

    .back-to-top {
        right: 24px !important;
    }
}

@media (max-width: 480px) {
    #content > header.header {
        padding: 80px 15px 0;
        margin-bottom: 16px;
    }
}

.arrow-icon {
    width: 20px;
    height: 14px;
    fill: currentColor;
    transform: rotate(315deg);
}

.link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--primary-color);
    text-decoration: none;
    font-family: var(--primary-font);
    font-weight: 700;
    font-size: 18px;
    text-transform: uppercase;
    transition: opacity 0.3s ease;
    width: max-content;
}

.link:hover {
    opacity: 0.8;
    text-decoration: none !important;
}

.link::after {
    content: "";
    display: inline-block;
    width: 15px;
    height: 15px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M4.8%202.233A1.116%201.116%200%201%201%204.8%200h8.422c.616%200%201.116.5%201.116%201.117v8.42a1.116%201.116%200%201%201-2.233%200V3.813l-10.2%2010.2a1.117%201.117%200%200%201-1.578-1.58l10.2-10.199z%22%20fill%3D%22%23c11525%22%2F%3E%3C%2Fsvg%3E");
    transition: transform .35s cubic-bezier(0.4, 0, 0.2, 1);
}

.link:hover::after {
    transform: translate(4px, -4px);
}

.report-links-heading {
    margin-top: 16px;
}

.report-links .link {
    color: var(--dark-color);
    text-transform: none;
}

.report-links .link::after,
.report-downloads .link::after {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2215%22%20viewBox%3D%220%200%2015%2015%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M4.8%202.233A1.116%201.116%200%201%201%204.8%200h8.422c.616%200%201.116.5%201.116%201.117v8.42a1.116%201.116%200%201%201-2.233%200V3.813l-10.2%2010.2a1.117%201.117%200%200%201-1.578-1.58l10.2-10.199z%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.card-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}

.card-title {
    font-family: var(--primary-font);
    font-weight: 700;
    font-size: 24px;
    color: var(--dark-color);
    margin: 0;
}

.card-date {
    font-family: var(--primary-font);
    font-size: 14px;
    color: var(--dark-color);
    margin: 0;
    text-align: right;
    white-space: nowrap;
}

.card-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.modal {
    --bs-modal-color: var(--white);
    --bs-modal-bg: var(--primary-color);
}

#teamModal.modal {
    --bs-modal-padding: 64px;
}

.modal-content {
    --bs-modal-border-radius: var(--bs-border-radius-sm);
    border: 0;
}

.modal-close-btn {
    position: absolute;
    top: -18px;
    right: -18px;
    z-index: 1000;
    background-color: var(--primary-color);
    border-radius: 9999px;
    border: 1px solid var(--white);
}

.modal-close-btn .btn-close {
    padding: 0.625em .625em;
    --bs-btn-close-opacity: 1;
    --bs-btn-close-hover-opacity: 0.8;
    --bs-btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414'/%3e%3c/svg%3e");
}

/* Newsletter Section */
.newsletter-section {
    background-color: var(--primary-color);
    padding: 72px 122px;
    display: flex;
    gap: 96px;
    align-items: flex-start;
    min-height: 650px;
}

.newsletter-content {
    display: flex;
    flex-direction: column;
    gap: 16px;
    flex-shrink: 0;
    color: var(--white);
    width: 435px;
    /* padding-top: 16px; */
}

.newsletter-content h2 {
    font-family: var(--primary-font);
    font-weight: 700;
    font-size: 30px;
    text-transform: uppercase;
    margin: 0;
}

.newsletter-content p {
    font-family: var(--primary-font);
    font-size: 18px;
    margin: 0;
    line-height: 1.6;
}

.newsletter-form {
    background: var(--white);
    padding: 32px;
    border-radius: var(--border-radius);
    box-shadow: 0 0 12px rgba(var(--black-rgb), 0.25);
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 666px;
}

.form-group {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-group label {
    font-family: var(--primary-font);
    font-weight: 700;
    font-size: 16px;
    color: var(--dark-color);
}

.form-group input {
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius);
    padding: 12px;
    height: 48px;
    font-family: var(--primary-font);
    font-size: 16px;
}

.form-group input:focus {
    outline: 2px solid var(--primary-color);
    outline-offset: -1px;
}

.form-checkboxes {
    display: flex;
    gap: 32px;
}

.checkbox-section {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.checkbox-section h6 {
    font-family: var(--primary-font);
    font-weight: 700;
    font-size: 16px;
    color: var(--dark-color);
    margin: 0;
}

.checkbox-item,
.radio-item {
    display: flex;
    gap: 12px;
    align-items: center;
    cursor: pointer;
    font-family: var(--primary-font);
    font-size: 16px;
    color: var(--dark-color);
}

.checkbox-item input,
.radio-item input {
    width: 18px;
    height: 18px;
    cursor: pointer;
}

.radio-item input {
    border-radius: 50%;
}

.agreement-checkbox {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    cursor: pointer;
    font-family: var(--primary-font);
    font-size: 16px;
    color: var(--dark-color);
}

.agreement-checkbox input {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    margin-top: 2px;
    cursor: pointer;
}

.btn:not(.btn-link) {
    padding: 16px 20px;
    font-family: var(--primary-font);
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    border: none;
    border-radius: var(--border-radius);
    cursor: pointer;
    transition: all 0.3s ease;
}

.btn:not(.btn-link):hover {
    transform: translateY(-2px);
}

.btn:not(.btn-link):active {
    transform: translateY(0);
}

.btn:not(.btn-link):focus-visible {
    outline: 2px solid rgba(var(--white-rgb), 0.5);
    outline-offset: 2px;
}

.btn-link:active {
    border-color: var(--dark-color) !important;
}

.btn-primary {
    background-color: var(--primary-color);
    color: var(--white);
}

.btn-secondary {
    
    color: var(--white);
}

.btn-ternary {
    background-color:#505A63;
    color: var(--white);
}

.btn-primary:hover {
    background-color: rgba(var(--primary-color-rgb), 0.8);
    color: var(--white);
    box-shadow: 0 4px 12px rgba(var(--primary-color-alt-rgb), 0.4);
}

.btn-primary:active,
.btn-primary:active:focus-visible {
    background-color: var(--primary-color) !important;
    color: var(--white) !important
}

.btn-secondary:hover {
    background-color: var(--border-color);
    color: var(--white);
    box-shadow: 0 4px 12px rgba(var(--border-color), 0.4);
}

.btn-secondary:active,
.btn-secondary:active:focus-visible {
    background-color: var(--border-color) !important;
    color: var(--white) !important;
}

.btn-ternary:hover {
    background-color: rgba(80, 90, 99, 0.8);
    color: var(--white);
    box-shadow: 0 4px 12px rgba(80, 90, 99, 0.4);
}

.btn-ternary:active {
    background-color: #505A63 !important;
    color: var(--white) !important;
}

.btn-subscribe {
    background-color: var(--primary-color);
    color: var(--white);
    border: none;
    padding: 15px 32px;
    border-radius: var(--border-radius);
    font-family: var(--primary-font);
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase;
    cursor: pointer;
    transition: all 0.3s ease;
    width: max-content;
}

.btn-subscribe:hover {
    background-color: rgba(var(--primary-color-rgb), 0.8);
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(var(--primary-color-alt-rgb), 0.4);
}

.btn-subscribe:active {
    transform: translateY(0);
}

/* Pagination */
.nav-below {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 40px 48px 72px;
    max-width: 1200px;
    margin: 0 auto;
}

.nav-pagination {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
}

.pagination {
    display: flex;
    gap: 12px;
    align-items: center;
    list-style: none;
    margin: 0;
    padding: 0;
}

.pagination li {
    list-style: none;
    margin: 0;
}

.pagination a,
.pagination span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: var(--white);
    color: var(--dark-color);
    text-decoration: none;
    font-family: var(--primary-font);
    font-weight: 700;
    font-size: 18px;
    border-radius: var(--border-radius);
    transition: all 0.3s ease;
    border: 1px solid transparent;
}

.pagination a:hover {
    opacity: 0.8;
}

.pagination .page-numbers.current {
    background: var(--primary-color);
    color: var(--white);
}

.pagination .icon {
    display: inline-block;
    width: 24px;
    height: 24px;
    background-repeat: no-repeat;
    background-size: contain;
}

/* Responsive Design for sections */
@media (max-width: 1200px) {
    .newsletter-section {
        flex-direction: column;
        padding: 60px 30px;
        gap: 40px;
        min-height: auto;
    }

    .newsletter-content {
        width: 100%;
    }

    .form-checkboxes {
        flex-direction: column;
        gap: 24px;
    }
}

@media (max-width: 768px) {
    .newsletter-form {
        min-width: 100%;
        padding: 24px;
    }

    .pagination a,
    .pagination span {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }

    .pagination .prev,
    .pagination .next {
        width: 40px;
        height: 40px;
    }

    .report-links-heading {
        font-size: 18px;
    }

    .checkbox-section {
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .link {
        font-size: 16px;
    }

    .card-title {
        font-size: 20px;
    }

    .newsletter-section {
        padding: 48px 24px;
    }

    .newsletter-content h2 {
        font-size: 20px;
    }

    .newsletter-content p {
        font-size: 16px;
    }

    .form-group label,
    .checkbox-section h6,
    .checkbox-item,
    .radio-item,
    .agreement-checkbox {
        font-size: 16px;
    }

    .pagination a,
    .pagination span {
        width: 36px;
        height: 36px;
        font-size: 16px;
    }

    .pagination .prev,
    .pagination .next {
        width: 36px;
        height: 36px;
    }

    .nav-below {
        padding: 32px 15px;
    }
}

/* Footer */
#footer {
    background-color: var(--footer-color);
    color: var(--white);
    padding: 48px;
}

.footer-content {
    display: grid;
     grid-template-columns: minmax(300px, 5fr) 1fr 1fr;
    gap: 48px;
    margin: 0 auto 48px;
    align-items: start;
}

.footer-section {
    display: flex;
    flex-direction: column;
    gap: 36px;
}

.footer-logo {
    width: 200px;
    height: 50px;
}

.footer-logo img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.footer-contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;     
}

.footer-contact p {
    margin: 0;
    font-family: var(--primary-font);
    font-size: 17px;
}

.footer-contact a {
    color: var(--white);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.footer-contact a:hover {
    opacity: 0.8;
}

.footer-menu {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.footer-menu h3 {
    font-family: var(--primary-font);
    font-size: 17px;
    font-weight: 700;
    margin: 0;
    color: var(--white);
}

.footer-menu ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.footer-menu li {
    list-style: none;
}

.footer-menu a {
    color: var(--white);
    text-decoration: none;
    font-family: var(--primary-font);
    font-size: 17px;
    transition: opacity 0.3s ease;
}

.footer-menu a:hover {
    opacity: 0.8;
}

.icons {
    display: flex;
    gap: 16px;
    align-items: center;
}

.icons-inline {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 0;
    margin: 0;
}

.icons-inline li {
    display: inline-flex;
}

.icon {
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(var(--white-rgb), 1);
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 20px;
    transition: all .3s ease;
}

.icon:hover {
    opacity: 0.8;
    /* background-color: rgba(var(--black-rgb),0.1); */
}

.icon.dark {
    border-color: var(--dark-color);
}

.icon.sm {
    width: 36px;
    height: 36px;
    background-size: 16px;
}

.icon.sm.facebook {
    background-size: 11px;
}

/* Icons */
.icon.linkedin {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2220%22%20viewBox%3D%220%200%2019%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2.125%200a2.125%202.125%200%201%200%200%204.25%202.125%202.125%200%200%200%200-4.25m-2%206A.125.125%200%200%200%200%206.125v13c0%20.069.056.125.125.125h4a.125.125%200%200%200%20.125-.125v-13A.125.125%200%200%200%204.125%206zm6.5%200a.125.125%200%200%200-.125.125v13c0%20.069.056.125.125.125h4a.125.125%200%200%200%20.125-.125v-7a1.875%201.875%200%201%201%203.75%200v7c0%20.069.056.125.125.125h4a.125.125%200%200%200%20.125-.125v-8.62c0-2.427-2.11-4.325-4.525-4.106a7.2%207.2%200%200%200-2.168.548l-1.307.56V6.125A.125.125%200%200%200%2010.625%206z%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
}

.icon.linkedin.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2220%22%20viewBox%3D%220%200%2019%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2.125%200a2.125%202.125%200%201%200%200%204.25%202.125%202.125%200%200%200%200-4.25m-2%206A.125.125%200%200%200%200%206.125v13c0%20.069.056.125.125.125h4a.125.125%200%200%200%20.125-.125v-13A.125.125%200%200%200%204.125%206zm6.5%200a.125.125%200%200%200-.125.125v13c0%20.069.056.125.125.125h4a.125.125%200%200%200%20.125-.125v-7a1.875%201.875%200%201%201%203.75%200v7c0%20.069.056.125.125.125h4a.125.125%200%200%200%20.125-.125v-8.62c0-2.427-2.11-4.325-4.525-4.106a7.2%207.2%200%200%200-2.168.548l-1.307.56V6.125A.125.125%200%200%200%2010.625%206z%22%20fill%3D%22%231B1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.facebook.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2211%22%20height%3D%2219%22%20viewBox%3D%220%200%2011%2019%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M7.325%200A4.625%204.625%200%200%200%202.7%204.625V7.2H.225C.101%207.2%200%207.3%200%207.425v3.4c0%20.124.1.225.225.225H2.7v6.975c0%20.124.1.225.225.225h3.4c.124%200%20.225-.1.225-.225V11.05h2.497c.103%200%20.193-.07.218-.17l.85-3.4a.225.225%200%200%200-.218-.28H6.55V4.625a.775.775%200%200%201%20.775-.775h2.6c.124%200%20.225-.1.225-.225v-3.4c0-.124-.1-.225-.225-.225z%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.x {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2220%22%20viewBox%3D%220%200%2019%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M11.21%208.15%2018.222%200h-1.661l-6.089%207.078L5.608%200H0l7.354%2010.702L0%2019.25h1.662l6.43-7.474%205.136%207.474h5.609zm-2.276%202.647L8.188%209.73%202.262%201.25h2.552l4.784%206.844.746%201.066%206.218%208.895H14.01z%22%20fill%3D%22%23ffffff%22%2F%3E%3C%2Fsvg%3E");
}

.icon.x.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2220%22%20viewBox%3D%220%200%2019%2020%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M11.21%208.15%2018.222%200h-1.661l-6.089%207.078L5.608%200H0l7.354%2010.702L0%2019.25h1.662l6.43-7.474%205.136%207.474h5.609zm-2.276%202.647L8.188%209.73%202.262%201.25h2.552l4.784%206.844.746%201.066%206.218%208.895H14.01z%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.eye.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2213%22%20viewBox%3D%220%200%2019%2013%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M9.5%204.25a2.25%202.25%200%201%200%200%204.5%202.25%202.25%200%200%200%200-4.5%22%20fill%3D%22%231b1212%22%2F%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M9.5%200C6.882%200%204.528%201.051%202.832%202.353c-.85.652-1.547%201.376-2.036%202.08C.316%205.126%200%205.853%200%206.5s.317%201.375.796%202.066c.49.705%201.186%201.429%202.036%202.08C4.528%2011.95%206.882%2013%209.5%2013s4.972-1.051%206.668-2.353c.85-.652%201.547-1.376%202.035-2.08.48-.692.797-1.419.797-2.067s-.317-1.375-.797-2.066c-.488-.705-1.185-1.429-2.035-2.08C14.472%201.05%2012.118%200%209.5%200M5.75%206.5a3.75%203.75%200%201%201%207.5%200%203.75%203.75%200%200%201-7.5%200%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.briefcase.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2219%22%20height%3D%2217%22%20viewBox%3D%220%200%2019%2017%22%20fill%3D%22none%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M4.406%202.066v1.42l-1.694.137A2.61%202.61%200%200%200%20.346%205.808q-.063.386-.114.774A.3.3%200%200%200%20.4%206.89l.077.037c5.429%202.57%2011.93%202.57%2017.358%200l.077-.037a.3.3%200%200%200%20.169-.308%2027%2027%200%200%200-.114-.774A2.61%202.61%200%200%200%2015.6%203.623l-1.694-.137v-1.42a1.75%201.75%200%200%200-1.49-1.73l-1.22-.184a13.8%2013.8%200%200%200-4.08%200l-1.22.183a1.75%201.75%200%200%200-1.49%201.73m6.568-.43a12.3%2012.3%200%200%200-3.635%200l-1.22.183a.25.25%200%200%200-.213.247V3.38a57%2057%200%200%201%206.5%200V2.066a.25.25%200%200%200-.213-.247z%22%20fill%3D%22%231b1212%22%2F%3E%3Cpath%20d%3D%22M18.275%208.675a.2.2%200%200%200-.283-.17c-5.57%202.466-12.1%202.466-17.672%200a.2.2%200%200%200-.282.17%2027%2027%200%200%200%20.308%205.727%202.61%202.61%200%200%200%202.366%202.184l1.872.151a57%2057%200%200%200%209.144%200l1.872-.151a2.61%202.61%200%200%200%202.367-2.184c.307-1.895.41-3.815.308-5.727%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.phone.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M.783%206.163a17.35%2017.35%200%200%200%208.986%208.729l.639.284c1.46.65%203.177.156%204.068-1.172l.835-1.243a.94.94%200%200%200-.19-1.255l-2.83-2.282a.94.94%200%200%200-1.345.171l-.875%201.182a11.4%2011.4%200%200%201-5.177-5.178l1.18-.875a.94.94%200%200%200%20.172-1.345L3.964.35A.94.94%200%200%200%202.709.16L1.457%201A3.29%203.29%200%200%200%20.295%205.09l.487%201.07z%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.envelope.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2214%22%20viewBox%3D%220%200%2018%2014%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M4.374.196a54.7%2054.7%200%200%201%209.252%200l1.484.126a2.84%202.84%200%200%201%202.27%201.482.223.223%200%200%201-.089.295L11.138%205.82a4.26%204.26%200%200%201-4.32.044L.623%202.288a.224.224%200%200%201-.101-.281A2.83%202.83%200%200%201%202.891.322z%22%20fill%3D%22%231b1212%22%2F%3E%3Cpath%20d%3D%22M.517%203.898c-.153-.088-.349.007-.367.18a28.5%2028.5%200%200%200%20.181%207.252c.195%201.266%201.253%202.237%202.56%202.348l1.483.126a55%2055%200%200%200%209.252%200l1.484-.126c1.306-.11%202.364-1.082%202.559-2.348.38-2.472.433-4.98.158-7.463a.244.244%200%200%200-.37-.175l-5.544%203.352a5.76%205.76%200%200%201-5.845.059z%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.download.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2218%22%20viewBox%3D%220%200%2016%2018%22%20fill%3D%22none%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M.772%2012.868c.426%200%20.772.345.772.772v2.058c0%20.143.115.258.257.258h12.353a.257.257%200%200%200%20.258-.258V13.64a.772.772%200%201%201%201.544%200v2.058c0%20.995-.807%201.802-1.802%201.802H1.801A1.8%201.8%200%200%201%200%2015.698V13.64c0-.427.346-.772.772-.772%22%20fill%3D%22%231b1212%22%2F%3E%3Cpath%20d%3D%22M6.679%200c-.53%200-.971.405-1.018.932a38%2038%200%200%200-.083%205.425q-.382.021-.763.05l-1.533.111a.783.783%200%200%200-.603%201.202%2016%2016%200%200%200%204.152%204.383l.614.441a.91.91%200%200%200%201.066%200l.614-.441a16%2016%200%200%200%204.152-4.383.782.782%200%200%200-.603-1.202l-1.533-.112a44%2044%200%200%200-.763-.049%2038%2038%200%200%200-.083-5.425A1.02%201.02%200%200%200%209.277%200z%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.icon.prev,
.icon.next {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m6%204%204%204-4%204%22%20stroke%3D%22%231b1212%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h16v16H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
}

.icon.prev {
    transform: rotate(180deg);
}

.icon.next {
    transform: rotate(0deg);
}

.icon.check {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2230%22%20height%3D%2230%22%20viewBox%3D%220%200%2030%2030%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M27.251%2012.5a12.5%2012.5%200%201%201-6.001-8.33%22%20stroke%3D%22%231b1212%22%20stroke-width%3D%221.667%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3Cpath%20d%3D%22M11.25%2013.75%2015%2017.5%2027.5%205%22%20stroke%3D%22%231b1212%22%20stroke-width%3D%221.667%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fsvg%3E");
}

.icon.calendar.dark {
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2215%22%20height%3D%2214%22%20viewBox%3D%220%200%2015%2014%22%20fill%3D%22none%22%3E%3Cpath%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20d%3D%22M3.315%200c.347%200%20.628.272.628.608V1.96a41.4%2041.4%200%200%201%207.114%200V.608c0-.336.281-.608.628-.608s.628.272.628.608v1.473c1.25.17%202.237%201.128%202.404%202.35l.073.529a22.8%2022.8%200%200%201-.079%206.703c-.176%201.099-1.098%201.943-2.242%202.052l-.998.096a42%2042%200%200%201-7.942%200l-.998-.096c-1.144-.109-2.066-.953-2.242-2.052A22.8%2022.8%200%200%201%20.21%204.96l.073-.53C.45%203.21%201.437%202.252%202.687%202.08V.609c0-.336.281-.608.628-.608m.372%203.205a40%2040%200%200%201%207.626%200l.757.072c.726.07%201.307.613%201.402%201.313l.073.53q.037.277.069.555H1.386q.03-.277.07-.556l.072-.529c.095-.7.676-1.244%201.402-1.313zm-2.4%203.686a21.6%2021.6%200%200%200%20.242%204.585%201.25%201.25%200%200%200%201.125%201.03l.998.095a40.5%2040.5%200%200%200%207.696%200l.998-.096a1.25%201.25%200%200%200%201.125-1.03c.244-1.517.325-3.053.242-4.584z%22%20fill%3D%22%231b1212%22%2F%3E%3C%2Fsvg%3E");
}

.footer-bottom {
    color: var(--white);
}

.footer-bottom p {
    margin: 0;
    font-family: var(--primary-font);
    font-size: 14px;
    text-align: left;
}

.footer-about {
    order: 0;
    margin-top: 0;
}

@media (max-width: 1200px) {
    .footer-content {
        grid-template-columns: minmax(300px, 3fr) 1fr 1fr;
        gap: 32px;
    }

    #footer {
        padding: 40px 30px;
    }
}

@media (max-width: 768px) {
    .footer-about {
        order: 2;
        margin-top: 32px;
    }

    .footer-content {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .footer-menu h3,
    .footer-menu a,
    .footer-contact p,
    .footer-contact a {
        font-size: 16px;
    }

    #footer {
        padding: 48px 24px;
    }
}

/* Back to top button */
.back-to-top {
    position: fixed;
    bottom: 48px;
    right: 48px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(var(--white-rgb), 1);
    background: var(--footer-color);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2218%22%20height%3D%2224%22%20viewBox%3D%220%200%2018%2024%22%20fill%3D%22none%22%3E%3Cpath%20d%3D%22M2.426%209.748a1.45%201.45%200%200%201-2.01%200%201.36%201.36%200%200%201%200-1.958L7.996.406a1.45%201.45%200%200%201%202.009%200l7.579%207.384a1.36%201.36%200%200%201%200%201.958%201.45%201.45%200%200%201-2.01%200l-5.153-5.02v17.887C10.421%2023.38%209.785%2024%209%2024s-1.421-.62-1.421-1.385V4.727z%22%20fill%3D%22%23fff%22%2F%3E%3C%2Fsvg%3E");
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: all .35s ease;
    z-index: 999;
}

.back-to-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    opacity: 0.8;
}

.breadcrumb {
    display: flex;
    align-items: center;
    gap: 8px;
    font-family: var(--primary-font);
    font-size: 14px;
    color: var(--dark-color);
    margin-bottom: 0;
}

.breadcrumb a {
    color: var(--dark-color);
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.breadcrumb a:hover {
    opacity: 0.8;
}

.breadcrumb .current {
    color: var(--primary-color);
}

.breadcrumb .separator {
    display: inline-block;
    width: 16px;
    height: 16px;
    background-repeat: no-repeat;
    background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20fill%3D%22none%22%3E%3Cg%20clip-path%3D%22url(%23a)%22%3E%3Cpath%20d%3D%22m6%204%204%204-4%204%22%20stroke%3D%22%231b1212%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3CclipPath%20id%3D%22a%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M0%200h16v16H0z%22%2F%3E%3C%2FclipPath%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
}




.cf7-form .form-row {
  box-sizing: border-box;
  padding: 0 10px;
  margin-bottom: 0;
}

.cf7-form .form-row-first,
.cf7-form .form-row-last {
  width: 48%;
  float: left;
}

.cf7-form .form-row-last {
  margin-left: 4%;
}

.cf7-form .form-row-wide {
  clear: both;
  width: 100%;
}

.cf7-form label.required_field {
  display: block;
  margin-bottom: 5px;
}

.cf7-form .input-text {
  width: 100%;
  font-size: 17px;
  border: 2px solid rgba(var(--bmos-secondary-white), 0.5);
  box-sizing: border-box;
  color: rgba(var(--bmos-secondary-white), 0.8)!important;
}

.cf7-form textarea.input-text {
  height: 120px;
  resize: vertical;
  border-radius: 16px !important;
}

.cf7-form .text-help {
  display: block;
  margin-top: 8px;
  color: rgba(var(--bmos-secondary-white), 0.7);
  font-size: 14px;
  line-height: 1.4;
}

@media (max-width: 768px) {
  .cf7-form .form-row-first,
  .cf7-form .form-row-last {
    width: 100%;
    margin-left: 0;
  }
}

.cf7-form .form-row .required {
   color: rgb(var(--bmos-utility-danger-dark));
}

.cf7-form .wpcf7-acceptance .wpcf7-list-item {
   margin-left: 0;
   font-weight: 400;
   margin-bottom: 10px;
}

.cf7-form .wpcf7-acceptance .wpcf7-list-item label {
   font-weight: 400;
   line-height: 1.4em;
}

.cf7-form .wpcf7-not-valid-tip {
  display: block;
  color: rgb(var(--bmos-utility-danger-dark));
  font-size: 14px;
  margin-top: 6px;
  line-height: 1.4;
  min-height: 20px;
}

.cf7-form .form-row-first,
.cf7-form .form-row-last {
  width: 48%;
  float: left;
  min-height: 120px;
  box-sizing: border-box;
}

.cf7-form .form-row-last {
  margin-left: 4%;
}

.wpcf7 form.sent .wpcf7-response-output {
   border-color: rgb(var(--bmos-utility-success-dark)) !important;
   color: rgb(var(--bmos-utility-success-dark)) !important;
}

.cf7-form .wpcf7-not-valid {
  border-color: rgb(var(--bmos-utility-danger-dark)) !important;
  color: rgb(var(--bmos-utility-danger-dark)) !important;
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
   border-color: rgb(var(--bmos-utility-attention)) !important;
   color: rgb(var(--bmos-utility-attention)) !important;
}

.wpcf7 form .wpcf7-response-output {
   border-radius: 12px;
   font-size: 16px !important;
   padding: 15px !important;
   border: 1px solid transparent;
   margin-left: 0;
   margin-right: 0;
}

.wpcf7-not-valid-tip {
   font-size: 13px;
}

.wpcf7-list-item {
   display: flex;
   color: rgba(var(--bmos-secondary-white), 0.8);
   margin: 0;
}

.wpcf7-list-item-label {
   margin-left: 5px;
}

@media (max-width: 767px) {
   .cf7-form .form-row-first, .cf7-form .form-row-last {
      width: 100%;
   }

   .cf7-form .form-row-last {
      margin-left: 0;
   }

   .cf7-form .wpcf7-acceptance .wpcf7-list-item label,
   .cf7-form label.required_field {
      font-size: 16px;
   }
}