/**
Theme Name: SoFi
Author: Sonnenfisch
Author URI: 
Description: SoFi-WP-Theme
Version: 1.0.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: sofi
Template: astra
*/

@view-transition { navigation: auto; }
html {
  min-height: calc(100vh + 1px);
}
.ast-main-header-nav-open .main-navigation {
  position: absolute;
  top: 80px;
}
@supports (hyphenate-limit-chars: 6 3 3) {
	html {
		-webkit-hyphens: auto;
		hyphens: auto;
		hyphenate-limit-chars: 18 5 5;
	}
}
@supports (hyphenate-limit-chars: 6 3 3) {
	body, p, li, dd, dt, blockquote, h4, h5, h6 {
		-webkit-hyphens: auto;
		hyphens: auto;
		hyphenate-limit-chars: 18 5 5;
	}
}
/* Elementor - 767px-Bug, Sichtbarkeiten */
@media (max-width:768px) {
	.elementor .elementor-hidden-mobile, .elementor .elementor-hidden-phone {
		display:none
	}
}
@media (min-width:768px) and (max-width:880px) {
	.elementor .elementor-hidden-mobile_extra {
		display:none
	}
}
@media (min-width:880px) and (max-width:1024px) {
	.elementor .elementor-hidden-tablet {
		display:none
	}
}
@media (min-width:1024px) and (max-width:1200px) {
	.elementor .elementor-hidden-tablet_extra {
		display:none
	}
}
@media (min-width:1200px) and (max-width:1366px) {
	.elementor .elementor-hidden-laptop {
		display:none
	}
}
@media (min-width:1366px) and (max-width:99999px) {
	.elementor .elementor-hidden-desktop {
		display:none
	}
}
/* Sticky header */
.main-header-bar {
  position: fixed;
  top: 0;
  width: 100%;
}
.site-content {
  padding-top: 80px;
}
.ast-mobile-header-content {
  position: fixed;
}
.main-header-menu .menu-link, .main-header-menu>a {
  padding: 0 0.65em;
}
/* End Sticky header */
#ast-scroll-top {
  border: 1px solid #ffffff;
}
/* Mobile Menu */
ul#ast-hf-mobile-menu li {
    font-size: 16px;
    text-align: right;
    line-height: 36px;
    margin-right: 10px;
}
/* Formular and Modal Pop-Up */
.wpcf7 .wpcf7-submit:disabled {
  background-color: #dddddd;
}
.sf-form-btn button.premium-modal-trigger-btn.premium-btn-lg.premium-button-none {
  display: flex;
  max-width: 100%;
}
.premium-modal-box-modal-header .premium-modal-box-modal-title {
  margin-top: 20px;
}
.premium-modal-box-modal-header {
  padding: 20px 15px 0px;
}
.premium-modal-box-modal .premium-modal-box-modal-dialog {
    margin: 0 20px;
}
.premium-modal-box-close-button-container {
  position: absolute;
  top: 7px;
  right: 8px;
}
.premium-modal-box-modal-header button {
  font-size: 38px;
  text-align: center;
  display: flex;
  align-items: center;
}
input[type="submit"]:hover {
  background-color: #61CE70;
}
.premium-modal-box-container input[type="submit"] {
  margin: 0 auto;
  display: block;
}
a, .premium-modal-trigger-btn, .wpcf7 input.wpcf7-form-control, .wpcf7 textarea.wpcf7-form-control, .wpcf7-form-control, button, input[type="checkbox"] {
	
	&:focus {
		outline: none !important;
	}
	
	&:focus-visible {
		outline: none !important;
		outline-color: #19558c !important;
		outline-style: dashed !important;
		outline-width: 4px !important;
	}
}
.wpcf7 label, legend {
  font-size: 1em;
}
.premium-modal-box-container .premium-modal-box-modal-header .premium-modal-box-modal-title {
  padding: 30px 0 0 0;
}
.wpcf7-list-item {
    margin: 0;
}
span.wpcf7-form-control.wpcf7-radio, span.wpcf7-form-control.wpcf7-checkbox {
    display: flex;
    flex-direction: column;
	
	span.wpcf7-list-item {
		margin: 2px 8px;
		
		@media screen and (max-width: 767px) {
			margin: 2px 0 2px 0px;
		}
		
		&.first {
			margin-top: 6px;
		}
	}
}
input.wpcf7-form-control.wpcf7-submit[type="submit"] {
    font-size: 1.05rem;
	
	@media screen and (max-width: 767px) {
		font-size: 0.9rem;
	}
}
input[type="submit"] {
	@media screen and (max-width: 450px) {
		padding-left: 12px !important;
		padding-right:  12px !important;
	}	
}
@keyframes slideDownFade {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
span.wpcf7-not-valid-tip {
    font-size: 1em !important;
	font-weight: 500 !important;
	animation: slideDownFade 0.5s ease-out forwards;
	opacity: 0;
	transform: translateY(-2em); 
}
label.sf-sternchen {
    display: block;
    text-align: right;
    font-size: 0.9em;
}
/* End Formular and Modal Pop-Up */
.e-con-full.sf-full {
  padding-inline-start: 0;
  padding-inline-end: 0;
  padding-block-start: 0;
  padding-block-end: 0;
}
/* Footer */
footer.site-footer .footer-widget-area p, footer.site-footer a, .site-footer-below-section-1, .ast-footer-copyright p, .sf-copyrightbox {
  color: #ffffff;
}
footer.site-footer a {
  text-decoration: underline;
}
footer.site-footer .footer-widget-area p {
  margin-block-end: 0;
}
footer.site-footer .widget_block {
  margin-bottom: 8px;
}
footer.site-footer aside.footer-widget-area.widget-area {
  margin: 0px 16px;
}
.site-primary-footer-wrap[data-section="section-primary-footer-builder"].ast-footer-row-mobile-stack .site-footer-section {
  display: flex;
}
.site-footer-below-section-1.site-footer-section.site-footer-section-1 {
  width: 75%;
  margin: 0 auto;
}
#menu-footer-menue, #menu-footer-menue a, .footer-widget-area, .footer-widget-area a {
  line-height: 25px;
}
.ast-builder-layout-element.ast-flex.site-footer-focus-item.ast-footer-copyright {
  border-top: 1px solid #ffffff66;
  margin-top: 0;
}
.sf-copyrightbox {
  margin-top: 20px;
}
.ast-footer-copyright {
  font-size: 14px;
}
.site-primary-footer-wrap {
  padding-bottom: 0px;
}
/* Footer 1 Col-Layout bis 921px */
footer {
  font-size: 14px;
}
.ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row {
  display: flex;
  grid-column-gap: 0;
  flex-wrap: wrap;
}
.site-footer-section {
  width: 100%;
  margin-bottom: 16px !important;
}
footer.site-footer aside.footer-widget-area.widget-area {
  margin: 0px 16px;
}
/* Footer 2 Col-Layout ab 922px */
@media screen and (min-width: 922px) {
  footer {
    font-size: 15px;
  }
  .site-footer-section {
    width: 50%;
    margin-bottom: 16px !important;
  }
}
/* Footer 4 Col-Layout ab 1200px */
@media screen and (min-width: 1200px) {
  footer {
    font-size: 16px;
  }
  .ast-builder-footer-grid-columns.site-primary-footer-inner-wrap.ast-builder-grid-row {
    display: flex;
    grid-column-gap: 0;
    flex-wrap: wrap;
  }
  .site-footer-section {
    width: 25%;
  }
}


/* SF Sonderstyles */
/* ####################################################### */

.sf-hidden {
	display: none;
}
.sf-notvisible {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.sf-smaller-font {
	font-size: .835em;
}
.sf-headlines-color-1 h1, .sf-headlines-color-1 h2, .sf-headlines-color-1 h3, .sf-headlines-color-1 h4, .sf-headlines-color-1 h5, .sf-headlines-color-1 strong {
    color: #19558c !important;
}
.sf-logoticker .eits-track, .sf-logoticker .eits-image img {
  max-height: 33px;
}
.sf-logoticker .eits-image img {
  padding: 0 0 0 0;
}
@media screen and (min-width: 544px) {
  .sf-logoticker .eits-track, .sf-logoticker .eits-image img {
    max-height: 45px;
  }
  .sf-logoticker .eits-image img {
    padding: 0 30px 0 30px;
  }
}
@media screen and (min-width: 921px) {
  .sf-logoticker .eits-track, .sf-logoticker .eits-image img {
    max-height: 52px;
  }
  .sf-logoticker .eits-image img {
    padding: 0 50px 0 50px;
  }
}
.sf-img-sw img {
  filter: saturate(0);
}
.sf-img-sw img:hover {
  filter: saturate(1);
}
.sf-kreisbox {
    width: 60px !important;
    height: 60px !important;
    border-radius: 50% !important;
    justify-content: center !important;
    align-items: center !important;
    background-color: #19558C;
    flex-shrink: 0 !important;
	
	@media (max-width: 1024px) {
		width: 48px !important;
		height: 48px !important;
	}
		@media (max-width: 767px) {
		width: 36px !important;
		height: 36px !important;
	}
	
	.sf-kreisbox-heading {
		font-size: 30px;
		font-weight: 700;
		margin: 0;
		padding: 0;
		
		@media (max-width: 1024px) {
			font-size: 22px;
		}
		
		@media (max-width: 767px) {
			font-size: 17px;
		}
	}
}
.sf-kreisbox-text {
	gap: 10 !important;	
	
	@media (max-width: 767px) {
			gap: 0 !important;
		}
	
	h3, p { 
		font-size: 20px;
		line-height: 1.3em !important;
		margin: 0 !important;
		
		@media (max-width: 1024px) {
			font-size: 18px;
		}
		
		@media (max-width: 767px) {
			font-size: 14px;
		}
	}
}

/* ####################################################### */



