/*
 Theme Name:     studio gid | setup theme
 Theme URI:      https://www.elegantthemes.com/gallery/divi/
 Description:    Setup-Umgebung zum Aufsetzen einer neuen Seite
 Author:         studio gid
 Author URI:     https://studio-gid.com
 Template:       Divi
 Version:        1.0.0
*/

:root {
  --font-family-body: "neue-haas-grotesk-display",sans-serif;
  --font-family-headings: "forma-djr-deck",sans-serif;
  --font-color-body: #333;
  --font-color-headings: #333;
  --font-color-menu: #333;
  --font-color-mobile-menu: #fff;
  --font-color-a: #4127e0;
  --font-size-body: clamp(19px, 2.1vw, 22px);
  --font-size-h1: clamp(30px, 3vw, 45px);
  --font-size-h2: clamp(25px, 2.5vw, 35px);
  --font-size-h3: clamp(22px, 2.3vw, 25px);
  --font-size-h4: clamp(19px, 2.1vw, 22px);
  --bg-body: #fff;
  --bg-menu: #3e3f45;
  --bg-highlight: #4127e0;
}

body {
  background: var(--bg-body);
}

body, p, a, li, ul {
font-family: var(--font-family-body);
color: var(--font-color-body);
font-size: var(--font-size-body);
font-weight: 300;
line-height: inherit;
hyphens: manual;
}

h1, h2, h3, h4, h5, h6, .et_pb_button{
font-family: var(--font-family-headings);
color: var(--font-color-headings);
line-height: normal;
}

h1{
  font-size: var(--font-size-h1);
  font-weight: 600;
}
h2{
  font-size: var(--font-size-h2);
  font-weight: 600;
}
h3{
  font-size: var(--font-size-h3);
  font-weight: 600;
}
h4{
  font-size: var(--font-size-h4);
  font-weight: 600;
}
a {
color: var(--font-color-a);
cursor: pointer;
}
a:hover, .current-menu-item a{
cursor: pointer;
text-decoration: underline;
}
li{
list-style-type:square;
}
strong {
font-weight: 500;
}
.et_pb_button:hover{
  text-decoration: none;
  transform-origin: center;
  transition: 200ms ease-in-out;
}
.tablet_empty {
  position: absolute;
  top: -2px;
  left: -41px;
  scale: 0.98 1.09;
  touch-action: none !important;
pointer-events: none !important;
}


/********************
******* MENUE *********
*********************/
  
    .et-menu a{
      font-family: var(--font-family-headings);
      color: var(--font-color-menu);
      font-size: var(--font-size-h4);
      font-weight: 500;
      border-bottom: 2px solid transparent;
    }
    .et_pb_fullwidth_menu .et-menu > li {
      padding-left: 2vw;
      padding-right: 2vw;
    }
    .current-menu-item a, #menu-main a:hover{
      border-bottom: 2px solid var(--font-color-menu);
      text-decoration: none !important;
      opacity: 1;
    }
    .et_pb_menu__menu > nav > ul > li > a{
      padding-bottom: 2px !important;
      margin-bottom: 15px;
    }
    .et-menu a, .et-menu a:hover, .menu-item a:hover {
      transition: 0s;
      opacity: 1 !important;
    }
    .menu-item {
      list-style: none;
    }
  /*Mobile Menu*/
    #mobile_menu1 {
      background-color: var(--bg-menu) !important;
      z-index: -1;
    }
    .et_mobile_menu{
      border-top:none;
    }
    .et_mobile_menu li a {
      color: var(--font-color-mobile-menu);
      border-bottom: 1px solid var(--font-color-mobile-menu);
      padding: 20px 0px;
      margin: 0px 15px;
      font-size: var(--font-size-h4);
    }
  /*change Divi hamburger menu to X*/
    .mobile_nav.opened .mobile_menu_bar:before {
        content: '\4d';
    }
    .mobile_menu_bar:before {
        transition: all .4s ease;
        transform: rotate(0deg);
        display: block;
        content: url(svg/Icon_Menu.svg) !important;
        width: 35px;
    }
  /*rotate the Divi Menu icon on click*/
    .mobile_nav.opened .mobile_menu_bar::before {
        transition: all .4s ease;
        transform: rotate(180deg);
        transform-origin: center;
        display: block;
        content: url(svg/Icon_Menu_Close.svg) !important;
        width: 25px;
        filter: brightness(0) invert(1);
    }

  @media (min-width: 767px){
    .et_pb_fullwidth_menu .et_pb_menu__menu,  .et_pb_menu .et_pb_menu__menu {
      display: block !important;
    }}
  @media only screen and (max-width: 766px) {
    .et_pb_fullwidth_menu .et_pb_menu__menu,  .et_pb_menu .et_pb_menu__menu{
      display: none !important;
    } 
    .et_pb_menu .et_mobile_nav_menu, .et_mobile_nav_menu{
      display: block !important;
      margin-top: -5px !important;
    }
    /*Position of Burger Icon*/
    .mobile_nav.closed span, .mobile_nav.opened span {
      position: absolute;
      right: 0;
    }}   
  @media only screen and (min-width: 767px) {
    .et_pb_menu .et_mobile_nav_menu, .et_mobile_nav_menu{
      display: none !important;
  }}

/********************
******* CF7 *********
*********************/
  .form-row{
    width: 100%;
  }
  .column-half, .column-full{
    float: left;
    position: relative;
    padding: 0.65rem;
    width:100%;
    -webkit-box-sizing: border-box;
          -moz-box-sizing: border-box;
          box-sizing: border-box
  }@media only screen and (min-width: 48em) { 
    .column-half{
      width: 50%;
    }
  }
  .clearfix:after {
    content: "";
    display: table;
    clear: both;
  }
  .wpcf7-response-output {
    background: var(--bg-mobile-menu);
    padding: 25px !important;
    color: white !important;
    font-size: clamp(24px, 1.4vw, 35px) !important;
    margin: 50px 0 !important;
  }
  .wpcf7-response-output {
    background: var(--bg-highlight) !important;
  }
  .contact_form_module {
  margin: 50px clamp(2vw, 150px, 8vw);
  margin-bottom: 50px;
  }
  .contact_form_module label, .contact_form_module h1, .contact_form_module h2,  .contact_form_module div,  .contact_form_module span, .contact_form_module a{
  color:var(--font-color-dark);
  }
  .contact_form_module h1, .contact_form_module h2{
  text-align: center;
  margin-top: 35px !important;
  }
  .contact_form_module a {
    text-decoration: underline;
  }
  .contact_form_module label {
    display: flex;
    flex-wrap: wrap-reverse;
  }
  .wpcf7-acceptance label{
    flex-wrap: inherit;
  }
  .contact_form_module input, .contact_form_module textarea, .wpcf7-form-control.wpcf7-select {
    border: 1px solid #999 !important;
    border-width: 0 0 1px 0 !important;
    width: 100%;
  }.contact_form_module span {
    width: 100%;
    }
  .wpcf7 input[type="checkbox"]{
    width: auto !important;
    margin: 0 10px auto 0 !important; 
  }
  .wpcf7-spinner {
    width: initial !important;
  }
  .contact_form_module textarea {
  height:150px;
  }
  .contact_checkbox label {
    display: block;
  }.contact_checkbox input {
    width: auto !important;
  }.wpcf7-list-item{
    margin: 0 !important;
  }.contact_checkbox span {
    font-size: smaller;
  }            
  .contact_form_module .wpcf7-submit {
    font-size: var(--font-size-h3);
    background: var(--bg-highlight);
    color: #fff;
    display: block;
    width: min-content;
    margin: auto;
    padding: 15px;
    position: relative;
    top: 35px;
    transition: all 200ms ease-in-out; 
  }
  .contact_form_module .wpcf7-submit:hover {
  cursor: pointer;
  padding: 15px 35px;
  transition: all 200ms ease-in-out; 
  }
  .wpcf7 form .wpcf7-response-output {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: smaller;
  }.wpcf7-not-valid-tip{
    color: #dc3232 !important;
    font-size: smaller;
    font-weight: normal;
    display: block;
    text-align: right;
  }
  .wpcf7 input.text, .wpcf7 input.title, .wpcf7 input[type="email"], .wpcf7 input[type="password"], .wpcf7 input[type="tel"], .wpcf7 input[type="text"], .wpcf7 select, .wpcf7 textarea, .wpcf7-form-control.wpcf7-date.wpcf7-validates-as-date{
    font-size: var(--font-body);
    color: var(--font-color-body) !important;
  }


/********************
******* Borlabs******
*********************/
  #BorlabsCookieBox ._brlbs-block-content._brlbs-bg-dark {
    background: rgba(0,0,0,0.1);
  }
  #BorlabsCookieBox ._brlbs-btn-accept-all {
    background: var(--bg-highlight);
    border-radius: 4px;
    color: var(--font-color-main);
  }
  ._brlbs-refuse, ._brlbs-manage {
    font-size: 18px !important;
  }


/*DESKTOP ONLY*/
@media only screen and (min-width: 981px) {
.hide_on_desktop{
  display: none;
}
}

/*TABLET ONLY*/
@media only screen and (min-width:767px) and (max-width:981px){
  .hide_on_tablet{
    display: none;
  }
}

/*MOBILE ONLY*/
@media only screen and (max-width: 767px) {
  .hide_on_mobile {
    display: none;
}
}

 /* Collapsable Rows */
 a.closed:after {
  transition: all .4s ease;
  transform: rotate(0deg);
  width: 50px;
  content: url(svg/Icon_Open.svg) !important;
  right: 50%;
  top: 0;
  display: inline-block; }
  
 a.rv_button.opened:after, a.rv_button2.opened:after, a.rv_button3.opened:after, a.rv_button4.opened:after, a.rv_button5.opened:after   {
  transition: all .4s ease;
  transform: rotate(135deg);
  width: 50px;
  content: url(svg/Icon_Open.svg) !important;
  right: 0;
  top: 0;
  display: inline-block;}


/*ET Builder*/
.et-fb-tinymce-html-input {
  color: #666 !important;
}