/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* #GENERAL */
html{
  scroll-padding-top: 230px;
}

body{ overflow-x: hidden;}

.txt-grey{ color:var(--grey); }

.gp-icon.icon-menu-bars svg{
  color: #fff;
}

/* h1, h2, h3{
hyphens: auto;
overflow-wrap: break-word;
} */

.header-wrap{
  z-index: 999;
}

.slideout-logo { 
  max-width:150px;
  width: 100%;
}

.alignfull {
    margin-left: calc(-100vw / 2 + 100% / 2);
    margin-right: calc(-100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto;
}

a{ transition:.3s ease-in-out; }

.dark-mode ul li a:hover { color: var(--accent) !important; }

.hero-section-gradient{
  position: relative;
}

.hero-section-gradient:after{
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(29, 29, 27, 0.40);
  mix-blend-mode: multiply;
  backdrop-filter: blur(0px);
}

.h-subtitle{ 
  position: relative;
  padding-left:46px;
  letter-spacing: 1.6px;
  text-transform: uppercase !important;
  line-height: 16px;
  margin-bottom:40px;
}

.h-subtitle.active::before {
    width: 32px;
}

.h-subtitle::before {
    content: '';
    position: absolute;
    border-bottom: 1px solid var(--accent);
    top: 55%;
    left: 0%;
    transform: translateY(-45%);
    transition: width 0.6s ease-in-out;
    width: 0;
}

.build-line-bellow {
  position: relative;
}

.build-line-bellow::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -24px;
  width: 64px;
  height: 2px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.6s ease;
}

.build-line-bellow.line-visible::after {
  transform: scaleX(1);
}

.inside-article .default__button{
  color: #fff;
  padding: 17px 30px;
}


.inside-article .default__button:hover{
  color: var(--accent);
  text-shadow: none !important;

}

.default__button.outline-button{
  background-color: transparent;
  color: #fff   !important;
  border-color:#fff !important;
}

.default__button.outline-button:hover{
  /* background-color: transparent; */
  color: var(--accent) !important;
}

.linethrough-bg{
  position:relative;
}

.linethrough-bg::before{
  content: '';
  position: absolute;
  top:0;
  bottom:0;
  left:0;
  right:0;
  background-color: var(--grey);
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  max-width: 100vw;
  width: 100vw;
  z-index: -1;
}

.linethrough-bg::after{
  content: '';
  position: absolute;
  top:0;
  bottom:0;
  left:-100%;
  /* right:0; */
  background-color: var(--grey);
  margin-left: calc(-100vw / 2 + 100% / 2);
  margin-right: calc(-100vw / 2 + 100% / 2);
  max-width: 100vw;
  width: 100vw;
  z-index: -1;
}

/* #HEADER */

#sticky-navigation{
  background-color: var(--contrast);
}

.slideout-menu .current-menu-item a,
.menu.sf-menu li a{
  color:#fff !important;
  transition: .3s ease-in-out;
  font-weight:400;
  position: relative;
  line-height: 16px !important;
  padding: 0px !important;
}

.wp-block-navigation  .current-menu-item a{ position: relative ;}

.wp-block-navigation  .current-menu-item a::before,
.slideout-menu .current-menu-item a::before,
.menu.sf-menu li a::before{
  content: '';
  position: absolute;
  width: 100%;
  border-bottom: 1px solid #fff;
  bottom: -3px;
  left: 0;
  right: 0;
  transition: width 0.3s ease-in-out;
  width: 0;
}


.wp-block-navigation  .current-menu-item a::before{ width: 100%; }

.sub-menu {
  padding: 20px 10px !important;
  background-color: var(--accent) !important;
}

#sticky-navigation .sub-menu{
  background-color: var(--contrast);
}

.slideout-menu .current-menu-item a::before,
.menu.sf-menu li.current-menu-item > a::before,
.menu.sf-menu li:hover > a::before{ width: 100%; }

.menu.sf-menu > li{
  padding:0 32px;
}

.menu.sf-menu li:last-child{
  padding-right:0;
}

.menu-item-has-children .dropdown-menu-toggle{
  position: absolute;
  right: -20px;
  padding: 0;
  top: 0;
}

.sub-menu li a{ padding: 5px 10px !important; }


/* #BLOG */
.blog__item_term_list a{
  display: inline-flex;
  align-items: center;
  background-color: #D51317;
  color: #ffffff;
  padding: 10px 20px;
  margin-right: 10px;
  letter-spacing: 0.32px;
  line-height: 16px;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 4px;
  border: 1px solid #D51317;
  transition: .3s ease-in-out;
}

.blog__item_term_list a:hover,
.blog__item_term_list a:focus{
  background-color: #fff;
  color: #D51317;
  text-shadow: 1px 0px 1px #D51317;
}
/* #BLOG */

/* #ERROR404 */
.error404 #page{
  height:750px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.error404 .inside-article{ 
  padding-top: 0;
  padding-bottom: 0;
  background-color: var(--base-2);
}
.error-buttons {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
  justify-content: center;
}


.error-buttons a{
  display: inline-flex;
  align-items: center;
  background-color: #D51317 !important;
  color: #ffffff;
  padding: 10px 20px;
  margin-right: 10px;
  letter-spacing: 0.32px;
  line-height: 16px;
  text-decoration: none;
  text-transform: uppercase;
  border-radius: 4px;
  border: 1px solid #D51317;
  transition: .3s ease-in-out;
}

.error-buttons a:hover,
.error-buttons a:focus{
  background-color: #fff !important;
  color: #D51317 !important;
  text-shadow: 1px 0px 1px #D51317 !important;
}
.title-404 {
  font-weight: 800;
  font-size: 200px;
  line-height: 1.2;
}

.error404  .site-header{
  filter: invert(1);
}
/* #ERROR404 */

/* #KONTAKT FORM */

.gfield_label.gform-field-label{
  font-size: 16px;
  text-transform: uppercase;
}

.gform-phone__search{
  text-indent:25px !important;
}

.ginput_container input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.ginput_container select,
.ginput_container textarea{
  border: 1px solid var(--grey) !important;
  border-radius: 0px  !important;
  padding: 18px 16px  !important;
  width: 100% !important;
  font-size: 16px   !important;
  text-transform: uppercase  !important;
  box-shadow:none !important;
}

.ginput_container select{ 
  padding:0px  !important; 
  padding-left: 16px  !important;
}

.ginput_container input:not([type="submit"]):focus,
.ginput_container textarea:focus{
  border: none;
  outline: none !important;
}

.gform-phone__country-selector {
  background-color: #fff !important;
  border: 1px solid var(--grey) !important;
}

.ginput_container.ginput_container_date{
  position: relative !important;
  display: block !important;
}

#gfield_instruction_2_12{
  display: none !important;
}

.gform-theme-button { border-radius: 0px !important; }

.gform-theme.gform-theme--framework.gform_wrapper :where(:not(.mce-splitbtn))>button:not([id*=mceu_]):not(.mce-open):where(:not(.gform-theme-no-framework):not(.gform-theme__disable,.gform-theme__disable *):not(.gform-theme__disable-framework,.gform-theme__disable-framework *))::after{
  color:black !important;
}

.ginput_container.ginput_container_number,
.ginput_container.ginput_container_select{ position: relative !important; }


.ginput_container.ginput_container_date::after,
.ginput_container.ginput_container_select::after,
.ginput_container.ginput_container_number::after,
.ginput_container.ginput_container_select::after{
  content: '';
  position: absolute;
  top:0;
  bottom:0;
  right:40px;
  border-right:1px solid var(--grey);
}

.ginput_container.ginput_container_consent input{
  border-radius: 0 !important;
  border: 2px solid #000  !important;
}

.gform-theme--framework input[type=checkbox]:where(:not(.gform-theme__disable,.gform-theme__disable *):not(.gform-theme__disable-framework,.gform-theme__disable-framework *))::before{
  color:var(--accent) !important;
}

.gform-datepicker-toggle {
  position: absolute !important;
  right: 8px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
}

.ginput_container_phone .gform-field-label--type-sub { display: none !important; }

.ginput_container input:not([type="submit"])::placeholder,
.ginput_container textarea::placeholder {
  color: #c5c5c5 !important;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 16px; /* 100% */
  letter-spacing: 1.6px;
  opacity: 1 !important;
}

.gform_button.button{
  border-radius: 4px !important;
  background: #D51317 !important;
  color: #fff !important;
  text-align: center;
  text-transform: uppercase !important;
  max-width: 200px !important;
  width: 100% !important;
  transition: .3s ease-in-out;
  border: 1px solid var(--accent) !important;
}

.gform-field-label--type-sub {
  color: var(--contrast) !important;
}

.gform_button.button:hover{
  background: #fff !important;
  color: var(--accent) !important;
}

.gform_required_legend { display:none;}

.linear-bg-shadow{ position: relative; }

.linear-bg-shadow::before{
    background-blend-mode: multiply;
    background-image: linear-gradient(to right, rgba(29, 29, 27, 1) 52%, rgba(255, 255, 255, 0.22) 80%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 0px;
    content: '';
    height: 100%;
    left: 0px;
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 2;
    width: 100%;
}


@media (max-width:1024px) {

  #generate-slideout-menu{
    padding-top: 10px !important;
  }

  .sticky-navigation-logo{ max-width:150px;}

  .slideout-navigation .main-nav > ul> li > a{
    font-weight: 400 !important;
  }

  .mobile-menu-info .slideout-socials a img {
      width: 20px;
      height: 20px;
      transition: transform 0.3s ease-in-out;
      filter: invert(1);
  }

  /* #MOBILE MENU */
  /* SOCIALS STYLE */
  .slideout-socials {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
  }
  .mobile-menu-info .slideout-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease-in-out;
  }
  .mobile-menu-info .slideout-socials a img {
    width: 20px;
    height: 20px;
    transition: transform 0.3s ease-in-out;
  }
  .mobile-menu-info .slideout-socials a:hover img {
    transform: scale(1.2);
  }

  /* #TOP MENU STYLE*/
  .slideout-menu-info {
    width: 100%;
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
    row-gap: 30px;
  }
  .slideout-top-menu-wrapper .slideout-top-menu ul {
    width: 100%;
    display: flex !important;
    flex-direction: column;
    align-items: baseline;
    row-gap: 15px;
  }
  .slideout-top-menu-wrapper .slideout-top-menu ul li a {
    font-size: 16px;
    line-height: 1.2;
  }
  .slideout-top-menu-wrapper .slideout-top-menu ul li a:hover,
  .slideout-top-menu-wrapper .slideout-top-menu ul li.current-menu-item a {
    color: var(--accent);
  }

  .site-header .header-image {
      width: 150px;
  }


  /* SUBMENU STYLE */
  #generate-slideout-menu.do-overlay .slideout-menu li, 
  .slideout-navigation.do-overlay .inside-navigation {
    text-align: left !important;
  }
  #generate-slideout-menu .main-nav>ul {
    row-gap: 20px;
    padding-top: 20px;
    position: relative;
  }
  #generate-slideout-menu .main-nav>ul:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: var(--accent);
  }
  #generate-slideout-menu .menu-item-has-children .dropdown-menu-toggle {
    border: none;
    padding: 0;
    margin: 0 0 0 5px;
  }
  #generate-slideout-menu .slideout-menu li {
    margin: 0;
  }
  .slideout-navigation .main-nav > ul> li > a {
    font-weight: bold;
    width: 100%;
  }
  .slideout-navigation .main-nav ul li a {
    padding: 0;
  }
  .slideout-navigation .menu-item-has-children .dropdown-menu-toggle,
  .slideout-navigation .main-nav ul li a {
    line-height: 1.2;
  }
  #generate-slideout-menu .main-nav ul ul {
    border-bottom: 0;
    background-color: var(--base-3);
  }
  .slideout-navigation .main-nav ul ul li a {
    padding: 5px 10px;
    width: 100%;
  }
  #generate-slideout-menu .menu-item-has-children .dropdown-menu-toggle svg {
    width: 24px;
    height: 24px;
    top: 0;
  }

  /* HEADER STYLE */
  .admin-bar #generate-slideout-menu {
    padding-top: 46px;
  }
  .slideout-menu-logo a.slideout-logo {
    position: absolute;
    top: 20px;
    margin-left: 0;
  }
  .slideout-menu-logo a.slideout-logo img {
    padding: 0;
  }
  #generate-slideout-menu .main-nav {
    padding-top: var(--header-height) !important;
    min-width: 100% !important;
  }
  .slideout-navigation.do-overlay .inside-navigation {
    padding: 0 40px!important;
    justify-content: space-between;
    align-items: unset;
    position: relative;
    height: 100%;
    max-width: 100% !important;
  }
  .slideout-navigation.do-overlay .slideout-exit {
    position: absolute !important;
    z-index: 9999999;
    padding: 0 !important;
    right: 40px !important;
    line-height: 24px;
    width: 24px !important;
    height: var(--header-height);
  }
  .has-inline-mobile-toggle .main-navigation .menu-toggle {
    padding: 0;
    background: transparent;
    line-height: 24px;
    height: 24px;
    width: 24px;
  }
  .has-inline-mobile-toggle .main-navigation .menu-toggle svg,
  .slideout-navigation.do-overlay .slideout-exit svg {
    height: 24px;
    width: 24px;
    top: 0;
  }
  .has-inline-mobile-toggle #site-navigation.toggled {
    margin: 0;
  }
  #sticky-navigation .inside-navigation.grid-container {
    padding: 20px 40px !important;
  }
  #sticky-navigation .navigation-branding {
    margin-left: 0 !important;
    z-index: 999999 ;
  }
  #sticky-navigation .navigation-branding img {
    padding: 0;
  }
  /* #MOBILE MENU */

  .gform_fields{
    gap:20px !important;
  }
}

@media (max-width:768px) {
  /* #MOBILE MENU */
  #sticky-navigation .inside-navigation.grid-container {
    padding: 20px 30px !important;
  }
  .slideout-navigation.do-overlay .inside-navigation {
    padding: 0 30px!important;
  }
  .slideout-navigation.do-overlay .slideout-exit {
    right: 30px !important;
  }

  html{
  scroll-padding-top: 230px;
}

  .linear-bg-shadow::before {
    background-blend-mode: multiply;
    background-image: linear-gradient(to bottom, rgba(29, 29, 27, 1) 52%, rgba(255, 255, 255, 0.22) 80%);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    bottom: 0px;
    content: '';
    height: 100%;
    left: 0px;
    position: absolute;
    right: 0px;
    top: 0px;
    z-index: 0;
    width: 100%;
  }

  /* #MOBILE MENU */

  /* #ERROR404 */
  .title-404 {
    font-weight: 800;
    font-size: 60px;
  }
  .error404 #page{
    height:100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  /* #ERROR404 */

  .two-columns-w-linethrough-section .linethrough-bg::before,
  .two-columns-w-linethrough-section .linethrough-bg::after{
    content: none;
  }

  .default__button {
      font-size: 14px;
      line-height: 24px !important;
      padding: 10px !important;
  }

  .composition-two-images-w-line .linethrough-bg::after,
  .composition-two-images-w-line .linethrough-bg::before{ content:none;}
  
}
