@charset "UTF-8";
/*
Theme Name: TheGem Child
Description: Multi-Purpose Wordpress Theme
Author: Codex Themes.
Theme URI: http://codex-themes.com/thegem/
Author URI: http://codex-themes.com/thegem/
Template: thegem
Version: 1.0
Tags: one-column, two-columns, left-sidebar, right-sidebar, responsive-layout, custom-background, custom-colors, custom-header, custom-menu, featured-images, flexible-header, full-width-template, theme-options, translation-ready, dark, light
License: GNU General Public License
License URI: license.txt

*/
@font-face {
  font-family: 'Montserrat medium hupa';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Montserrat-Medium.ttf') format('truetype');
}
@font-face {
  font-family: 'Montserrat regular hupa';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Montserrat-Regular.ttf') format('truetype');
}
@font-face {
  font-family: 'Montserrat semibold hupa';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Montserrat-SemiBold.ttf') format('truetype');
}
@font-face {
  font-family: 'Merriweather italic hupa';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Merriweather-Italic.ttf') format('truetype');
}
@font-face {
  font-family: 'Merriweather light italic hupa';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/Merriweather-LightItalic.ttf') format('truetype');
}
@font-face {
  font-family: 'fontawesome';
  font-style: normal;
  font-weight: 400;
  src: url('fonts/fontawesome-webfont.ttf') format('truetype');
}
.big-text {
  font-size: 27px;
  line-height: 36px;
}
.big-text p {
  font-size: 27px;
  line-height: 36px;
}
.big-text.tel a {
  display: inline-block;
  padding-left: 35px;
  position: relative;
}
.big-text.tel a:before {
  content: '';
  font-family: 'thegem-icons';
  color: #ffffff;
  font-size: 25px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}
.big-text.tel a:hover:before {
  color: #180C3F;
}
@media (max-width: 768px) {
  .big-text {
    font-size: 20px;
    line-height: 27px;
  }
  .big-text p {
    font-size: 20px;
    line-height: 27px;
  }
}
.light-text {
  font-size: 14px;
  line-height: 21px;
  color: #807F7F;
}
body strong {
  font-family: 'Montserrat semibold hupa';
  font-weight: normal;
}
.wpb_text_column a {
  text-decoration: underline;
}
.wpb_text_column ul {
  padding-left: 20px;
}
.wpb_text_column ul li {
  padding-bottom: 20px !important;
}
.wpb_text_column ul li:before {
  left: -20px !important;
}
@media (max-width: 500px) {
  .wpb_text_column ul {
    padding-left: 10px;
  }
  .wpb_text_column ul li::before {
    left: -10px !important;
  }
}
.wpb_text_column.kontakt-email a, .wpb_text_column.kontakt-tele a {
  padding-left: 25px;
  position: relative;
  display: inline-block;
}
.wpb_text_column.kontakt-email a:before, .wpb_text_column.kontakt-tele a:before {
  content: '';
  font-family: 'thegem-icons';
  color: #24135F;
  font-size: 18px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.wpb_text_column.kontakt-tele a::before {
  content: '';
}
.wpb_text_column.kontakt-email a::before {
  content: '';
}
h3, .title-h3 {
  margin-bottom: 15px;
}
.vc_row.image-row {
  margin-left: 0px;
  margin-right: 0px;
  margin-bottom: 0;
}
.vc_row.image-row .vc_column-inner {
  padding-top: 0 !important;
}
.vc_row.image-row.jungs {
  background-position-y: 38% !important;
}
.vc_row.image-row.overlay {
  position: relative;
}
.vc_row.image-row.overlay:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.05);
}
.vc_row.image-row-full {
  margin-bottom: 40px;
}
.vc_row.image-row-full .vc_column-inner {
  padding-top: 0 !important;
}
.vc_row.image-row-full.overlay {
  position: relative;
}
.vc_row.image-row-full.overlay:after {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.05);
}
.vc_row.title-image > .vc_column-inner > .wpb_wrapper {
  position: relative;
}
/* ================================================= */
/* === KORREKTUR FÜR MOBILES LOGO (Child-Theme) === */
/* ================================================= */
@media (max-width: 768px) {
    /* Logo Korrektur */
    .logo .tgp-exclude.small {
        margin-left: 0 !important;
    }

    /* Top-Bar Korrektur */
    .site-header .top-bar-outer,
    .tg-mobile-header-active .top-bar-outer {
        display: block !important;
        text-align: center;
    }
}
.vc_row.title-image #title-popup {
  width: 100%;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background-color: rgba(24, 12, 63, 0.7);
  color: #ffffff;
  display: none;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 0;
  bottom: 0;
}
@media (max-width: 767px) {
  .vc_row.title-image #title-popup {
    height: 332px !important;
  }
}
.vc_row.title-image #title-popup .vc_column_container {
  width: 1212px;
  margin-left: auto;
  margin-right: auto;
}
.vc_row.title-image #title-popup .vc_column-inner > .wpb_wrapper {
  display: flex;
  padding: 40px 0 15px 0;
}
@media (max-width: 967px) {
  .vc_row.title-image #title-popup .vc_column-inner > .wpb_wrapper {
    flex-wrap: wrap !important;
  }
}
.vc_row.title-image #title-popup .vc_column-inner > .wpb_wrapper .text {
  flex: 1;
  line-height: 30px;
  padding-right: 20px;
}
@media (max-width: 967px) {
  .vc_row.title-image #title-popup .vc_column-inner > .wpb_wrapper .text {
    width: 100% !important;
    flex: auto;
  }
}
@media (max-width: 500px) {
  .vc_row.title-image #title-popup .vc_column-inner > .wpb_wrapper .text {
    line-height: 24px;
  }
}
.vc_row.title-image #title-popup .vc_column-inner > .wpb_wrapper .gem-button {
  margin-top: 0;
}
@media (max-width: 500px) {
  .vc_row.title-image #title-popup .vc_column-inner > .wpb_wrapper .gem-button {
    margin-bottom: 15px;
  }
}
.vc_row.title-image #title-popup .close-button {
  width: 25px;
  height: 25px;
  position: absolute;
  top: 5px;
  right: 21px;
  text-align: center;
  cursor: pointer;
}
.vc_row.title-image #title-popup .close-button:before {
  content: '';
  font-family: 'thegem-icons';
  color: #ffffff;
  font-size: 22px;
  line-height: 25px;
  transition: all 0.2s;
}
.vc_row.title-image #title-popup .close-button:hover:before {
  color: #FF7F41;
}
.do-you-speak-image {
  padding-left: 21px !important;
  padding-bottom: 25px !important;
}
@media (max-width: 767px) {
  .do-you-speak-image {
    padding-right: 21px !important;
  }
}
.do-you-speak-image .vc_column-inner {
  padding: 0 !important;
  background-color: #e8e8e8;
}
.backlink a {
  font-family: 'Merriweather italic hupa';
  font-size: 16px;
  line-height: 44px;
  display: inline-block;
  padding-left: 25px;
  position: relative;
}
.backlink a::before {
  content: '';
  position: absolute;
  font-family: 'thegem-icons';
  left: 0;
  top: 0;
}
.vc_row.orange-row {
  color: #ffffff;
}
.vc_row.orange-row p, .vc_row.orange-row h2, .vc_row.orange-row .title-h2 {
  color: #ffffff;
}
.vc_row.orange-row a {
  color: #ffffff;
  text-decoration: none;
}
.vc_row.orange-row a:hover {
  color: #180C3F;
}
.vc_row.orange-row .vc_column_container > .vc_column-inner {
  padding-top: 65px !important;
  padding-bottom: 40px !important;
}
.vc_row.orange-row.newsletter .vc_column-inner > .wpb_wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 600px) {
  .vc_row.orange-row.newsletter .vc_column-inner > .wpb_wrapper {
    flex-direction: column;
  }
  .vc_row.orange-row.newsletter .vc_column-inner > .wpb_wrapper .title-h2 {
    text-align: center !important;
  }
  .vc_row.orange-row.newsletter .vc_column-inner > .wpb_wrapper .gem-button {
    margin-right: 0;
  }
  .vc_row.orange-row.newsletter .vc_column-inner > .wpb_wrapper .gem-button-container {
    padding-left: 0;
  }
}
.vc_row.orange-row.newsletter .gem-button-container {
  padding-left: 60px;
}
.vc_row.orange-row.newsletter .vc_column_container > .vc_column-inner {
  padding-top: 45px !important;
  padding-bottom: 20px !important;
}
.vc_row.blue-row {
  color: #ffffff;
}
.vc_row.blue-row p, .vc_row.blue-row h2, .vc_row.blue-row .title-h2 {
  color: #ffffff;
}
#elternfeedback .feedback {
  display: none;
}
#elternfeedback .feedback .wpb_text_column p {
  font-family: 'Merriweather light italic hupa';
  font-size: 21px;
  line-height: 29px;
}
#elternfeedback .feedback.first {
  display: block;
}
#elternfeedback .feedback:not(.first) {
  position: relative;
  padding-top: 40px;
}
#elternfeedback .feedback:not(.first):before {
  /*content: '';
                position: absolute;
                height: 2px;
                background-color: lightgray;
                width: 200px;
                left: 50%;
                top: 0;
                transform: translateX(-50%);*/
}
#elternfeedback .gem-button {
  cursor: pointer;
}
@media (max-width: 967px) {
  .vc_row.pressebeitrag .image {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .vc_row.pressebeitrag .image {
    width: 100%;
  }
}
.vc_row.pressebeitrag .image .wpb_single_image {
  margin-bottom: 0;
  height: 100%;
}
.vc_row.pressebeitrag .image .wpb_single_image .vc_figure {
  width: 100%;
  height: 100%;
}
.vc_row.pressebeitrag .image .wpb_single_image .vc_figure .vc_single_image-wrapper {
  width: 100%;
  height: 100%;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.vc_row.pressebeitrag .image .wpb_single_image .vc_figure .vc_single_image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.vc_row.pressebeitrag .image .vc_column-inner {
  padding-right: 0;
}
@media (max-width: 767px) {
  .vc_row.pressebeitrag .image .vc_column-inner {
    padding-left: 0;
  }
}
.vc_row.pressebeitrag .image .wpb_wrapper {
  height: 100%;
}
.vc_row.pressebeitrag .content {
  height: auto;
  min-height: 340px;
}
@media (max-width: 967px) {
  .vc_row.pressebeitrag .content {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .vc_row.pressebeitrag .content {
    width: 100%;
  }
}
.vc_row.pressebeitrag .content > .vc_column-inner {
  height: 100%;
  padding-left: 0;
}
@media (max-width: 767px) {
  .vc_row.pressebeitrag .content > .vc_column-inner {
    padding-right: 0;
  }
}
.vc_row.pressebeitrag .content > .vc_column-inner > .wpb_wrapper {
  background-color: #E6E4E4;
  height: 100%;
  padding: 32px 32px 5px 32px;
  display: flex;
  flex-direction: column;
}
.vc_row.pressebeitrag .content > .vc_column-inner > .wpb_wrapper .gem-button-container {
  margin-top: auto;
}
.vc_row.pressebeitrag h3 {
  color: #000000;
}
.vc_row.pressebeitrag .title {
  margin-bottom: 8px;
}
.vc_row.pressebeitrag .date {
  color: #807F7F;
  font-size: 14px;
  line-height: 21px;
}
.vc_row.triple-row {
  margin-left: -8px;
  margin-right: -8px;
}
.vc_row.triple-row .vc_column_container > .vc_column-inner {
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.vc_row.triple-row .wpb_single_image .vc_figure {
  width: 100%;
}
.vc_row.triple-row .wpb_single_image .vc_figure .vc_single_image-wrapper {
  width: 100%;
  height: 280px;
}
.vc_row.triple-row .wpb_single_image .vc_figure .vc_single_image-wrapper img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.vc_row.preis-table {
  margin-left: -8px;
  margin-right: -8px;
}
.vc_row.preis-table > .vc_column_container > .vc_column-inner {
  padding-left: 0;
  padding-right: 0;
}
.vc_row.preis-table > .vc_column_container > .vc_column-inner > .wpb_wrapper {
  display: flex;
  flex-wrap: wrap;
}
.vc_row.preis-table .preis-variante {
  width: 33.33%;
  margin-left: 0;
  margin-right: 0;
  margin-bottom: 16px;
  height: auto !important;
}
@media (max-width: 1020px) {
  .vc_row.preis-table .preis-variante {
    width: 50%;
  }
}
@media (max-width: 767px) {
  .vc_row.preis-table .preis-variante {
    width: 100%;
  }
}
.vc_row.preis-table .preis-variante.orange .heading {
  border: 1px solid #FF7F41;
  background-color: #FF7F41 !important;
}
.vc_row.preis-table .preis-variante.blue .heading {
  border: 1px solid #24135F;
  background-color: #24135F !important;
}
.vc_row.preis-table .preis-variante.popular {
  position: relative;
}
.vc_row.preis-table .preis-variante.popular:before {
  content: 'beliebt';
  top: -20px;
  left: 50%;
  transform: translateX(-50%);
  position: absolute;
  padding: 9px 24px;
  font-size: 18px;
  line-height: 24px;
  border-radius: 20px;
  background-color: #24135F;
  color: #ffffff;
  font-family: 'Montserrat semibold hupa';
  z-index: 5;
}
.vc_row.preis-table .preis-variante .vc_column_container {
  height: 100%;
}
.vc_row.preis-table .preis-variante .vc_column_container > .vc_column-inner {
  height: 100%;
  padding-left: 8px !important;
  padding-right: 8px !important;
}
.vc_row.preis-table .preis-variante .vc_column_container > .vc_column-inner > .wpb_wrapper {
  height: 100%;
  border: 1px solid #E6E4E4;
  border-collapse: collapse;
  border-radius: 16px;
  display: flex;
  flex-direction: column;
}
.vc_row.preis-table .preis-variante .heading {
  padding: 33px 24px;
  color: #ffffff;
  font-family: 'Montserrat semibold hupa';
  font-size: 32px;
  line-height: 31px;
  border: 1px solid #FF7F41;
  border-top-left-radius: 16px;
  border-top-right-radius: 16px;
  border-collapse: collapse;
  margin-left: -1px;
  margin-right: -1px;
  margin-top: -1px;
}
.vc_row.preis-table .preis-variante .heading .sub-head {
  font-size: 24px;
  line-height: 31px;
  font-family: 'Montserrat regular hupa';
}
.vc_row.preis-table .preis-variante .preis {
  margin-bottom: 24px;
  font-size: 52px;
  line-height: 52px;
  color: #24135F;
}
.vc_row.preis-table .preis-variante .preis .wert {
  font-size: 32px;
  line-height: 32px;
  vertical-align: top;
}
.vc_row.preis-table .preis-variante .gem-list.gem-list-color-2 > ul > li::before {
  color: #00BC2C;
}
.vc_row.preis-table .preis-variante .wpb_text_column:not(.heading), .vc_row.preis-table .preis-variante .gem-list, .vc_row.preis-table .preis-variante .gem-button-container {
  padding-left: 20px;
  padding-right: 20px;
}
.vc_row.preis-table .preis-variante .gem-button-container {
  padding-bottom: 10px;
  margin-top: auto;
}
.vc_tta-container {
  margin-bottom: 0 !important;
}
@media (max-width: 500px) {
  .vc_tta-container {
    margin-bottom: 20px !important;
  }
}
.vc_tta-container .vc_tta-panel.vc_active {
  border: none !important;
}
.vc_tta-container .vc_tta-panel.vc_active .vc_tta-panel-heading {
  background-color: #FF7F41 !important;
}
.vc_tta-container .vc_tta-panel.vc_active .vc_tta-panel-title a {
  color: #ffffff !important;
}
.vc_tta-container .vc_tta-panel.vc_active .vc_tta-panel-title i:before {
  border-color: #ffffff !important;
}
.vc_tta-container .vc_tta-panel .vc_tta-panel-heading {
  background-color: #FF7F41 !important;
  border: none !important;
}
.vc_tta-container .vc_tta-panel .vc_tta-panel-title a {
  color: #ffffff !important;
  font-size: 24px !important;
  padding-left: 16px !important;
  text-transform: none;
  font-family: 'Montserrat semibold hupa' !important;
  font-weight: 400;
}
@media (max-width: 500px) {
  .vc_tta-container .vc_tta-panel .vc_tta-panel-title a {
    line-height: 21px !important;
    font-size: 18px !important;
  }
}
.vc_tta-container .vc_tta-panel .vc_tta-panel-title i:before, .vc_tta-container .vc_tta-panel .vc_tta-panel-title i:after {
  border-color: #ffffff !important;
}
.vc_tta-container .vc_tta-panel .vc_tta-panel-body {
  background-color: #ffffff !important;
  border: none !important;
  padding-left: 0px !important;
  padding-right: 0px !important;
}
.payone-container {
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 500px) {
  .payone-container {
    margin-left: -21px;
    margin-right: -21px;
  }
}
.payone-container iframe {
  width: 340px;
  height: 700px !important;
}
.wpcf7-form .anrede {
  margin-bottom: 24px;
  display: block;
}
@media (max-width: 500px) {
  .wpcf7-form .anrede {
    height: auto;
  }
}
.wpcf7-form .anrede .wpcf7-form-control-wrap {
  height: 100%;
}
.wpcf7-form .wpcf7-radio {
  display: block;
  height: 100%;
}
@media (max-width: 500px) {
  .wpcf7-form .wpcf7-radio {
    display: flex;
    flex-direction: column;
    height: auto;
  }
  .wpcf7-form .wpcf7-radio .wpcf7-list-item {
    margin-bottom: 10px;
  }
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item {
  margin-bottom: 10px;
}
.wpcf7-form .wpcf7-radio .wpcf7-list-item-label {
  padding-left: 30px;
}
@media (max-width: 500px) {
  .wpcf7-form .wpcf7-radio .wpcf7-list-item-label {
    padding-left: 30px;
  }
}
.wpcf7-form .wpcf7-radio label {
  position: relative;
  cursor: pointer;
}
.wpcf7-form .wpcf7-radio input[type=radio] {
  position: relative;
  visibility: hidden;
  width: 0;
}
.wpcf7-form .wpcf7-radio input[type=radio] + span:before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 24px;
  width: 24px;
  top: 0px;
  border: 1px solid #24135F;
}
.wpcf7-form .wpcf7-radio input[type=radio] + span:after {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 16px;
  width: 16px;
  top: 4px;
  left: 4px;
  visibility: hidden;
}
.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:before {
  background: transparent;
}
.wpcf7-form .wpcf7-radio input[type=radio]:checked + span:after {
  background: #24135F;
  visibility: visible;
}
.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label {
  padding-left: 25px;
  line-height: 26px !important;
}
.wpcf7-form .wpcf7-acceptance label {
  position: relative;
  cursor: pointer;
}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] {
  position: relative;
  visibility: hidden;
}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] + span:before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 3px;
  height: 24px;
  width: 24px;
  top: 0px;
  border: 1px solid #24135F;
}
.wpcf7-form .wpcf7-acceptance input[type=checkbox] + span:after {
  display: block;
  position: absolute;
  content: '';
  font-family: 'thegem-icons';
  border-radius: 100%;
  height: 10px;
  width: 10px;
  top: 0px;
  left: 3.5px;
  visibility: hidden;
  font-size: 16px;
  color: #ffffff;
}
.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked + span:before {
  background: #24135F;
}
.wpcf7-form .wpcf7-acceptance input[type=checkbox]:checked + span:after {
  visibility: visible;
}
.wpcf7-form .wpcf7-not-valid-tip {
  display: none;
}
.wpcf7-form .wpcf7-response-output {
  border: none !important;
  margin: 0px 0px 20px 0px !important;
  padding: 0px 0px !important;
  display: inline-block;
  color: #000000 !important;
}
.wpcf7-form .wpcf7-list-item.last {
  margin-right: 0;
}
form#anmeldeformular {
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
form input[type=text], form input[type=email], form input[type=tel], form input[type=date], form textarea, form select {
  font-size: 18px;
  line-height: 24px;
  padding: 15px 32px 15px 16px !important;
  background-color: #ffffff !important;
  border-radius: 8px;
  color: #000000;
  border-color: transparent;
  width: 100%;
}
form input[type=text].wpcf7-not-valid, form input[type=email].wpcf7-not-valid, form input[type=tel].wpcf7-not-valid, form input[type=date].wpcf7-not-valid, form textarea.wpcf7-not-valid, form select.wpcf7-not-valid {
  background-color: #ffb5b0 !important;
}
form input[type=text]::placeholder, form input[type=email]::placeholder, form input[type=tel]::placeholder, form input[type=date]::placeholder, form textarea::placeholder, form select::placeholder {
  color: #807F7F;
}
form input[type=text].active, form input[type=email].active, form input[type=tel].active, form input[type=date].active, form textarea.active, form select.active {
  background-color: #c2ffcf !important;
}
form input[type=submit], form button {
  margin-top: 5px !important;
  margin-left: 0 !important;
  font-size: 16px !important;
  font-family: 'Montserrat semibold hupa';
  line-height: 56px !important;
  height: auto !important;
  width: auto !important;
  border-radius: 35px !important;
  padding: 0 25px !important;
  border: 2px solid #D14600 !important;
  background-color: transparent !important;
  color: #D14600 !important;
  transition: all 0.3s;
}
form input[type=submit]:hover, form button:hover {
  color: #ffffff !important;
  background-color: #D14600 !important;
  box-shadow: rgba(99, 99, 99, 0.6) 0px 2px 8px 0px !important;
}
form input[type=date] {
  user-select: none;
}
form textarea {
  resize: none;
}
form textarea::placeholder {
  color: #807F7F;
  font-size: 14px;
  line-height: 21px;
}
form .label-name, form .form-item-label {
  font-size: 14px;
  line-height: 21px;
  color: #807F7F;
  padding-bottom: 8px;
  display: inline-block;
}
form .label-name.light, form .form-item-label.light {
  color: #ffffff;
  font-family: 'Montserrat semibold hupa';
}
form .zweispaltig {
  display: flex;
  flex-wrap: wrap;
  margin-right: -8px;
  margin-left: -8px;
  margin-bottom: 24px;
}
@media (max-width: 500px) {
  form .zweispaltig {
    margin-bottom: 0px;
  }
}
form .zweispaltig .spalte {
  width: 50%;
  padding-left: 8px;
  padding-right: 8px;
}
@media (max-width: 500px) {
  form .zweispaltig .spalte {
    width: 100%;
    margin-bottom: 24px;
  }
}
form .radio {
  display: block;
  margin-bottom: 1.1em;
}
@media (max-width: 500px) {
  form .radio {
    display: flex;
    flex-direction: column;
  }
}
form .radio .form-item-label {
  width: 100%;
  margin-bottom: 10px;
}
form .radio .radio-item-label {
  padding-left: 25px;
  margin-right: 20px;
}
@media (max-width: 500px) {
  form .radio .radio-item-label {
    padding-left: 15px;
  }
}
form .radio .radio-item {
  position: relative;
}
@media (max-width: 500px) {
  form .radio .radio-item {
    margin-bottom: 10px;
  }
}
form .radio label {
  position: relative;
  cursor: pointer;
}
form .radio input[type=radio] {
  position: relative;
  visibility: hidden;
}
form .radio input[type=radio] + span:before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 24px;
  width: 24px;
  top: 0px;
  left: 0;
  border: 1px solid #24135F;
}
form .radio input[type=radio] + span:after {
  display: block;
  position: absolute;
  content: '';
  border-radius: 100%;
  height: 16px;
  width: 16px;
  top: 4px;
  left: 4px;
  visibility: hidden;
}
form .radio input[type=radio]:checked + span:before {
  background: transparent;
}
form .radio input[type=radio]:checked + span:after {
  background: #24135F;
  visibility: visible;
}
form .checkbox-container .checkbox-label {
  padding-left: 25px;
  line-height: 29px !important;
}
form .checkbox-container .checkbox-label a {
  text-decoration: underline;
}
form .checkbox-container label {
  position: relative;
  cursor: pointer;
}
form .checkbox-container input[type=checkbox] {
  position: relative;
  visibility: hidden;
}
form .checkbox-container input[type=checkbox] + span:before {
  display: block;
  position: absolute;
  content: '';
  border-radius: 3px;
  height: 24px;
  width: 24px;
  top: 0px;
  border: 1px solid #24135F;
}
form .checkbox-container input[type=checkbox] + span:after {
  display: block;
  position: absolute;
  content: '';
  font-family: 'thegem-icons';
  border-radius: 100%;
  height: 10px;
  width: 10px;
  top: 0px;
  left: 3.5px;
  visibility: hidden;
  font-size: 16px;
  color: #ffffff;
}
form .checkbox-container input[type=checkbox]:checked + span:before {
  background: #24135F;
}
form .checkbox-container input[type=checkbox]:checked + span:after {
  visibility: visible;
}
form .checkbox-container input[type=checkbox].error-field + span:before {
  border: 2px solid #ffb5b0;
  background: #ffb5b0;
}
form input.error-field, form textarea.error-field, form select.error-field, form input[type="text"].error-field, form input[type="email"].error-field, form input[type="tel"].error-field, form input[type="date"].error-field {
  background-color: #ffb5b0 !important;
}
form .submit-message {
  display: none;
  color: #D14600;
  font-family: 'Montserrat semibold hupa';
  margin-bottom: 20px;
}
form.multistep .form-steps {
  display: flex;
  padding-left: 48px;
  padding-right: 48px;
}
form.multistep .form-steps .step {
  display: flex;
  flex-direction: column;
  width: 25%;
  position: relative;
}
form.multistep .form-steps .step .icon {
  background-color: #CCCACA;
  border-radius: 50%;
  height: 56px;
  width: 56px;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 5;
  position: relative;
}
form.multistep .form-steps .step .icon:after {
  content: '';
  font-family: 'fontawesome';
  color: #E6E4E4;
  font-size: 24px;
  line-height: 56px;
  text-align: center;
  position: absolute;
  left: 0;
  right: 0;
  width: 56px;
  height: 56px;
  z-index: 6;
}
form.multistep .form-steps .step.eltern .icon:after {
  content: '';
}
form.multistep .form-steps .step.kind .icon:after {
  content: '';
  font-size: 34px;
}
form.multistep .form-steps .step.einrichtung .icon:after {
  content: '';
}
form.multistep .form-steps .step.zahlung .icon:after {
  content: '';
}
form.multistep .form-steps .step.geschafft .icon:after {
  content: '';
  font-size: 30px;
}
form.multistep .form-steps .step .title {
  padding-top: 16px;
  font-family: 'Merriweather italic hupa';
  font-size: 18px;
  line-height: 24px;
  text-align: center;
  width: 100%;
  color: #999797;
}
form.multistep .form-steps .step .number {
  font-family: 'Merriweather italic hupa';
  font-size: 18px;
  line-height: 24px;
  color: #D14600;
  text-align: center;
}
@media (min-width: 600px) {
  form.multistep .form-steps .step .number {
    display: none;
  }
}
form.multistep .form-steps .step:before {
  content: '';
  position: absolute;
  top: 27px;
  height: 1px;
  width: 50%;
  background-color: #CCCACA;
}
form.multistep .form-steps .step:after {
  content: '';
  position: absolute;
  top: 27px;
  left: 50%;
  height: 1px;
  width: 50%;
  background-color: #CCCACA;
}
form.multistep .form-steps .step.active .icon, form.multistep .form-steps .step.finish .icon {
  background-color: #FF7F41;
}
form.multistep .form-steps .step.active .title, form.multistep .form-steps .step.finish .title {
  color: #D14600;
}
form.multistep .form-steps .step.active:before, form.multistep .form-steps .step.active:after, form.multistep .form-steps .step.finish:before, form.multistep .form-steps .step.finish:after {
  background-color: #FF7F41;
}
form.multistep .form-steps .step:first-child {
  width: 12.5%;
  position: relative;
}
form.multistep .form-steps .step:first-child .icon {
  margin-left: -28px;
}
form.multistep .form-steps .step:first-child .title {
  text-align: left;
  margin-left: -25px;
}
form.multistep .form-steps .step:last-child {
  width: 12.5%;
  position: relative;
}
form.multistep .form-steps .step:last-child .icon {
  margin-right: -28px;
}
form.multistep .form-steps .step:last-child .title {
  text-align: right;
  margin-left: 43px;
}
@media (max-width: 790px) {
  form.multistep .form-steps .step:last-child .title {
    margin-left: 45%;
  }
}
@media (max-width: 600px) {
  form.multistep .form-steps .step {
    width: 100% !important;
  }
  form.multistep .form-steps .step .icon {
    margin-left: auto !important;
    margin-right: auto !important;
  }
  form.multistep .form-steps .step .title {
    margin-left: 0 !important;
    margin-right: 0 !important;
    text-align: center !important;
  }
  form.multistep .form-steps .step:before, form.multistep .form-steps .step:after {
    display: none;
  }
  form.multistep .form-steps .step:not(.active) {
    display: none;
  }
}
form.multistep .buttons {
  display: flex;
  position: relative;
}
form.multistep .buttons #nextBtn {
  margin-left: auto !important;
}
@media (max-width: 500px) {
  form.multistep .buttons {
    flex-wrap: wrap;
    flex-direction: column-reverse;
  }
  form.multistep .buttons button {
    width: 100% !important;
  }
  form.multistep .buttons #nextBtn {
    margin-bottom: 10px !important;
  }
}
form.multistep .tab {
  display: none;
}
form.multistep .tab.active {
  display: block;
  animation: tabfade 1s linear forwards;
}
form.multistep .tab .prevBtn {
  display: inline;
}
form.multistep .kind-two {
  display: none;
}
form .gem-button {
  margin-left: 0;
}
form .bildungspaket {
  display: none;
}
form .family-title {
  display: none;
}
form .abbuchungsart {
  display: none;
}
.kursmodell-preis {
  display: flex;
  justify-content: space-between;
  color: #ffffff !important;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
@media (max-width: 500px) {
  .kursmodell-preis {
    font-size: 20px !important;
    line-height: 24px !important;
  }
}
.kursmodell-preis .rabatt {
  width: 100% !important;
  font-family: 'Montserrat regular hupa';
  font-size: 18px;
  line-height: 22px;
  display: none;
}
@media (max-width: 500px) {
  .kursmodell-preis .rabatt {
    font-size: 14px !important;
    line-height: 18px !important;
  }
}
.kursmodell-preis .preis {
  display: flex;
  flex-wrap: wrap;
  text-align: right;
  justify-content: right;
}
.kursmodell-preis .unit {
  padding-left: 5px;
  padding-right: 5px;
}
.kursmodell-preis .original {
  display: none;
}
.lds-ring {
  display: none;
  position: relative;
  width: 40px;
  height: 40px;
  position: absolute;
  top: 14px;
  right: 250px;
}
.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 32px;
  height: 32px;
  margin: 4px;
  border: 4px solid #24135F;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #24135F transparent transparent transparent;
}
.lds-ring div:nth-child(1) {
  animation-delay: -0.45s;
}
.lds-ring div:nth-child(2) {
  animation-delay: -0.3s;
}
.lds-ring div:nth-child(3) {
  animation-delay: -0.15s;
}
@keyframes lds-ring {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes tabfade {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.gem-button-container .gem-button {
  margin-top: 5px;
  font-size: 16px;
  line-height: 56px;
  height: auto;
  border-radius: 35px !important;
  padding: 0 25px;
  border: 2px solid #D14600;
  background-color: transparent;
  color: #D14600;
}
.gem-button-container .gem-button:hover {
  color: #ffffff;
  background-color: #D14600;
  box-shadow: rgba(99, 99, 99, 0.6) 0px 2px 8px 0px;
}
@media (max-width: 500px) {
  .gem-button-container .gem-button {
    margin-right: 0;
  }
}
.gem-button-container.neg .gem-button {
  border-color: #ffffff;
  color: #ffffff;
}
.gem-button-container.neg .gem-button:hover {
  background-color: #ffffff;
  color: #D14600;
}
.video-policy-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 600px;
}
@media (max-width: 767px) {
  .video-policy-container {
    height: 450px;
  }
}
@media (max-width: 500px) {
  .video-policy-container {
    height: 300px;
  }
}
.video-policy-container .thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  background-color: #000000;
  filter: blur(5px);
}
.video-policy-container .video-button {
  cursor: not-allowed !important;
  user-select: none;
  margin-left: 0 !important;
}
.video-policy-container .video-button.clickable {
  cursor: pointer !important;
}
.video-policy-container .inner {
  background-color: rgba(24, 12, 63, 0.7);
  z-index: 20;
  padding: 40px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.video-policy-container .inner a {
  color: #ffffff;
  font-family: 'Montserrat semibold hupa';
}
.video-policy-container .inner a:hover {
  color: #FF7F41;
}
#video-container {
  width: 100%;
  height: auto;
}
#video-container iframe {
  width: 100% !important;
  height: 600px !important;
}
@media (max-width: 767px) {
  #video-container iframe {
    height: 450px !important;
  }
}
@media (max-width: 500px) {
  #video-container iframe {
    height: 300px !important;
  }
}
.map-policy-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  height: 400px;
}
@media (max-width: 767px) {
  .map-policy-container {
    height: 350px;
  }
}
@media (max-width: 500px) {
  .map-policy-container {
    height: 300px;
  }
}
.map-policy-container .thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  filter: blur(5px);
}
.map-policy-container .map-button {
  cursor: not-allowed !important;
  user-select: none;
  margin-left: 0 !important;
}
.map-policy-container .map-button.clickable {
  cursor: pointer !important;
}
.map-policy-container .inner {
  background-color: rgba(24, 12, 63, 0.7);
  z-index: 20;
  padding: 40px;
  color: #ffffff;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.map-policy-container .inner a {
  color: #ffffff;
  font-family: 'Montserrat semibold hupa';
}
.map-policy-container .inner a:hover {
  color: #FF7F41;
}
#map-container {
  display: none;
  width: 100%;
  height: 400px;
}
#map-container iframe {
  width: 100% !important;
  height: 100% !important;
}
@media (max-width: 767px) {
  #map-container {
    height: 350px !important;
  }
}
@media (max-width: 500px) {
  #map-container {
    height: 300px !important;
  }
}
.hamburger-overlay {
  background-color: transparent;
}
#site-header {
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.3) !important;
}
@media (min-width: 967px) {
  #site-header {
    height: 86px !important;
  }
}
#site-header.mobile-menu-layout-slide-horizontal:before {
  background: transparent;
}
#site-header.shrink-mobile {
  height: 75px !important;
}
#site-header.shrink-mobile .container-fullwidth {
  padding: 0 21px;
}
#site-header.shrink-mobile .site-title {
  right: 0px !important;
  left: auto !important;
  transform: none !important;
}
#site-header.shrink-mobile .site-title .site-logo {
  padding-top: 5px !important;
}
#site-header.shrink-mobile .site-title .site-logo:before {
  display: none;
}
#site-header.shrink-mobile .site-title .site-logo:after {
  display: none;
}
#site-header.shrink-mobile .site-title .site-logo img.small {
  opacity: 1 !important;
}
#site-header.shrink-mobile .site-title .site-logo .logo {
  display: inline-block !important;
}
#site-header.shrink-mobile .header-contact {
  display: none !important;
}
#site-header.shrink-mobile #primary-navigation {
  height: 75px;
}
#site-header.shrink-mobile #primary-navigation .menu-toggle .menu-line-1 {
  top: 7px !important;
  height: 2px !important;
  width: 34px;
}
#site-header.shrink-mobile #primary-navigation .menu-toggle .menu-line-2 {
  top: 17px !important;
  height: 2px !important;
  width: 34px;
}
#site-header.shrink-mobile #primary-navigation .menu-toggle .menu-line-3 {
  top: 27px !important;
  height: 2px !important;
  width: 34px;
}
@media (min-width: 967px) {
  #site-header.fixed.shrink {
    height: 66px !important;
  }
}
#site-header.fixed.shrink .header-background::before {
  opacity: 1 !important;
}
#site-header.fixed.shrink #primary-navigation .hamburger-toggle {
  width: 36px !important;
  height: 36px !important;
  margin-top: 15px !important;
  margin-bottom: 15px !important;
}
#site-header.fixed.shrink #primary-navigation .hamburger-toggle .menu-line-1 {
  top: 7px !important;
  height: 2px !important;
}
#site-header.fixed.shrink #primary-navigation .hamburger-toggle .menu-line-2 {
  top: 17px !important;
  height: 2px !important;
}
#site-header.fixed.shrink #primary-navigation .hamburger-toggle .menu-line-3 {
  top: 27px !important;
  height: 2px !important;
}
#site-header.fixed.shrink #primary-navigation.hamburger-active .hamburger-toggle {
  width: 36px !important;
  height: 36px !important;
}
#site-header.fixed.shrink #primary-navigation.hamburger-active .hamburger-toggle .menu-line-1 {
  top: 13px !important;
  background-color: #ffffff;
}
#site-header.fixed.shrink #primary-navigation.hamburger-active .hamburger-toggle .menu-line-3 {
  top: 13px !important;
  background-color: #ffffff;
}
#site-header.fixed.shrink #primary-navigation #primary-menu:before {
  height: 60px !important;
}
#site-header.fixed.shrink .site-title .site-logo {
  padding-top: 18px;
}
#site-header.fixed.shrink .site-title .site-logo .logo {
  display: flex;
  align-items: center;
  justify-content: center;
}
#site-header.fixed.shrink .site-title .site-logo img.small {
  opacity: 0;
}
#site-header.fixed.shrink .site-title .site-logo img.default {
  opacity: 1;
  width: 70px !important;
}
#site-header.fixed.shrink .site-title .site-logo:before {
  width: 110px;
  height: 110px;
  left: calc(50% - 0px);
  top: calc(8px + 50%);
  transform: translate(-50%, -50%);
}
#site-header.fixed.shrink .site-title .site-logo:after {
  width: 160px;
  height: 66px;
  left: -32px;
  top: 0;
}
#site-header .header-main {
  display: flex;
}
@media (min-width: 768px) and (max-width: 979px) {
  #site-header .header-main {
    display: flex !important;
  }
}
#site-header .header-main .site-title {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  z-index: 10;
  width: 98px;
}
#site-header .header-main .site-title .site-logo {
  position: absolute;
  top: 0;
  left: 0;
  padding-top: 25px;
}
#site-header .header-main .site-title .site-logo:before {
  content: '';
  position: absolute;
  width: 147px;
  height: 147px;
  background-color: #fff;
  left: calc(50% - 2px);
  top: calc(8px + 50%);
  border-radius: 87px;
  transform: translate(-50%, -50%);
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.3) !important;
}
#site-header .header-main .site-title .site-logo:after {
  content: '';
  position: absolute;
  width: 160px;
  height: 86px;
  background-color: #fff;
  left: -32px;
  top: 0;
  z-index: 0;
}
#site-header .header-main .site-title .site-logo img {
  z-index: 1;
}
#site-header .header-main .site-title .site-logo img.default {
  transition: all 0.2s !important;
}
#site-header .header-main #primary-navigation:not(.responsive) {
  width: auto;
  padding-right: 30px;
  z-index: 990;
}
#site-header .header-main #primary-navigation:not(.responsive) .hamburger-toggle {
  margin-top: 28px;
  margin-bottom: 28px;
  z-index: 991;
}
#site-header .header-main #primary-navigation:not(.responsive) .hamburger-toggle span {
  height: 2px !important;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu {
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.3) !important;
  display: flex;
  flex-direction: column;
}
@media (max-height: 950px) {
  #site-header .header-main #primary-navigation:not(.responsive) #primary-menu {
    overflow-y: scroll;
  }
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  background-color: #FF7F41;
  width: 108px;
  height: 80px;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li {
  padding-left: 130px;
  transition: all 0.3s !important;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li:hover {
  background-color: #FF7F41;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li:hover > a {
  color: #ffffff;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li:hover > ul {
  position: relative;
  left: 0;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li.menu-item-parent:hover {
  background-color: #ffffff;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li.menu-item-parent:hover a {
  color: #FF7F41;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li.menu-item-parent:hover a:before {
  border-color: #FF7F41;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li.menu-item-parent > a:before {
  content: '';
  width: 15px;
  height: 15px;
  border: 2px solid #24135F;
  border-radius: 15px;
  position: absolute;
  left: -15px;
  top: 50%;
  transform: translateY(-50%);
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li > a {
  position: relative;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li > ul {
  left: 0;
  width: 100%;
  border: none !important;
  transition: opacity 0.3s !important;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li > ul > li {
  border: none !important;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li > ul > li:before {
  content: '';
  position: absolute;
  left: -130px;
  width: 130px;
  height: 100%;
  background-color: #ffffff;
  transition: all 0.3s;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li > ul > li:hover > a {
  background-color: #FF7F41 !important;
  color: #ffffff !important;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li > ul > li:hover:before {
  background-color: #FF7F41;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu > li > ul > li > a {
  border: none !important;
  background-color: #ffffff !important;
  color: #000000 !important;
  padding-left: 60px !important;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer {
  background-color: #24135F;
  margin-top: auto;
  width: 100%;
  cursor: auto !important;
  padding-top: 42px;
  padding-right: 21px;
  padding-bottom: 42px;
  padding-left: 145px;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer:hover {
  background-color: #24135F;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner {
  font-size: 18px;
  line-height: 24px;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item {
  color: #ffffff;
  padding: 10px 0;
  position: relative;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item a {
  color: #ffffff;
  transition: all 0.3s;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item a:hover {
  font-family: 'Montserrat semibold hupa';
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.mail, #site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.tele, #site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.fax {
  padding-left: 30px;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.mail:before, #site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.tele:before, #site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.fax:before {
  font-family: 'thegem-icons';
  color: #ffffff;
  font-size: 18px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.tele::before {
  content: '';
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.fax::before {
  font-family: 'fontawesome';
  content: '';
  font-size: 16px;
}
#site-header .header-main #primary-navigation:not(.responsive) #primary-menu .menu-footer .inner .menu-footer-item.mail::before {
  content: '';
}
#site-header .header-main #primary-navigation.responsive {
  z-index: 999 !important;
}
#site-header .header-main #primary-navigation.responsive #primary-menu {
  display: flex;
  flex-direction: column;
  padding-bottom: 0;
}
#site-header .header-main #primary-navigation.responsive #primary-menu .menu-item-parent {
  position: relative;
}
#site-header .header-main #primary-navigation.responsive #primary-menu .menu-item-parent .menu-item-parent-toggle {
  /*position: absolute;
                        width: 100%;
                        left: 0;
                        top: 0;
                        &:after{
                            text-align: right;
                            padding-right: 20px;
                        }*/
}
#site-header .header-main #primary-navigation.responsive .mobile-menu-slide-wrapper {
  box-shadow: 0px 0px 4px 1px rgba(0, 0, 0, 0.3) !important;
}
#site-header .header-main #primary-navigation.responsive .mobile-menu-slide-wrapper:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 75px;
  height: 70px;
  background-color: #FF7F41;
}
#site-header .header-main #primary-navigation.responsive .mobile-menu-slide-close:before {
  height: 2px;
}
#site-header .header-main #primary-navigation.responsive .mobile-menu-slide-close:after {
  height: 2px;
}
#site-header .header-main #primary-navigation.responsive .menu-footer {
  background-color: #24135F;
  padding: 20px 0;
  flex: 1;
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item {
  color: #ffffff;
  position: relative;
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item a {
  color: #ffffff;
  font-size: 14px;
  line-height: 20px;
  padding: 10px 60px 10px 30px;
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.fax {
  font-size: 14px;
  line-height: 20px;
  padding: 10px 60px 10px 60px;
  padding-left: 50px !important;
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.mail, #site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.tele, #site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.fax {
  padding-left: 20px;
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.mail:before, #site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.tele:before, #site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.fax:before {
  font-family: 'thegem-icons';
  color: #ffffff;
  font-size: 14px;
  position: absolute;
  left: 30px;
  padding-left: 0;
  top: 50%;
  transform: translateY(-50%);
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.tele::before {
  content: '';
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.fax::before {
  font-family: 'fontawesome';
  content: '';
  font-size: 12px;
}
#site-header .header-main #primary-navigation.responsive .menu-footer .menu-footer-item.mail::before {
  content: '';
}
#site-header .header-main .header-contact {
  width: 100%;
  display: flex;
  justify-content: flex-end;
}
#site-header .header-main .header-contact a {
  color: #000000;
  font-size: 14px;
  line-height: 18px;
  padding-left: 25px;
  font-family: 'Montserrat medium hupa';
}
#site-header .header-main .header-contact a:before {
  font-family: 'thegem-icons';
  color: #24135F;
  font-size: 18px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: all 0.3s;
}
#site-header .header-main .header-contact a:hover {
  color: #D14600;
}
#site-header .header-main .header-contact a:hover:before {
  color: #D14600;
}
@media (max-width: 1159px) {
  #site-header .header-main .header-contact {
    flex-direction: column;
    align-items: flex-end;
    justify-content: center;
  }
}
#site-header .header-main .header-contact .mail-link {
  display: flex;
  align-items: center;
  position: relative;
}
#site-header .header-main .header-contact .mail-link a::before {
  content: '';
}
@media (max-width: 1159px) {
  #site-header .header-main .header-contact .mail-link {
    height: 20px;
    margin-bottom: 5px;
  }
}
#site-header .header-main .header-contact .tele-link {
  display: flex;
  align-items: center;
  position: relative;
  margin-left: 30px;
}
#site-header .header-main .header-contact .tele-link a::before {
  content: '';
}
@media (max-width: 1159px) {
  #site-header .header-main .header-contact .tele-link {
    height: 20px;
  }
}
.header-layout-fullwidth_hamburger #primary-menu.no-responsive {
  width: 632px;
}
.header-layout-fullwidth_hamburger.logo-position-right #primary-menu.no-responsive {
  transform: translateX(-632px);
}
.header-layout-fullwidth_hamburger.logo-position-right #primary-navigation.hamburger-active .hamburger-toggle, .header-layout-fullwidth_hamburger.logo-position-right #primary-navigation.hamburger-active .hamburger-minicart {
  transform: translateX(0px);
}
.title-image {
  overflow: hidden !important;
}
@media (max-width: 1199px) {
  .wpb_row {
    margin-top: 0 !important;
  }
}
@media (max-width: 1199px) {
  .wpb_row > * {
    margin-top: 0 !important;
  }
}
.custom-footer .footer-inner a {
  color: #ffffff;
  text-decoration: none;
}
.custom-footer .footer-inner a:hover {
  color: #FF7F41;
}
.custom-footer .footer-inner .tel-link, .custom-footer .footer-inner .fax-link, .custom-footer .footer-inner .mail-link {
  padding-left: 30px;
  position: relative;
  margin-bottom: 7px;
}
.custom-footer .footer-inner .tel-link:before, .custom-footer .footer-inner .fax-link:before, .custom-footer .footer-inner .mail-link:before {
  font-family: 'thegem-icons';
  color: #ffffff;
  font-size: 18px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}
.custom-footer .footer-inner .tel-link::before {
  content: '';
}
.custom-footer .footer-inner .fax-link::before {
  font-family: 'fontawesome';
  content: '';
  font-size: 16px;
}
.custom-footer .footer-inner .mail-link::before {
  content: '';
}
.custom-footer .footer-inner .vc_column-inner {
  padding-top: 50px !important;
  padding-bottom: 35px;
}
.custom-footer .footer-inner #hupa-logo svg {
  fill: #ffffff;
  height: auto;
  width: 20px;
  position: absolute;
  top: 50px;
  right: 21px;
  transition: all 0.3s;
}
.custom-footer .footer-inner #hupa-logo svg:hover {
  fill: #FF7F41;
}
@media (max-width: 1120px) {
  .custom-footer .footer-inner {
    display: flex;
    flex-wrap: wrap;
  }
  .custom-footer .footer-inner .wpb_column {
    width: 50%;
  }
  .custom-footer .footer-inner .wpb_column .vc_column-inner {
    padding-bottom: 0;
  }
  .custom-footer .footer-inner .wpb_column.fw-mobile .vc_column-inner {
    padding-bottom: 30px;
    padding-top: 10px !important;
  }
  .custom-footer .footer-inner #hupa-logo svg {
    position: absolute;
    top: auto;
    bottom: 50px;
    right: 21px;
  }
}
@media (max-width: 767px) {
  .custom-footer .footer-inner .wpb_column.fw-mobile {
    width: 100%;
  }
}
@media (max-width: 500px) {
  .custom-footer .footer-inner .wpb_column.fw-mobile {
    font-size: 14px !important;
  }
}
