/*
Theme Name: SiteOrigin Corp Child
Author: SiteOrigin
Author URI: https://siteorigin.com/
Theme URI: https://siteorigin.com/theme/corp
Description: SiteOrigin Corp Child Theme
Version: 1.0.0
Template: siteorigin-corp
Text Domain: siteorigin-corp
Domain Path: /languages/
*/

/* =Theme customization starts here
-------------------------------------------------------------- */
@font-face {
  font-family: 'Roboto Flex';
  src: url('./fonts/RobotoFlex-VariableFont_GRAD,XOPQ,XTRA,YOPQ,YTAS,YTDE,YTFI,YTLC,YTUC,opsz,slnt,wdth,wght.ttf') format("truetype");
}
h2.strong,
footer.site-footer .site-info,
.preise table tr td span,
.blog-layout-grid article .entry-content,
html, body {
  font-family: 'Roboto Flex' !important;
  margin: 0;
  padding: 0;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 24px !important;
  min-width: 380px;
  height: 100%;
  min-height: 100%;
  /*  overflow-x: hidden; */
}
#highlights .textwidget {
  margin-bottom: 25px;
}
h2.strong {
	font-weight: 900;
	margin-bottom: 15px;
}
@media only screen and (min-width: 768px) {
	h2.strong,
  footer.site-footer .site-info,
  .preise table tr td span,
  .blog-layout-grid article .entry-content,
  html, body {
    font-size: 18px !important;
    line-height: 26px !important;
  }
}
.preise table tr td span {
  font-weight: 300;
}
footer.site-footer p,
footer.site-footer td {
  font-family: 'Roboto Flex' !important;
  font-size: 18px !important;
  line-height: 26px !important;
}
.clearfix {
  clear: both;
  float: none;
}
img {
  width: 100%;
  height: auto;
}
.site-title a,
.home h1 a {
  margin-top: 10px;
  background-image: url(./images/logo.svg);
  width: 150px;
  height: 53px;
  text-indent: -1000ex;
  font-size: 0;
  display: block;
  background-size: 100%;
}
header.site-header {
  margin-bottom: 0;
  padding: 3px 0;
  height: 75px;
}
header #mobile-menu-button {
  top: 22px;
}
header #mobile-navigation {
  top: 102%
}
#mobile-menu-button .burger span {
  display: block;
  width: 45px;
  height: 3px;
  margin: 5px 0 8px 0;
  background-image: url(./images/strich.png);
  -webkit-transition: all .225s cubic-bezier(.25,.8,.25,1) 0s;
  transition: all .225s cubic-bezier(.25,.8,.25,1) 0s;
}
#mobile-menu-button.to-close .burger span:first-child {
  -moz-transform: skewY(45deg);
  -webkit-transform: skewY(45deg);
  -o-transform: skewY(45deg);
  -ms-transform: skewY(45deg);
  transform: skewY(45deg);
  width: 40px;
  height: 4px;
  position: relative;
  top: 3px;
}
#mobile-menu-button .burger {
  padding: 10px;
}
#mobile-menu-button.to-close .burger span:nth-child(2) {
  -moz-transform: skewY(-45deg);
  -webkit-transform: skewY(-45deg);
  -o-transform: skewY(-45deg);
  -ms-transform: skewY(-45deg);
  transform: skewY(-45deg);
  width: 40px;
  height: 4px;
  margin-top: -10px;
}
#mobile-menu-button.to-close .burger span:nth-child(3) {
  display: none;
}
header #mobile-navigation {
  padding-bottom: 100px;
}
header #mobile-navigation ul li a {
  border-color: #FFF;
  text-align: center;
  padding: 10px 0;
}
header .main-navigation {
  margin-top: -30px;
}
header .main-navigation ul li a {
  padding-bottom: 0;
}
#site-navigation.main-navigation ul li {
  font-family: 'Roboto Flex' !important;
  font-size: 16px !important;
}
#mobile-navigation ul li {
  font-family: 'Roboto Flex' !important;
  font-size: 20px !important;
  font-weight: 700;
}
@media only screen and (min-width: 1025px) {
	.panel-layout {
		overflow: hidden;		
	}
	.sow-image-container {
		margin-bottom: -7px;
	}
  .site-title a,
  .home h1 a {
    margin-top: 0;
  }
  #site-navigation.main-navigation ul li {
    font-family: 'Roboto Flex' !important;
    font-size: 18px !important;
  }

}
.preise table tr td,
h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto Flex' !important;
  font-weight: 700 !important;
}
a.linker,
.content_header a,
#site-navigation.main-navigation ul li:last-child {
  background-color: #510000;
  padding: 15px 20px;
  border-radius: 10px;
}

#main .entry-content {
  background-color: #000;
}
footer.site-footer .corp-container,
header .corp-container,
footer.site-footer .bottom-bar,
.wpsisac-slider-content,
#content .content_text {
  width: 100%;
  max-width: 1065px;
  margin: 0 auto;
  padding: 0 20px;
}
footer.site-footer .bottom-bar {
  padding: 20px 0;
}
#content .corp-container {
  max-width: 100%;
  padding: 0;
}
#content .corp-container .panel-grid-cell .panel-layout {
  max-width: 1512px;
  padding: 0;
  width: 100%;
  margin: 0 auto;
}
.textwidget .wpsisac-slick-slider.design-3 .wpsisac-image-slide .wpsisac-slide-wrap .wpsisac-slider-content .wpsisac-bg-overlay.wp-medium-7 {
  width: 100%;
  max-width: 710px;
}
.textwidget .wpsisac-slick-slider.design-3 .wpsisac-image-slide .wpsisac-slide-wrap .wpsisac-slider-content .wpsisac-bg-overlay {
  background: transparent;
}
.content_text h1,
.home .content_text h2,
.content_header .wpsisac-slick-slider h2.wpsisac-slide-title,
.content_header h2 {
  font-size: 40px;
  line-height: 45px;
}
footer.site-footer .textwidget h3,
footer.site-footer .widget h3.widget-title,
.content_text h3 {
  font-size: 32px;
  line-height: 100%;
}
footer.site-footer .textwidget h3,
footer.site-footer .widget h3.widget-title {
  margin-top: 40px;
}
footer.site-footer .content_footer:first-child .widget h3.widget-title {
  margin-top: 0;
}
.content_text h4 {
  font-size: 20px;
  line-height: 28px;
  text-transform: uppercase;
  margin: 10px 0;
}
.content_text.zeiten .textwidget h4 {
  font-size: 30px;
  line-height: 36px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
.content_text.zeiten .panel-grid-cell:last-child .textwidget {
  margin-top: 10px;
}
a.linker,
.content_header a {
  background-color: transparent;
  border: 1px solid #FFF;
  margin: 20px 0 0 0;
  display: inline-block;
}
a.linker:hover,
.content_header a:hover {
  text-decoration: underline;
}
.content_header a {
  float: left;
}
.textwidget p {
  margin: 0 0 16px;
}
.content_text h2.em,
.content_right em,
.content_text em {
  font-style: normal;
  font-size: 14px;
  line-height: 26px;
  position: relative;
  text-transform: uppercase;
  font-weight: 900;
  margin-bottom: -26px;
  letter-spacing: 1px;
}
.content_text h2.em:before,
.content_right em:before,
.content_text em:before {
  content: "";
  background-color: #FFF;
  width: 315px;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: -1px;
}
.content_text h2.em {
	margin-bottom: 10px;
}
.star .panel-grid-cell,
.brauner {
  background-color: #510000;
}
#fitnessstudio .textwidget,
#rezensionen,
.studio .textwidget,
.brauner {
  padding-top: 28px;
  padding-bottom: 28px;
}
#rezensionen .panel-grid.panel-has-style .star .panel-grid-cell .panel-grid-cell {
  margin-bottom: 0;
}
#rezensionen .panel-grid.panel-has-style .star .panel-grid-cell {
  margin-bottom: 20px;
}
#rezensionen .panel-grid.panel-has-style .star .panel-grid-cell .panel-first-child {
  padding: 15px 0 0 0;
}
#rezensionen .panel-grid.panel-has-style .star .panel-grid-cell .panel-last-child {
  padding: 0 0 15px;
}
#rezensionen .panel-grid.panel-has-style .star .panel-grid-cell .panel-last-child .panel-last-child,
#rezensionen .panel-grid.panel-has-style .star .panel-grid-cell .panel-first-child .panel-first-child {
  padding: 0;
}
#fitnessstudio .panel-grid-cell:last-child .textwidget {
  padding: 15px 0 0 0;
}
#fitnessstudio .panel-layout .panel-grid:last-child {
  padding-top: 66px;
}
#fitnessstudio .panel-layout .panel-grid:last-child .panel-grid-cell:first-child .textwidget {
  padding: 0;
}
#highlights .textwidget {
  padding-bottom: 14px;
}
footer table,
footer table tr td,
.oeffnungszeiten table tr td,
.oeffnungszeiten table,
.content_text table,
.content_text table th,
.content_text table td {
  border: 0;
}
.content_text table th {
  text-align: center;
}
.content_text table tr td img {
  width: 100%;
  max-width: 40px;
  margin: 0 auto;
  display: block;
}
.star .widget_sow-image {
  max-width: 30px;
  float: left;
}
.star .panel-grid-cell .panel-layout {
  width: 100%;
  max-width: 140px;
  margin: 0 auto 15px;
}
.star .panel-grid-cell .panel-first-child {
  max-width: auto;
}
.star .panel-grid-cell {
  padding: 15px;
}
.star .panel-grid-cell .panel-grid-cell {
  padding: 0;
}
.preise table {
  margin-top: 16px;
}
#vergleich table tr th,
#vergleich table tr td,
.preise table tr:last-child td:last-child,
.preise table tr:last-child td:first-child,
.preise table tr:nth-child(4) td:last-child,
.preise table tr:nth-child(4) td:first-child,
.preise table tr:nth-child(3) td:last-child,
.preise table tr:nth-child(3) td:first-child,
.preise table tr:nth-child(2) td:last-child,
.preise table tr:nth-child(2) td:first-child,
.preise table tr:first-child td:last-child,
.preise table tr:first-child td:first-child {
  position: relative;
}
#vergleich table tr th:before,
#vergleich table tr td:before,
.preise table tr:last-child td:last-child:before,
.preise table tr:last-child td:first-child:before,
.preise table tr:nth-child(4) td:last-child:before,
.preise table tr:nth-child(4) td:first-child:before,
.preise table tr:nth-child(3) td:last-child:before,
.preise table tr:nth-child(3) td:first-child:before,
.preise table tr:nth-child(2) td:last-child:before,
.preise table tr:nth-child(2) td:first-child:before,
.preise table tr:first-child td:first-child:before,
.preise table tr:first-child td:last-child:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  display: block;
  top: 0;
  left: 0
}
#vergleich table th:first-child:before,
.preise table tr:first-child td:first-child:before {
  border-top: 1px solid #FFF;
  border-left: 1px solid #FFF;
  border-top-left-radius: 10px;
}
#vergleich table th:last-child:before,
.preise table tr:first-child td:last-child:before {
  border-top: 1px solid #FFF;
  border-right: 1px solid #FFF;
  border-top-right-radius: 10px;
}
#vergleich table tr:last-child td:first-child:before,
.preise table tr:last-child td:first-child:before {
  border-bottom: 1px solid #FFF;
  border-left: 1px solid #FFF;
  border-bottom-left-radius: 10px;
}
#vergleich table tr:last-child td:last-child:before,
.preise table tr:last-child td:last-child:before {
  border-bottom: 1px solid #FFF;
  border-right: 1px solid #FFF;
  border-bottom-right-radius: 10px;
}
#vergleich table tr td:first-child:before,
.preise table tr:nth-child(4) td:first-child:before,
.preise table tr:nth-child(3) td:first-child:before,
.preise table tr:nth-child(2) td:first-child:before {
  border-left: 1px solid #FFF;
}
#vergleich table tr td:last-child:before,
.preise table tr:nth-child(4) td:last-child:before,
.preise table tr:nth-child(3) td:last-child:before,
.preise table tr:nth-child(2) td:last-child:before {
  border-right: 1px solid #FFF;
}
#vergleich table tr th:nth-child(2):before {
  border-top: 1px solid #FFF;
}
#vergleich table tr:last-child td:nth-child(2):before {
  border-bottom: 1px solid #FFF;
}
.preise table tr:last-child td {
  padding-bottom: 33px;
}
.zeiten table {
  max-width: 320px;
}
.zeiten table td {
  padding: 0;
  vertical-align: top;
}
.zeiten .trenner {
  margin: 20px 0;
}
.studio img,
.borderradius img {
  border-radius: 10px;
}
#vergleich table tr th,
#vergleich table tr td {
  width: 25%;
}
#vergleich table tr th:first-child,
#vergleich table tr td:first-child{
  width: 50%;
}
#vergleich table {
  margin: 20px 0 47px;
}
#vergleich table tr td:first-child {
  padding-left: 15px;
}
.preise table tr td:first-child {
  width: 50%;
}
.preise table tr td:last-child {
  text-align: right;
}
#vergleich table tr th,
#vergleich table tr td {
  padding: 10px 0;
  vertical-align: top;
}
#vergleich table tr th:last-child {
  padding-left: 10px;
  padding-right: 10px;
}
#vergleich table tr:last-child td {
  padding: 10px 0 25px;
}
#vergleich table tr:last-child td:first-child {
  padding: 10px 0 25px 15px;
}
#vergleich table tr th {
  font-size: 16px;
  line-height: 22px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 34px 0 20px;
}
.zertifikate img {
  margin-bottom: 25px;
}
.preise table tr td {
  font-size: 18px;
  line-height: 24px;
}
@media only screen and (min-width: 768px) {
  #vergleich table tr th,
  #vergleich table tr td {
    width: 32%;
  }
  #vergleich table tr th:first-child,
  #vergleich table tr td:first-child{
    width: 34%;
  }
  #preise .panel-grid-cell,
  .studio .panel-layout .panel-grid-cell {
    width: 50%;
    width: calc(50% - ( 0.5 * 30px ) ) !important;
  }
  #preise .panel-layout .panel-grid .preise,
  #highlights .panel-layout .panel-grid,
  .studio {
    -webkit-flex-direction: revert !important;
    -ms-flex-direction: revert !important;
    flex-direction: revert !important;
  }
  #highlights .panel-layout .panel-grid .panel-grid-cell {
    width: 33.3333%;
    width: calc(33.3333% - ( 0.66666666666667 * 30px ) ) !important;
  }
  #preise .panel-layout .panel-grid:first-child .panel-grid-cell,
  #preise .panel-layout .panel-grid:last-child .panel-grid-cell,
  #highlights .panel-layout .panel-grid:first-child .panel-grid-cell,
  #highlights .panel-layout .panel-grid:last-child .panel-grid-cell {
    width: 100%;
    width: calc(100% - ( 0.66666666666667 * 30px ) ) !important;
  }
  #highlights.content_text .einzeiler h4 {
    margin-bottom: 52px;
  }
}
@media only screen and (min-width: 1024px) {
  .zertifikate img {
    margin-bottom: 0;
  }
  #vergleich table tr th {
    font-size: 30px;
  }
}
.preise table tr td {
  text-transform: none;
}
.content_header .wpsisac-slick-slider.design-3 .wpsisac-image-slide .wpsisac-slide-wrap .wpsisac-slider-short-content p {
  font-size: 18px;
}
footer table,
.oeffnungszeiten table {
  width: 320px;
}
footer table tr td,
.oeffnungszeiten table tr td {
  vertical-align: top;
  padding: 0;
}
footer.site-footer {
  margin-top: 0;
}
.trenner70 {
  margin: 17px 0;
}
.content_header .wpsisac-image-slide,
.content_header .wpsisac-slide-wrap {
  height: 100%;
}
.textwidget .wpsisac-slick-slider.design-3 .wpsisac-image-slide .wpsisac-slide-wrap .wpsisac-slider-content {
  left: auto;
  right: auto;
  text-align: left;
  position: relative;
  top: auto;
  padding: 0;
}
.content_header .wpsisac-slick-slider .slick-dots li button {
  border: 1px solid #FFF;
  border-radius: 25px;
  width: 15px !important;
  height: 15px !important;
  cursor: pointer;
}
.content_header .wpsisac-slick-slider .slick-dots li button {
  background-color: transparent !important;
}
.content_header .wpsisac-slick-slider .slick-dots li.slick-active button {
  background-color: #FFF !important;
}
footer aside .menu-footer-container #menu-footer li:first-child a {
  cursor: default;
}
ul.headerlink {
  margin: 0;
  padding: 0;
}
.content_text.galerie img {
  border-radius: 10px;
  margin-bottom: 25px;
}
.content_text.zertifikate .textwidget,
.content_text.galerie .textwidget {
  margin-bottom: 30px;
}
#map_ol3js_1 {
  border-radius: 10px;
}
footer.site-footer {
  padding-top: 50px;
}
footer.site-footer .corp-container .footer-middle a {
  text-decoration: underline;
}
ul.headerlink li {
  list-style: none;
}
footer.site-footer .widget {
  margin-bottom: 0;
}
footer a:focus-visible,
 a.linker:focus-visible,
.content_header a:focus-visible,
.site-footer .widgets .widget a:focus-visible,
.footer-menu .menu-footer-container ul li a:focus-visible,
header a:focus-visible {
  outline: 2px solid #FFF;
  transition: none;
}
a.linker,
.content_header a {
  text-transform: uppercase;
  text-decoration: none !important;
}
.content_right .textwidget {
  padding: 25px 0;
}
#content .corp-container .star .panel-grid-cell .so-widget-sow-editor {
  padding: 0 15px;
}
#content .corp-container .star .panel-grid-cell .panel-layout {
  padding: 15px;
}
footer aside .menu-footer-container #menu-footer li {
  position: relative;
  padding: 5px 10px;
}
@media only screen and (min-width: 1024px) {
  footer aside .menu-footer-container #menu-footer li {
    padding: 0 10px;
  }
  footer.site-footer .textwidget h3,
  footer.site-footer .widget h3.widget-title,
  footer.site-footer .content_footer:first-child .widget h3.widget-title {
    margin-top: 0;
  }
  .content_text.zertifikate .panel-layout .panel-grid .panel-grid-cell,
  .content_text.galerie .panel-layout .panel-grid .panel-grid-cell {
    width: calc(50% - ( 0.5 * 60px ) ) !important;
  }
  .content_text.galerie img {
    margin-bottom: 60px;
  }
  #content .corp-container .star .panel-grid-cell .so-widget-sow-editor,
  #content .corp-container .star .panel-grid-cell .panel-layout {
    padding: 0;
  }
  .content_right .textwidget {
    padding: 25px 20px 35px;
  }
  footer .content_footer {
    width: 33%;
    float: left;
  }
  footer.site-footer {
    padding-top: 75px;
  }
  .content_footer.footer-right {
    padding-left: 25px;
  }
  ul.headerlink {
    -moz-transform: translateX(75%);
    -webkit-transform: translateX(75%);
    -o-transform: translateX(75%);
    -ms-transform: translateX(75%);
    transform: translateX(75%);
    left: -50%;
    position: relative;
  }
  ul.headerlink li {
    float: left;
  }
  .content_right img {
    padding: 0 20px;
  }
  footer aside .menu-footer-container #menu-footer li {
    float: left;
  }
  footer aside .menu-footer-container #menu-footer li:after {
    content: "|";
    position: absolute;
    top: -1px;
    right: -3px;
  }
  footer aside .menu-footer-container #menu-footer li:last-child:after {
    content: "";
  }
  header.site-header .site-header-inner {
    padding-top: 40px;
  }
  .home header.site-header {
    height: 0
  }
  .content_header .wpsisac-slick-slider.design-3 .slick-dots {
    position: absolute;
    bottom: -40px !important;
  }
  .preise table tr.leer td {
    height: 46px;
  }
  .textwidget h2,
  .content_header .wpsisac-slick-slider h2.wpsisac-slide-title,
  .content_header h2 {
    font-size: 50px;
    line-height: 55px;
  }
  .content_right img,
  .content_right .textwidget {
    padding: 0;
  }
  footer.site-footer .textwidget h3,
  footer.site-footer .widget h3.widget-title {
    font-size: 30px;
  }
  .content_text h3 {
    font-size: 40px;
  }
  .content_text h3 {
    margin: 10px 0;
  }
  .content_text #fitnessstudio h3 {
    margin: 10px 0 45px;
  }
  footer.site-footer .textwidget h3,
  footer.site-footer .widget h3.widget-title {
    font-weight: 700;
    letter-spacing: normal;
    margin: 0 0 15px;
    text-transform: uppercase;
  }
  .preise table tr td,
  .content_text h4 {
    font-size: 30px;
    line-height: 36px;
  }
  #highlights.content_text h4 {
    margin-top: 30px;
    margin-bottom: 10px;
  }
  #highlights.content_text .einzeiler h4 {
    margin-bottom: 46px;
  }
  .star .panel-grid-cell .panel-layout {
    margin: 0 auto 30px;
  }
  #rezensionen h3 {
    text-align: center;
  }
  #rezensionen .star {
    margin-top: 25px;
  }
  #content .corp-container #rezensionen .star .panel-layout {
    width: 100%;
    max-width: 140px;
    margin: 0 auto;
  }
  .content_text.rezensionen em {
    -moz-transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    display: inline-block;
    left: 40%;
  }
  #content .content_text.content_right {
    max-width: 100%;
    padding: 0;
  }
  .content_right {
    flex-direction: row; /* Reihenfolge von links nach rechts */
    align-items: center;
  }
  .content_right .panel-layout .panel-grid-cell:first-child {
    order: 2;
  }
  .content_right .panel-layout .panel-grid-cell:last-child {
    order: 1;
    padding-top: 70px;
  }
  .content_right .panel-layout .panel-grid-cell:last-child .textwidget {
    max-width: 520px;
    float: right;
    padding: 0 20px;
  }
  /*
  #fitnessstudio .panel-layout .panel-grid:nth-child(2) .panel-grid-cell:last-child {
    padding-top: 80px;
  }
  */
  #fitnessstudio .textwidget,
  #rezensionen,
  .studio .textwidget,
  .brauner {
    padding-top: 56px;
    padding-bottom: 56px;
  }
  .trenner70 {
    margin: 35px 0;
  }
  .textwidget .wpsisac-slick-slider.design-3 .wpsisac-image-slide .wpsisac-slide-wrap .wpsisac-slider-content {
    padding: 0;
    position: absolute;
    top: 35%;
    -moz-transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 50%;
    transform: translateX(-50%);
  }
  a.linker,
  .content_header a {
    margin: 40px 20px 0 0;
    cursor: pointer;
  }
  a.linker:hover,
  .content_header a:hover {
    background-color: #FFF;
    color: #000;
    text-decoration: none;
    text-shadow: none;
  }
  /*
  #content .corp-container {
    padding: 0 15px;
  }
  */
  .site-title a,
  .home h1 a {
    width: 257px;
    height: 103px;
  }
  .home header.site-header {
    margin-bottom: 0;
    height: 0;
    padding: 0;
  }
}
@media only screen and (min-width: 1150px) {
  .content_header .wpsisac-slick-slider.design-3 .slick-dots {
    bottom: 40px !important;
  }
}

#content_grid .sow-image-grid-wrapper {
  position: relative;
}

#content_grid .sow-image-grid-image {
  width: 30%; /* z. B. 3 Spalten */
  margin-bottom: 1rem;
}
