:root {
    /* Colors */
    --color-white: #ffffff;
    --color-main-1: #1E1E1E;
    --color-main-2: #2E3540;
    --color-red: #F00;
    --color-orange: #FF4802; /* --main-ff */
    --color-orange-2: #FB5D21;
    --color-gray: #919191; /* --secondary-light-text */
}

/* Global */
* {
    box-sizing: border-box;
    font-family: Poppins, serif;
    font-style: normal;
}

body {
    margin: 0;
    padding: 108px 0 0 0;
    font-family: Poppins, serif;
    color: var(--color-main-1);
    background: #F5F5F5;
    font-size: 14px;
}
body.hide-main {
    overflow: hidden;
}

/* Container */
.container-full {
    width: 100%;
}
.container {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 80px;
}

/* Visible */
.d-block {
    display: block;
}
.d-flex {
    display: flex;
}
.d-inline {
    display: inline;
}
.d-inline-block {
    display: inline-block;
}

/* Text */
.text-left {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}
.text-u {
    text-transform: uppercase;
}

a {
    color: var(--color-gray-0);
    text-decoration: none !important;
}
a:hover {
    color: var(--color-orange);
    text-decoration: none;
}

.heading-1 {
    font-size: 110px;
    font-weight: 600;
    line-height: 110px;
    letter-spacing: 4.4px;
    text-transform: uppercase;
}
.heading-2 {
    font-size: 80px;
    font-weight: 600;
    line-height: 80px;
    text-transform: uppercase;
}
.heading-3 {
    font-size: 56px;
    font-weight: 600;
    line-height: 60px;
    text-transform: uppercase;
}
.subtitle-1 {
    font-size: 32px;
    font-weight: 500;
    line-height: 32px;
}
.subtitle-2 {
    font-size: 24px;
    font-weight: 500;
    line-height: 120%;
}
.subtitle-3 {
    font-size: 20px;
    font-weight: 500;
    line-height: 120%;
}
.subtitle-4 {
    font-size: 20px;
    font-weight: 400;
    line-height: 24px;
    text-transform: uppercase;
}
.subtitle-5 {
    font-size: 16px;
    font-weight: 500;
    line-height: 120%;
}
.subtitle-6 {
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
}
.body-3 {
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
}
.text-1 {
    font-size: 16px;
    font-weight: 400;
    line-height: 145%;
}

.caption-1 {
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    text-transform: uppercase;
}
.caption-2 {
    font-size: 14px;
    font-weight: 600;
    line-height: 14px;
    text-transform: uppercase;
}
.caption-6 {
    font-size: 12px;
    font-weight: 400;
    line-height: 12px;
}

.flex-center {
    display: flex;
    justify-content: center;
}

/* Grid */
.grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0;
}
.col-1  { grid-column: span 1; }
.col-2  { grid-column: span 2; }
.col-3  { grid-column: span 3; }
.col-4  { grid-column: span 4; }
.col-5  { grid-column: span 5; }
.col-6  { grid-column: span 6; }
.col-7  { grid-column: span 7; }
.col-8  { grid-column: span 8; }
.col-9  { grid-column: span 9; }
.col-10 { grid-column: span 10; }
.col-11 { grid-column: span 11; }
.col-12 { grid-column: span 12; }

.gap-0  { gap: 0px; }
.gap-8  { gap: 8px; }
.gap-12 { gap: 12px; }
.gap-16 { gap: 16px; }
.gap-24 { gap: 24px; }
.gap-32 { gap: 32px; }
.gap-16-24 { gap: 16px 24px; }
.gap-80-24 { gap: 80px 24px; }

.mb-80 {
    margin-bottom: 80px;
}
.mb-100 {
    margin-bottom: 100px;
}
.mb-100 {
    margin-bottom: 120px;
}
.mb-160 {
    margin-bottom: 120px;
}

/* Button */
.btn {
    display: inline-flex;
    padding: 12px 24px;
    justify-content: center;
    align-items: center;
    font-size: 14px;
    line-height: 16px;
    text-decoration: none !important;
    outline: none !important;
    transition: all 0.15s ease;
    cursor: pointer;
    gap: 8px;
}
.btn-m {
    padding: 17px 24px;
    line-height: 14px;
}
.btn-s {
    padding: 13px 24px;
    line-height: 14px;
}
.btn-es {
    padding: 10px 16px;
}

.btn-primary {
    border: 1px solid #C0C2C6;
    background: var(--color-white);
    color: var(--color-main-1);
}
.btn-primary:hover {
    background: #C8CDD6;
    border-color: #C8CDD6;
    color: var(--color-main-1);
}
.btn-primary:active {
    background: #343F51;
    border-color: #343F51;
    color: var(--color-white);
}
.btn-primary.disabled,
.btn-primary:disabled {
    background: #C0C2C6 !important;
    border-color: #C0C2C6 !important;
    color: #7A7A7A;
}

.btn-default {
    border: 1px solid var(--color-main-2);
    background: var(--color-main-2);
    color: var(--color-white);
}
.btn-default:hover {
    background: #343F51;
    border-color: #343F51;
    color: var(--color-white);
}
.btn-default:active {
    background: #2E3540;
    border-color: #2E3540;
    color: var(--color-white);
}
.btn-default.disabled,
.btn-default:disabled {
    background: #C0C2C6 !important;
    border-color: #C0C2C6 !important;
    color: #7A7A7A;
}

.btn-link {
    display: inline-flex;
    position: relative;
    padding: 7px 0 10px 0;
    transition: all 0.15s ease;
    font-size: 14px;
    font-weight: 500;
    line-height: 16px;
    background: none;
    border: none;
    outline: none;
    cursor: pointer;
}
.btn-link:after {
    content: '';
    position: absolute;
    bottom: 7px;
    width: 100%;
    height: 1px;
    background: var(--color-main-1);
}
.btn-link:hover {
    color: var(--color-orange-2);
}
.btn-link:hover:after {
    background: var(--color-orange-2);
}

.btn-link-s {
    padding: 5px 0 8px 0;
    font-size: 12px;
    line-height: 12px;
}
.btn-link-s:after {
    bottom: 5px;
}

.btn-full {
    width: 100%;
}

.bg-o {
    background: none;
}

/* Breadcrumbs */
.breadcrumb {
    display: flex;
    flex-wrap: wrap;
    margin: 40px 0 8px 0;
    padding: 0;
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
    text-transform: uppercase;
    list-style: none !important;
    gap: 0 8px;
}
.breadcrumb-item {
}
.breadcrumb-item a {
    display: flex;
    align-items: center;
    padding: 9px 0;
    color: #919191;
}
.breadcrumb-item a:before {
    content: '/';
    display: block;
    margin-right: 8px;
}
.breadcrumb-item:first-child a:before {
    display: none;
}
.breadcrumb-item span {
    display: flex;
    align-items: center;
    padding: 9px 0;
    color: #C0C2C6;
}
.breadcrumb-item span:before {
    content: '/';
    display: block;
    margin-right: 8px;
}

.breadcrumb-item:hover a {
    color: var(--color-orange);
}

/* Pagination */
.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    margin: 65px 0 0 0;
    padding: 0;
    list-style: none;
}
.pagination div {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    /* min-width: 32px; */
    /* height: 32px; */
    /* padding: 9px; */
    text-align: center;
    font-size: 12px;
    font-weight: 500;
    line-height: 12px;
}
.pagination div.active:before,
.pagination div:hover:before {
    content: '';
    position: absolute;
    bottom: 8px;
    left: 9px;
    width: calc(100% - 18px);
    height: 1px;
    background: var(--color-orange);
}
.pagination div a,
.pagination div span {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    min-width: 32px;
    height: 32px;
    padding: 9px;
    user-select: none;
}
.pagination div a {
    color: var(--color-main-1);
}
.pagination div:hover a,
.pagination div span {
    color: var(--color-main-1);
}
.pagination div:hover a svg path {
    stroke: var(--color-orange);
}
.pagination .prev-page:before,
.pagination .next-page:before {
    display: none !important;
}
.pagination .prev-page span,
.pagination .next-page a {
    padding: 4px;
}
.pagination .prev-page.disabled path,
.pagination .next-page.disabled path {
    stroke: #C6C6C6;
}
.pagination .active span {
    color: var(--color-orange);
}

/* Input */
.input-group {
    position: relative;
}
.input-group input,
.input-group textarea {
    display: flex;
    width: 100%;
    padding: 14px 20px;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border: 1px solid #E9E9E9;
    background: #FCFCFC;
    outline: none !important;
}

.input-group_counter {
    margin-top: 8px;
    text-align: right;
    color: var(--color-gray);
    text-align: right;
    font-size: 12px;
    font-weight: 300;
    line-height: 12px;
}

.input-group .text-danger {
    display: flex;
    align-items: center;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 300;
    line-height: 12px;
    gap: 8px;
}
.input-group .text-danger:before {
    content: '';
    display: block;
    width: 16px;
    height: 15px;
    background-repeat: no-repeat;
    background-position: center;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cg clip-path='url(%23clip0_2091_10607)'%3E%3Cpath d='M10.6186 6.14569L8.73814 7.99997L10.6186 9.85426C10.671 9.90325 10.7127 9.96247 10.7412 10.0282C10.7697 10.094 10.7844 10.1649 10.7844 10.2366C10.7844 10.3083 10.7697 10.3793 10.7412 10.445C10.7127 10.5108 10.671 10.57 10.6186 10.619C10.5697 10.6676 10.5116 10.706 10.4478 10.732C10.384 10.7581 10.3156 10.7713 10.2467 10.7709C10.1093 10.7703 9.97761 10.7158 9.88005 10.619L7.99957 8.73854L6.14529 10.619C6.04772 10.7158 5.91604 10.7703 5.77862 10.7709C5.70968 10.7713 5.64135 10.7581 5.57753 10.732C5.51371 10.706 5.45566 10.6676 5.40671 10.619C5.30915 10.5209 5.25439 10.3881 5.25439 10.2497C5.25439 10.1113 5.30915 9.97859 5.40671 9.88045L7.261 7.99997L5.40671 6.14569C5.3209 6.04548 5.27606 5.91658 5.28115 5.78475C5.28624 5.65292 5.34089 5.52787 5.43418 5.43458C5.52747 5.34129 5.65252 5.28664 5.78435 5.28155C5.91618 5.27646 6.04508 5.3213 6.14529 5.40712L7.99957 7.2614L9.85385 5.40712C9.90235 5.3569 9.96026 5.31673 10.0243 5.28889C10.0883 5.26106 10.1572 5.24611 10.227 5.24489C10.2968 5.24368 10.3661 5.25622 10.4311 5.28181C10.496 5.30739 10.5553 5.34552 10.6055 5.39402C10.6557 5.44252 10.6959 5.50043 10.7237 5.56445C10.7516 5.62847 10.7665 5.69734 10.7677 5.76714C10.769 5.83694 10.7564 5.90629 10.7308 5.97125C10.7052 6.0362 10.6671 6.09547 10.6186 6.14569Z' fill='%23FF0000'/%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M0.666504 8.00002C0.666504 3.9513 3.95111 0.666687 7.99984 0.666687C12.0486 0.666687 15.3332 3.9513 15.3332 8.00002C15.3332 12.0487 12.0486 15.3334 7.99984 15.3334C3.95111 15.3334 0.666504 12.0487 0.666504 8.00002ZM7.99984 1.79489C4.5742 1.79489 1.79471 4.57439 1.79471 8.00002C1.79471 11.4257 4.5742 14.2051 7.99984 14.2051C11.4255 14.2051 14.205 11.4257 14.205 8.00002C14.205 4.57439 11.4255 1.79489 7.99984 1.79489Z' fill='%23FF0000'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_2091_10607'%3E%3Crect width='16' height='16' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}
.checkbox-group .text-danger {
    padding-left: 7px;
}

.input-group .has-error {
    border: 1px solid var(--color-red);
}

.checkbox-group {
    margin: 12px 0;
    cursor: pointer;
}
.checkbox-group input {
    display: none;
}
.checkbox-group label {
    position: relative;
    display: flex;
    align-items: center;
    font-size: 14px;
    font-weight: 400;
    line-height: 16px;
    user-select: none;
    cursor: pointer;
    gap: 8px;
}
.checkbox-group label:before {
    content: '';
    width: 28px;
    height: 28px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Crect x='0.5' y='0.5' width='15' height='15' stroke='%23C0C2C6'/%3E%3C/svg%3E");
    background-position: center;
    background-repeat: no-repeat;
    cursor: pointer;
}
.checkbox-group input:checked ~ label:before {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14' fill='none'%3E%3Cg clip-path='url(%23clip0_287_11041)'%3E%3Crect width='14' height='14' fill='%232E3540'/%3E%3Cpath d='M11.8125 3.9375L5.6875 10.0625L2.625 7' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/g%3E%3Cdefs%3E%3CclipPath id='clip0_287_11041'%3E%3Crect width='14' height='14' fill='white'/%3E%3C/clipPath%3E%3C/defs%3E%3C/svg%3E");
}
.checkbox-group label a {
    text-decoration: underline !important;
}

.show-more-toggle {
    margin-right: auto;
}

/* Popups */
.popup {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    padding: 50px 0;
    z-index: 101;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow-y: auto;
    display: none;
}
.popup.show {
    display: block;
}

.popup-content {
    position: relative;
    top: 0;
    width: 524px;
    max-width: calc(100% - 16px);
    margin: 50px auto;
    padding: 30px 32px 32px 32px;
    background: var(--color-white);
    z-index: 15;
}
.popup-close {
    position: absolute;
    top: 20px;
    right: 20px;
    padding: 4px;
    cursor: pointer;
}
.popup-close svg {
    display: block;
}
.popup-heading {
    text-align: center;
    margin-bottom: 32px;
}
.popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0.5;
    background: #313131;
    z-index: 14;
}

/* Scroll */
.custom-scroll {
    scrollbar-width: thin;
    scrollbar-color: var(--color-gray) transparent;
}
.custom-scroll::-webkit-scrollbar {
    width: 6px;
}
.custom-scroll::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scroll::-webkit-scrollbar-thumb {
    background: var(--color-gray);
    border-radius: 10px;
}

/* Alert */
.alert {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
    padding: 12px 24px 12px 24px;
    background: #FF4802;
    color: var(--color-white);
    gap: 12px;
}
.alert .close {
    display: flex;
    padding: 0;
    border: none;
    background: none;
    outline: none;
    color: var(--color-white);
    font-size: 24px;
}

/* Responsive */
@media (max-width: 1250px) {
    .container {
        padding: 0 32px;
    }
}

@media (max-width: 992px) {
    body {
        padding: 80px 0 0 0;
    }
    .container {
        padding: 0 16px;
    }
}

@media (max-width: 768px) {
    .col-m-1  { grid-column: span 1; }
    .col-m-2  { grid-column: span 2; }
    .col-m-3  { grid-column: span 3; }
    .col-m-4  { grid-column: span 4; }
    .col-m-5  { grid-column: span 5; }
    .col-m-6  { grid-column: span 6; }
    .col-m-7  { grid-column: span 7; }
    .col-m-8  { grid-column: span 8; }
    .col-m-9  { grid-column: span 9; }
    .col-m-10 { grid-column: span 10; }
    .col-m-11 { grid-column: span 11; }
    .col-m-12 { grid-column: span 12; }

    .pagination {
        margin-top: 36px;
    }

    .checkbox-group label {
        font-size: 12px;
        font-weight: 400;
        line-height: 14px;
    }
}
