/* --- Domaine Display Regular --- */
@font-face {
  font-family: 'Domaine Display';
  src: url('../fonts/Domaine-Display/DomaineDisplay-Regular.otf') format('opentype');
  font-weight: 400; /* Regular */
  font-style: normal;
  font-display: swap; /* Best practice for loading */
}

/* --- Domaine Text Regular (Normal) --- */
@font-face {
  font-family: 'Domaine Text';
  src: url('../fonts/Domiane-Text/WOFF2/domaine-text-regular.woff2') format('woff2'),
       url('../fonts/Domiane-Text/OTF/DomaineText-Regular.otf') format('opentype');
  font-weight: 400; /* Regular */
  font-style: normal;
  font-display: swap;
}

/* --- Domaine Text Regular Italic --- */
@font-face {
  font-family: 'Domaine Text';
  src: url('../fonts/Domiane-Text/WOFF2/domaine-text-regular-italic.woff2') format('woff2'),
       url('../fonts/Domiane-Text/OTF/DomaineText-RegularItalic.otf') format('opentype');
  font-weight: 400; /* Regular */
  font-style: italic;
  font-display: swap;
}

/* --- GT Walsheim Medium (Normal) --- */
@font-face {
  font-family: 'GT Walsheim';
  src: url('../fonts/GT-Walsheim/WOFF/GT-Walsheim-Medium.woff2') format('woff2'),
       url('../fonts/GT-Walsheim/WOFF/GT-Walsheim-Medium.woff') format('woff'),
       url('../fonts/GT-Walsheim/OTF/GT-Walsheim-Medium.otf') format('opentype');
  font-weight: 500; /* Medium */
  font-style: normal;
  font-display: swap;
}

/* --- GT Walsheim Medium Oblique (Italic/Oblique) --- */
@font-face {
  font-family: 'GT Walsheim';
  src: url('../fonts/GT-Walsheim/WOFF/GT-Walsheim-Medium-Oblique.woff2') format('woff2'),
       url('../fonts/GT-Walsheim/WOFF/GT-Walsheim-Medium-Oblique.woff') format('woff'),
       url('../fonts/GT-Walsheim/OTF/GT-Walsheim-Medium-Oblique.otf') format('opentype');
  font-weight: 500; /* Medium */
  font-style: italic; /* Use italic for oblique styles */
  font-display: swap;
}

:root{
    --font-primary:"Domaine Text", sans-serif;
    --font-secondary:"GT Walsheim", sans-serif;

    --primary:#B8A893;
    --primary-light:#FBF9F6;
    --secondary:#192632;
    --text-dark:#192632;

    --charcoal-gray: #253132;
    --vivid-orange: #FF5E29;
    --sage-green: #889E85;
    --mint-cream: #E5FBDE;
    
    --soft-ivory: #F9EFDC;
    --sandstone: #B8A893;
    --rust-red: #963B20;
    --deep-teal: #214C4B;

    --header-height:161px;
}
main > .container-fluid,
main > .container-fluid > .row{
    padding: 0;
    margin: 0;
}
html{
    font-size: 10px;
}
body{
    font-size: max(20px, 2.5rem);
    line-height: 1.3;
    font-family: var(--font-primary);
    font-weight: 400;
    color: #000;
    padding-top: var(--header-height) !important;
}
*{
    box-sizing: border-box;
}
main :where(figure, article){
    margin: 0;
}
main :where(h1, h2, h3, h4, h5, h6, p, ul, ol){
    margin-block: 25px;
}
main :where(h1, h2, h3, h4, h5, h6) a{
    color: inherit;
}
main :where(h1, h2, h3, h4, h5, h6) b{
    font-family: var(--font-secondary);
}
@media screen and (max-width:1440px) {
    html{
        font-size: 8px;
    }
}
@media screen and (max-width:1366px) {
    html{
        font-size: 7px;
    }
}
@media screen and (max-width:1280px) {
    html{
        font-size: 6px;
    }
}
@media screen and (max-width:767px) {
    html{
        font-size: 5px;
    }
}
/**************************************
TYPOGRAPHY
**************************************/
h1, .h1{
    font-size: 6.8rem;
    font-weight: 400;
    line-height: 1.3;
}
h2, .h2{
    font-size: 5.0rem;
    line-height: 1.3;
}
h3, .h3{
    font-size: max(24px, 3.6rem);
    line-height: 1.3;
    font-weight: 400;
}
h4, .h4{
    font-family: var(--font-secondary);
    font-size: max(22px, 3rem);
    line-height: 1.3;
}
h5, .h5{
    font-family: var(--font-secondary);
    font-size: max(20px, 2.5rem);
    line-height: 1.3;
    font-weight: 400;
}
h6, .h6{
    font-family: var(--font-secondary);
    font-size: max(19px, 2.2rem);
    line-height: 1.3;
    font-weight: 500;
}
p, .para p{
    font-size: max(18px, 2.5rem);
    line-height: 1.3;
}
li{
    font-size: max(18px, 2.5rem);
    line-height: 1.3;
}
*{
    margin: 0;
    box-sizing: border-box;
}
a{
    text-decoration: none;
    color: var(--primary);
}
main a:hover{
    color: var(--vivid-orange);
}
b{
    font-weight: 500;
}
img{
    display: block;
    max-width: 100%;
    height: auto;
}
.text-primary{
    color: var(--primary) !important;
}
.text-secondary{
    color: var(--secondary) !important;
}
.text-dark{
    color: #192632 !important;
}
.block-heading{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    grid-gap: 3rem;
    margin-bottom: 11rem;
}
.block-heading :where(h1, h2, h3, h4, h5, h6){
    margin-block: 0;
}
/**************************************
BUTTON
**************************************/
.btn{
    margin: 0;
    display: inline-block;
    font-family: var(--font-secondary);
    font-size: max(18px, 2.4rem);
    font-weight: 500;
    letter-spacing:1px;
    line-height: 1;
    text-align: center;
    color: #000 !important;
    background-color: var(--mint-cream) !important;
    border: 1px solid var(--mint-cream);
    border-radius: 0;
    padding: 17px 5.5rem;
    cursor: pointer;
    box-shadow: unset;
    transition: all 0.3s;
}
.btn:hover,
.btn:focus{
    background-color: var(--vivid-orange) !important;
    border-color: var(--vivid-orange);
    color: #fff !important;
}
/*secondary*/
.btn.sandstone{
    background-color: var(--sandstone) !important;
    border-color: var(--sandstone);
}
.btn.sandstone:hover,
.btn.sandstone:focus{
    background-color: var(--vivid-orange) !important;
    border-color: var(--vivid-orange);
}
/*white*/
.btn.btn-light{
    background-color: #fff !important;
    border-color: #fff;
    color: var(--secondary) !important;
}
.btn.btn-light:hover,
.btn.btn-light:focus{
    background-color: var(--mint-cream) !important;
    border-color: var(--mint-cream);
    color: #000 !important;
}
/*button underline*/
.btn-underline{
    display: inline-block;
    font-family: var(--font-secondary);
    font-size: 11px;
    font-weight: bold;
    color: var(--text-dark);
    padding-bottom: 4px;
    border-bottom: 1px solid var(--primary);
    transition: all 0.3s;
}
.btn-underline:hover{
    color: var(--primary);
}
/*button group*/
.button-group{
    display: flex;
    flex-wrap: wrap;
    grid-gap: 15px 3rem;
}
/*link button*/
.link-btn{
    font-family: var(--font-secondary);
    font-size: max(18px, 2.2rem);
    line-height: 1;
    color: #000;
    transition: all 0.3s;
}
.link-btn:hover{
    color: var(--vivid-orange);
}
/**************************************
CONTAINER
**************************************/
:root{
    --container-width: 1780px;
    --container-padding:60px;
    --container: min(calc(100% - var(--container-padding) * 2), var(--container-width));
    --container-spacing: max(calc((100% - var(--container-width)) / 2), var(--container-padding));
    --container-spacing-minus: max(calc((-100% + var(--container-width)) / 2), var(--container-padding));
}
@media screen and (max-width:1280px) {
    :root{
        --container-padding:37px;
    }
}
@media screen and (max-width:767px) {
    :root{
        --container-padding:26px;
    }
}
.container{
    width: var(--container);
    max-width: unset;
    margin-inline: auto;
}
.container .container{
    width: 100%;
    margin-inline: unset;
}
/**************************************
SLIDER
**************************************/
.swiper-pagination{
    margin-top: 15px;
    position: unset !important;
}
.swiper-pagination .swiper-pagination-bullet{
    width: 16px;
    height: 16px;
    opacity: 1;
    background-color: transparent;
    border: 1px solid var(--primary);
    user-select: none;
}
.swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active{
    background-color: var(--primary);
}
/**************************************
FROM FIELDS
**************************************/
.form-item, 
.form-actions{
    margin-block: 16px;
}
/**/
input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]).form-control,
textarea.form-control{
    width: 100%;
    height: unset;
    min-height: unset;
    padding: 9.5px 20px;
    font-family: var(--font-secondary);
    font-size: 13px;
    font-weight: 400;
    color: var(--secondary);
    border: 1px solid #707070;
    border-radius: 0;
    box-shadow: unset;
    outline: 0;
    resize: none;
}
textarea.form-control{
    min-height: 153px;
}
input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]).form-control::placeholder,
textarea.form-control::placeholder{
    color: var(--secondary);
}
input:not([type="checkbox"], [type="radio"], [type="submit"], [type="button"]).form-control:focus,
textarea.form-control:focus{
    border-color: var(--mint-cream);
}
@media screen and (max-width:767px) {
    textarea.form-control{
        min-height: 100px;
    }
}
/**************************************
PAGINATION
**************************************/
.pagination{
    margin-top:4rem;
    display:flex;
    justify-content:center;
    flex-wrap:wrap;
    grid-gap:5px 10px;
}
.pagination li a{
    display:block;
    width: 16px;
    height: 16px;
    background-color: transparent !important;
    border: 1px solid var(--primary) !important;
    border-radius:50% !important;
    user-select: none;
    color: transparent !important;
    user-select: none !important;
    padding: 0 !important;
    box-shadow: unset !important;
}
.pagination li a:hover{
    opacity: 1 !important;
}
.pagination li.is-active a{
    background-color: var(--primary) !important;
}
.pagination li:is(.pager__item--first, .pager__item--previous, .pager__item--next, .pager__item--last){
    display: none !important;
}
/**/
.captcha .captcha__title{
    display: none;
}
@media screen and (max-width:991px) {
    footer .captcha .g-recaptcha{
        width: 212px;
        height: 54px;
        overflow: hidden;
    }
    footer .captcha .g-recaptcha iframe{
        transform: scale(0.7);
        transform-origin: top left;
    }
}