/*
Theme Name: Salient Child Theme
Description: This is a custom child theme for Salient
Theme URI:   https://themeforest.net/item/salient-responsive-multipurpose-theme/4363266
Author: ThemeNectar
Author URI:  https://themeforest.net/user/themenectar
Template: salient
Version: 1.0
*/


/* COLORS
   ----------------------------- */

:root {
   --red: #A31121;
   --dark-red: #390106;
   --dark-red-alternate: #341D1C;
   --off-white: #F6F5F4;
   --off-white-darker: #EFEEED;
   --greyish-brown: #89716E;
   --divider-grey: #C0BEBD;
   --divider-grey-darker: #CCCAC9;
   --divider-light: rgba(255,255,255,0.2);
   --bg-off-white: #F0EEEC;
   --white: #FFF;
   --black: #000;
   --cta-size: 80px;
   --h1-size: 85px;
   --h2-size: 50px;
   --h3-size: 42px;
   --h4-size: 34px;
   --h5-size: 30px;
   --h6-size: 24px;
   --alternate-heading-size: 80px;
   --btn-size: 16px;
   --btn-padding: 18px 28px;
   --large-paragraph-size: 21px;
   --alternate-paragraph-size: 19px;
   --paragraph-size: 17px;
   --small-paragraph-size: 16px;
   --smaller-paragraph-size: 15px;
   --small-text-size: 14px;
   --badge-size: 13px;
   --font-title: 'adelle', serif;
   --font-text: 'Inter', sans-serif;
   --font-accent: 'Bebas Neue', sans-serif;
   --s-radius: 24px;
}

/* FONT FACE
   ----------------------------- */

@font-face {
    font-family: 'Inter';
    src: url('fonts/subset-Inter-Bold.woff2') format('woff2'),
        url('fonts/subset-Inter-Bold.woff') format('woff'),
        url('fonts/subset-Inter-Bold.ttf') format('truetype'),
        url('fonts/subset-Inter-Bold.svg#Inter-Bold') format('svg');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/subset-Inter-SemiBold.woff2') format('woff2'),
        url('fonts/subset-Inter-SemiBold.woff') format('woff'),
        url('fonts/subset-Inter-SemiBold.ttf') format('truetype'),
        url('fonts/subset-Inter-SemiBold.svg#Inter-SemiBold') format('svg');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/subset-Inter-Medium.woff2') format('woff2'),
        url('fonts/subset-Inter-Medium.woff') format('woff'),
        url('fonts/subset-Inter-Medium.ttf') format('truetype'),
        url('fonts/subset-Inter-Medium.svg#Inter-Medium') format('svg');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/subset-Inter-Italic.woff2') format('woff2'),
        url('fonts/subset-Inter-Italic.woff') format('woff'),
        url('fonts/subset-Inter-Italic.ttf') format('truetype'),
        url('fonts/subset-Inter-Italic.svg#Inter-Italic') format('svg');
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: 'Inter';
    src: url('fonts/subset-Inter-Regular.woff2') format('woff2'),
        url('fonts/subset-Inter-Regular.woff') format('woff'),
        url('fonts/subset-Inter-Regular.ttf') format('truetype'),
        url('fonts/subset-Inter-Regular.svg#Inter-Regular') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Bebas Neue';
    src: url('fonts/subset-BebasNeue-Regular.woff2') format('woff2'),
        url('fonts/subset-BebasNeue-Regular.woff') format('woff'),
        url('fonts/subset-BebasNeue-Regular.ttf') format('truetype'),
        url('fonts/subset-BebasNeue-Regular.svg#BebasNeue-Regular') format('svg');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}



/* FONTS
   ----------------------------- */

body {
   font-family: var(--font-text);
   font-size: 16px;
   line-height: 26px;
}

p {
   font-family: var(--font-text);
   font-size: var(--paragraph-size);
   line-height: 1.55;
}

body h1,
.h1 {
   font-family: var(--font-accent);
   font-size: var(--h1-size);
   font-weight: 400;
   line-height: 1.02;
   text-transform: uppercase;
}

body h2,
.h2 {
   font-family: var(--font-title);
   font-size: var(--h2-size);
   font-weight: 400;
   line-height: 1.1;
}

body h3,
.h3 {
   font-family: var(--font-title);
   font-size: var(--h3-size);
   font-weight: 400;
   line-height: 1.1;
}

body h4,
.h4 {
   font-family: var(--font-title);
   font-size: var(--h4-size);
   font-weight: 400;
   line-height: 1.15;
}

body h5,
.h5 {
   font-family: var(--font-title);
   font-size: var(--h5-size);
   font-weight: 400;
   line-height: 1.25;
}

body h6,
.h6 {
   font-family: var(--font-title);
   font-size: var(--h6-size);
   font-weight: 400;
   line-height: 1.3;
}


/* GENERAL
   ----------------------------- */

.c-wrap {
   max-width: 1550px;
   width: 100%;
   padding: 0 50px;
   margin: 0 auto;
}

.flickity-enabled:focus {
    outline: none; 
}

.simpleParallax {
    height: 100% !important;
    width: 100% !important;
}

.js-parallax {
   will-change: transform;
   transition: transform 0.1s ease-out;
   z-index: 0;
}

.c-badge{
   background: var(--red);
   color: var(--white);
   font-size: var(--badge-size);
   font-family: var(--font-text);
   font-weight: 500;
   text-transform: uppercase;
   white-space: nowrap;
   line-height: 1.2;
   padding: 7px 13px;
   border-radius: 4px;
}

/* HEADER
   ----------------------------- */

body:not(.home) #top .container .row {
   border-bottom: 1px solid rgba(254,252,252,0.2);
}

#header-outer .row .col.span_9 {
   display: none !important;
}

#header-outer #top .span_3 {
   margin-right: 0 !important;
}


/* CUSTOM MENU
   ----------------------------- */

:root{
   --menu-shadow-bg: rgba(0, 0, 0, 0.6);
   --margin-top: 45px;
   --margin-right: 50px;
   --lines-height: 2px;
   --lines-color: #000;
   --lines-width: 42%;
   --lines-gap: 4px;
   --word-color: #000;
   --burger-width: 50px;
   --burger-height: 50px;
   --burger-bg: rgba(255, 255, 255, 0.9); 
   --burger-bg-hover: rgba(255, 255, 255, 0.7); 
   --burger-radius: 50%;
   --menu-size: 33px;
   --secondary-menu-size: 17px;
   --menu-width: 400px;
   --menu-padding: 85px 30px 60px 30px;
   --menu-border-radius: 8px;
   --menu-background: #f6f5f4;
   --menu-text-color: #000;
   --menu-height: auto;
   --menu-list-margin: -30px -30px;
}

.hamburger-menu-wrap{
   width: 74px;
   background: var(--menu-background);
   padding: 10px 0;
   border-radius: 5px;
   border: 1px solid rgba(204,202,201,0.7);
   text-align: center;
   transition: width 0.3s ease;
}
.hamburger-menu-wrap span.word{
   position: relative;
   font-size: 14px;
   line-height: 1;
   overflow: hidden;
   font-weight: 500;
   color: var(--word-color);
}
.hamburger-menu-wrap span.word span{
   position: relative;
   display: block;
   transition: transform 0.2s ease, opacity 0.2s ease 0.2s;
}
.hamburger-menu-wrap span.word span:last-child{
   position: absolute;
   top: 100%;
   left: 0;
   width: 100%;
}

.hamburger-menu-wrap span.word-open{
   transition: opacity 0.2s ease;
}
.hamburger-menu-wrap span.word-close{
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
   opacity: 0;
   transition: opacity 0.2s ease;
}
body.menu-active .hamburger-menu-wrap span.word-close{
   opacity: 1;
}

body.menu-active .hamburger-menu-wrap span.word-open{
   opacity: 0;
}
body.menu-active .hamburger-menu-wrap{
   width: 88px;
}

.menu-shadow{
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   height: 110%;
   background: var(--menu-shadow-bg);
   z-index: 99999997;

   pointer-events: none;
   opacity: 0;
   transition: opacity 0.15s cubic-bezier(.4,0,.2,1) 0.2s;

   user-select: none;
}
body.menu-active .menu-shadow{
   opacity: 1;
   pointer-events: initial;
   transition: opacity 0.15s cubic-bezier(.4,0,.2,1) 0s;
}


.main-menu-wrap{
   position: fixed;
   top: var(--margin-top);
   right: var(--margin-right);
   z-index: 99999998;
   color: var(--menu-text-color);
   width: var(--menu-width);
   pointer-events: none;
   margin: var(--menu-list-margin);
   user-select: none;
   max-height: calc(100vh - var(--margin-top) + 15px);
   display: flex;
   flex-direction: column;
}

.main-menu-wrap:after{
   content: ' ';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--menu-background);
   border-radius: var(--menu-border-radius);
   transform: scale(0.5);
   opacity: 0;
   transform-origin: 100% 0;
   transition: opacity 0.3s ease 0.2s, transform 0.3s ease 0.2s;
}


body.menu-active .main-menu-wrap:after{
   opacity: 1;
   transform: scale(1);
   transition: opacity 0.3s ease 0s, transform 0.3s ease 0s;
}

.main-menu-wrap .content-wrap{
   position: relative;
   padding: var(--menu-padding);
   z-index: 2;
   height: 100%;
   overflow-y: auto;
   flex: 1;
   overflow-y: auto;
   min-height: 0;

   opacity: 0;
   transition: opacity 0.3s ease 0s;
}
body.menu-active .main-menu-wrap .content-wrap{
   opacity: 1;
   transition: opacity 0.5s ease 0.2s;
}


body.menu-active .main-menu-wrap{
   pointer-events: initial;
}

.main-menu-wrap ul{
   margin: 0;
   padding: 0;
}
.main-menu-wrap ul li{
   list-style: none;
}


.main-menu-wrap ul{
   display: flex;
   flex-direction: column;
   gap: 5px;
}
.main-menu-wrap a{
   color: var(--inherit);
}
.primary-menu-wrap a{
   font-size: var(--menu-size);
   font-family: var(--font-title);
   font-weight: 400;
   line-height: 1.4;
   transition: color 0.15s ease;
}
.secondary-menu-wrap{
   margin-top: 30px;
}
.secondary-menu-wrap a{
   font-size: var(--secondary-menu-size);
   font-weight: 400;
   font-family: var(--font-text);
   line-height: 1.2;
   transition: color 0.15s ease;
}


/* Hamburger menu icon */

.hamburger-menu-wrap{
   position: fixed;
   top: var(--margin-top);
   right: var(--margin-right);
   z-index: 99999999;
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10px;

   user-select: none;
}

@media (min-width: 1550px) {
  :root{
    --margin-right: 50px;
  }
}

@media (max-width: 1300px){
  :root{
    --menu-size: 29px;
    --secondary-menu-size: 16px;
  }
}

@media (max-width: 999px){
   :root{
      --margin-right: 30px;
      --margin-top: 30px;
      --menu-list-margin: -10px -10px;
      --menu-size: 28px;
      --secondary-menu-size: 15px;
   }
   .main-menu-wrap ul {
      gap: 3px;
   }
   .secondary-menu-wrap {
      margin-top: 20px;
   }
}
@media (max-width: 690px){
   :root{
      --margin-right: 20px;
      --menu-padding: 65px 20px 50px 20px;
   }
}

@media (max-width: 500px){
   :root{
      --menu-width: calc(100% - var(--margin-right) );
      --menu-size: 26px;
   }
}


@media (hover: hover) and (pointer: fine) {

   .hamburger-menu-wrap:hover span.word span{
      transform: translateY(-100%);
   }
   .secondary-menu-wrap a:hover,
   .primary-menu-wrap a:hover{
      color: var(--red);
   }
}



/* BUTTONS
   ----------------------------- */

.main-btn {
   position: relative;
   font-size: var(--btn-size);
   line-height: 1;
   font-weight: 600;
   display: inline-block;
   text-align: center;
   background: transparent;
   transition: transform 0.3s ease;
}

.main-btn:after {
   content: '';
   position: absolute;
   top: 0;
   left: 0;
   width: 100%;
   height: 100%;
   background: var(--red);
   border-radius: 5px;
   border: 1px solid transparent;
   transition: transform 0.35s ease, background-color 0.3s, border 0.3s;
   transform: scaleX(1);
   transform-origin: center;
}

.main-btn.secondary:after {
   border: 1px solid var(--divider-grey-darker);
   background: transparent;
}

.main-btn:hover:after {
   transform: scaleX(1.05);
}

.main-btn > span {
   position: relative;
   z-index: 2;
   color: var(--white);
   font-family: var(--font-text);
   font-weight: 400;
   white-space: wrap;
   line-height: 1;
   padding: var(--btn-padding);
   display: flex;
   align-items: center;
   gap: 10px;
   transition-property: transform, opacity;
   transition-duration: 0.3s;
   transition-delay: 0.07s;
   transition-timing-function: cubic-bezier(0.5, 1.8, 0.62, 1);
}

.main-btn i {
   font-size: 18px;
   top: 0;
}

.main-btn.secondary > span {
   color: var(--black);
}

.main-btn > span:last-child {
   position: absolute;
   top: 0;
   left: 0;
   transform: translate3d(var(--button-hover-translate-x, 0px), 50%, 0);
   opacity: 0;
}

.main-btn:hover > span:first-child {
   transform: translate3d(calc(-1 * var(--button-hover-translate-x, 0px)), -50%, 0);
   opacity: 0;
}

.main-btn:hover > span:last-child {
   transform: translate3d(0, 0, 0);
   opacity: 1;
}


.main-btn.btn-full:hover:after {
   transform: none;
   background: var(--black);
}



/* CF7 FORMS
   ----------------------------- */

.wpcf7-turnstile {
   width: 100%;
}

.wpcf7-form{
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
}

.wpcf7-form label{
   font-size: 13px;
   font-weight: 500;
   text-transform: none;
   font-family: var(--font-text);
   text-transform: uppercase;
}

.wpcf7-form .wpcf7-form-control-wrap{
   position: initial !important;
   display: block;
   margin-top: 5px;
}
.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form textarea{
   font-family: var(--font-text);
   font-size: 15px;
   line-height: 1;
   color: var(--black);
   background: var(--white);
   padding: 19px 15px;
   border-radius: 4px;
   border: 1px solid var(--white);
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
   box-shadow: none;
   border-color: var(--black) !important;
}

.wpcf7-form textarea{
   resize: none;
   overflow: hidden;
   height: 220px;
   line-height: 1.4;
}
.wpcf7-form .control-group{
   position: relative;
   width: 100%;
   padding: 12px 0;
   user-select: none;
}
.wpcf7-form .control-group.mid{
   width: calc(50% - 12px);
}
.wpcf7-form .submit-wrap{
   width: 100%;
   margin-top: 15px;
}

.wpcf7-form .wpcf7-not-valid-tip {
   font-size: 13px;
   color: var(--red) !important;
   padding: 0;
   background-color: transparent;
   box-shadow: none;
   padding: 5px 0 0 0 !important;
   box-shadow: none !important;
}

.wpcf7-form input[type="text"].wpcf7-not-valid,
.wpcf7-form input[type="email"].wpcf7-not-valid,
.wpcf7-form input[type="tel"].wpcf7-not-valid,
.wpcf7-form textarea.wpcf7-not-valid,
.wpcf7-form select.wpcf7-not-valid {
    border-color: var(--red) !important;
}

.wpcf7-form .wpcf7-response-output{
   font-size: 15px;
   line-height: 1.5;
   background: transparent;
   border: 0 !important;
    padding: 40px 0 0 0 !important;
    margin: 0 auto !important;
   width: 100%;
   text-align: center;
}

.wpcf7-form .wpcf7-spinner,
.wpcf7-spinner::before {
   display: none;
}

.wpcf7-form.submitting .wpcf7-spinner{
    display: block !important;
    margin: 15px auto !important;
    background-image: url('images/loader.svg') !important;
    background-color: transparent !important;
    width: 24px !important;
    height: 24px !important;
}

.wpcf7-form .clarification{
   font-size: 13px;
   line-height: 1.5;
   margin-top: 5px;
}

.wpcf7-form .clarification a{
   color: inherit;
   transition: all 0.3s ease;
   text-decoration: underline;
}

.wpcf7-form .clarification a:hover {
   text-decoration: none;
}

.wpcf7-form-control:-ms-input-placeholder {
   color: var(--black) !important;
   opacity: 1 !important;
}

.wpcf7-form-control::placeholder {
   color: var(--black) !important;
   opacity: 1 !important;
}

.select-wrap{
   position: relative;
}

.select-wrap select{
   cursor: pointer;
   background: var(--white);
   height: 58px;
   -webkit-appearance: none;
   appearance: none;
   font-family: var(--font-text);
   color: var(--black);
   padding: 10px 15px;
   border: 1px solid transparent;
}

.select-wrap svg{
   width: 13px;
   height: auto;
   position: absolute;
   top: 50%;
   right: 20px;
   transform: translateY(-50%);
   pointer-events: none;
}





/* RESPONSIVE
   ----------------------------- */

@media (max-width: 1300px) {
   :root {
      --h1-size: 80px;
      --h2-size: 46px;
      --h3-size: 36px;
      --h4-size: 32px;
      --h5-size: 26px;
      --h6-size: 21px;
      --cta-size: 70px;
      --alternate-heading-size: 75px;
      --large-paragraph-size: 20px;
      --alternate-paragraph-size: 18px;
      --paragraph-size: 16px;
      --small-paragraph-size: 15px;
      --btn-size: 15px;
      --btn-padding: 16px 26px;
   }
}

@media (max-width: 1024px) {
   .main-btn:hover:after {
      transform: none;
   }
}


@media (max-width: 999px) {
   :root {
      --h1-size: 70px;
      --h2-size: 40px;
      --h3-size: 34px;
      --h4-size: 27px;
      --h5-size: 24px;
      --h6-size: 20px;
      --cta-size: 61px;
      --alternate-heading-size: 68px;
      --large-paragraph-size: 19px;
      --alternate-paragraph-size: 17px;
      --paragraph-size: 15px;
      --small-paragraph-size: 14px;
      --smaller-paragraph-size: 14px;
      --small-text-size: 13px;
      --badge-size: 12px;
      --btn-padding: 14px 22px;
      --s-radius: 18px;
   }
   .c-wrap {
      padding: 0 30px;
   }
   .paragraph {
      font-size: 15px;
      line-height: 1.55;
   }
   #top .container .row{
      padding-bottom: 20px;
   }
   .main-btn i {
      font-size: 16px;
   }
   .main-btn > span {
      gap: 8px;
   }
   .wpcf7-form input[type="text"],
   .wpcf7-form input[type="email"],
   .wpcf7-form input[type="tel"],
   .wpcf7-form textarea {
      padding: 16px 18px;
   }
   .select-wrap select{
      padding-inline: 18px;
      height: 52px;
   }
}

@media (max-width: 690px) {
   :root {
      --h1-size: 54px;
      --h2-size: 32px;
      --h3-size: 28px;
      --h4-size: 25px;
      --h5-size: 22px;
      --h6-size: 18px;
      --cta-size: 48px;
      --alternate-heading-size: 55px;
      --large-paragraph-size: 17px;
      --alternate-paragraph-size: 16px;
      --small-text-size: 12px;
      --btn-size: 14px;
      --badge-size: 11px;
   }
   .c-badge {
      padding: 6px 11px;
   }
   .hamburger-menu-wrap {
      width: 60px;
      padding: 8px 0;
   }
   body.menu-active .hamburger-menu-wrap {
      width: 74px;
   }
   .hamburger-menu-wrap span.word {
      font-size: 12px;
   }
   body #top #logo img,
   #header-outer[data-permanent-transparent="false"] #logo .dark-version {
      height: 55px !important;
   }
   .c-wrap {
      padding: 0 20px;
   }
   .br_br_24px[data-br-applies="bg"] > .row-bg-wrap, .br_br_24px[data-br-applies="bg"] > .row-bg-wrap {
      border-radius: 18px !important;
   }
   .wpcf7-form .control-group.mid{
      width: 100%;
   }
    .wpcf7-form .control-group {
        padding: 10px 0;
    }
    .wpcf7-form .wpcf7-response-output {
        font-size: 14px;
    }
     .wpcf7-form .clarification {
      font-size: 13px;
     }
   .wpcf7-form input[type="text"],
   .wpcf7-form input[type="email"],
   .wpcf7-form input[type="tel"],
   .wpcf7-form textarea {
      font-size: 14px;
      padding: 15px;
   }
   .select-wrap select{
      font-size: 14px;
      padding-inline: 15px;
      height: 49px;
   }
   .select-wrap svg {
      width: 12px;
   }
   .wpcf7-form textarea {
      height: 180px;
   }
}

@media (max-width: 550px) {
   :root {
      --cta-size: 44px;
      --h1-size: 46px;
      --btn-padding: 16px 22px;
   }
   .main-btn,
   .main-btn > span{
       width: 100%;
       text-align: center;
       justify-content: center;
   }
}