/* 
Theme Name: Supersaxo Media AG – Child Theme
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child Theme.
Author: Supersaxo Media AG
Author URI: https://www.supersaxo.media/
Template: hello-elementor
Version: 1.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Custom Styles Valpix */

html, body {
  overflow-x: hidden;
}

h1:first-child, h2:first-child, h3:first-child, h4:first-child, h5:first-child, h6:first-child {
  margin-top: 0;
}

p {
  margin-bottom: 20px;
}

p:last-child, p:only-child {
	margin-bottom: 0;
}

header .main-nav {
	padding-left: 45px;
	padding-right: 45px;
}

header .main-nav nav .sub-menu {
  background-color: var(--e-global-color-primary) !important;
  padding: 10px 20px !important;
  text-align: center;
  min-width: 220px !important;
  max-width: 270px !important;
  width: auto !important;
  border-radius: 0;
  margin-top: 30px !important;
  top: 12px !important;
}

header .main-nav .elementor-sub-item, header .main-nav .elementor-sub-item:active, header .main-nav .elementor-sub-item:focus, header .main-nav .elementor-sub-item:hover {
  color: #fff;
  background-color: transparent !important;
  padding: 5px 0 !important;
  margin: 5px 0 !important;
  border-left: 0 !important;
}

.swiper-slide-contents {
	background: rgba(255,255,255,0.2) !important;
	border-radius: 20px;
	border: 2px solid #ffffff;
	padding: 30px;
	z-index: 20;
	-webkit-backdrop-filter: blur(16px);
  	-moz-backdrop-filter: blur(16px);
  	-ms-backdrop-filter: blur(16px);
  	-o-backdrop-filter: blur(16px);
  	backdrop-filter: blur(16px);
}

.swiper-slide-inner {
	text-align: left !important;
}

.swiper-slide-bg::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 10;
}

.elementor-slides .swiper-slide-inner .elementor-slide-heading {
	font-size: 24px;
	margin-bottom: 15px !important;
}

.swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: 20px;
}

.elementor-slides .swiper-slide-inner {
	padding: 100px;
}

.page-content section:not(.section-hero), .single section:not(.section-hero), .elementor-location-archive section:not(.section-hero), .page section:not(.section-hero), footer {
  margin-top: 120px;
}

.page section.mt-small {
	margin-top: 60px;
}

.post-image img {
	margin-top: 0 !important;
}

span.divider {
  margin: 0 12px;
}

.cta-box-content {
  overflow: hidden;
}

.cta-box-content::before {
  content: '';
  width: 330px;
  height: 330px;
  border-radius: 100%;
  position: absolute;
  top: -150px;
  right: -130px;
  left: auto;
	background: radial-gradient(circle at 30% 30%, rgba(142, 182, 212, .55), rgba(255, 255, 255, .0) 60%);
}

.cta-box-content h6 {
  color: #fff !important;
}

.breadcrumb a {
	color: var(--e-global-color-text);
}

.breadcrumb .breadcrumb_last {
  color: var(--e-global-color-primary);
}

.leadtext p {
  font-weight: 500;
  font-size: clamp(18px, 0.7519rem + 0.7782vw, 20px);;
  line-height: 1.5;
}

.single-post h3, .teammember-post h3 {
	margin: 0;
	color: var(--e-global-color-text);
	font-size: 20px;
}

.single-post-image {
	padding-top: 56.25%;
	overflow: hidden;
}

.single-post-image img {
	height: 100% !important;
	width: 100% !important;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	object-fit: cover;
	transform: scale(1.02);
	transition: all .3s ease-in-out !important;
}

.subpage-container .elementor-widget-image {
  padding-top: 100%;
  overflow: hidden;
}

.subpage-container img {
  height: 100% !important;
  width: 100% !important;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  transform: scale(1.02);
  transition: all .3s ease-in-out !important;
}

.subpage-container {
  border-radius: 15px !important;
  overflow: hidden;
}

.subpage-container a, .subpage-container h3 {
  font-size: 20px;
  color: #fff !important;
	margin-bottom: 0;
}

.subpage-container::before {
  border-radius: 15px !important;
  overflow: hidden;
}

.subpage-container::before {
  content: '';
	background: #035095;
	background: #035095;
	background: -webkit-linear-gradient(0deg, rgba(3, 80, 149, 1) 0%, rgba(3, 80, 149, 0) 65%);
	background: -moz-linear-gradient(0deg, rgba(3, 80, 149, 1) 0%, rgba(3, 80, 149, 0) 65%);
	background: linear-gradient(0deg, rgba(3, 80, 149, 1) 0%, rgba(3, 80, 149, 0) 65%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#035095", endColorstr="#035095", GradientType=0);
  z-index: 10;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

.logo-slider .swiper-slide {
	background: #F2F2F2;
	padding: 40px 30px;
	text-align: center;
	border-radius: 15px;
}

.logo-slider .swiper-slide img {
	display: block;
  width: auto !important;
  max-width: 180px;
  height: 60px !important;
  object-fit: contain;
  margin: 20px auto !important;
}

.logo-slider .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
	bottom: -10px;
}

.logo-slider .elementor-swiper-button-next {
	right: -70px !important;
}

.logo-slider .elementor-swiper-button-prev {
	left: -70px !important;
}

.fadeInUp {
    animation-name: fadeInUpCustom!important
}

.animated {
    animation-duration: 1.5s!important
}

@keyframes fadeInUpCustom {
    from {
        opacity: 0;
        transform: translate3d(0,50px,0)
    }

    to {
        opacity: 1;
        transform: none
    }
}

.section-topics section {
  margin-top: 0 !important;
}
.section-topics .page-listing-image {
  position: absolute;
  inset: 0;
}

.section-topics .page-listing-image img {
  height: 100% !important;
  width: 100% !important;
	transform: scale(1);
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  object-fit: cover;
  transition: all .3s ease-in-out !important;
}

.topics-container .elementor-loop-container {
  right: -15px !important;
  position: relative;
}
.topics-container .page-listing-single:after {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    background: #035095;
    background: linear-gradient(359deg, rgba(3, 80, 149, 1) 0%, rgba(242, 242, 242, 0) 100%);
	pointer-events: none;
}

.section-topics h5 {
  margin-bottom: 0;
  color: #fff;
}

.topics-container .e-loop-item {
  border-radius: 12px;
  overflow: hidden;
  position: relative;
}

.topics-container .page-title p::after, .subpage-container .page-title p::after {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f054";
  margin-left: 12px;
  display: inline;
}

/* Basis-Grid mit 3 Spalten und Abstand */
.section-topics .grid-sizer, .section-topics .e-loop-item {
  width: calc(33.333% - 30px);
  margin-right: 30px !important;
  margin-bottom: 30px !important;
  float: left;
  display: block !important;
  height: auto !important;
}

/* Masonry Clearfix */
.section-topics .topics-container::after, .section-topics .elementor-loop-container::after {
  content: "";
  display: block;
  clear: both;
}

/* Standardhöhe der Kacheln */
.section-topics .e-loop-item::before {
  content: "";
  display: block;
  padding-top: 100%;
}

/* Inhalt sauber über dem Spacer */
.section-topics .e-loop-item > div, .section-topics .e-loop-item .page-listing-single, .section-topics .e-loop-item .e-con-inner, .section-topics .e-loop-item .elementor-element-af18932 {
  position: absolute;
  inset: 0;
}

/* Breite Kacheln */
.section-topics .e-loop-item:nth-of-type(1), .section-topics .e-loop-item:nth-of-type(6) {
  width: calc(66.666% - 30px);
}

/* Breite Kacheln: flacher */
.section-topics .e-loop-item:nth-of-type(1)::before, .section-topics .e-loop-item:nth-of-type(6)::before {
  padding-top: calc(50% - 15px);
}

/* Hohe Kachel */
.section-topics .e-loop-item:nth-of-type(2)::before {
  padding-top: calc(200% + 30px);
}

/* Einheitliche Hover-Zoom-Klasse */
.image-hover-zoom:hover img {
	transform: scale(1.1);
}

/* Responsive: Tablet */
@media (max-width: 1024px) {
  .section-topics .grid-sizer,
  .section-topics .e-loop-item {
    width: calc(50% - 30px);
  }

  .section-topics .e-loop-item:nth-of-type(1),
  .section-topics .e-loop-item:nth-of-type(6) {
    width: calc(100% - 30px);
  }

  .section-topics .e-loop-item:nth-of-type(1)::before,
  .section-topics .e-loop-item:nth-of-type(6)::before,
  .section-topics .e-loop-item:nth-of-type(2)::before {
    padding-top: 100% !important;
  }
}

/* Responsive: Mobile */
@media (max-width: 767px) {
  .section-topics .e-loop-item:nth-of-type(1)::before,
  .section-topics .e-loop-item:nth-of-type(6)::before {
    padding-top: 100% !important;
  }
}

@media (max-width: 640px) {
  .section-topics .grid-sizer,
  .section-topics .e-loop-item,
  .section-topics .e-loop-item:nth-of-type(1),
  .section-topics .e-loop-item:nth-of-type(6) {
    width: 100%;
    margin-right: 0 !important;
  }

  .topics-container .elementor-loop-container {
    right: 0 !important;
  }
}

@media screen and (max-width: 1600px) {
	.e-con-full.e-parent:not(.section-slider, .subpage-container, .single-post), .e-con-boxed.e-parent .e-con-inner {
  		padding-left: 48px;
  		padding-right: 48px;
	}
	.e-con-full.section-fullwidth {
		padding-left: 0;
		padding-right: 0;
	}
  .pagecontent-section .e-con-inner{
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

@media screen and (max-width: 1200px) {
	.e-con-full.e-parent:not(.section-slider, .subpage-container, .single-post), .e-con-boxed.e-parent .e-con-inner {
		padding-left: 40px;
		padding-right: 40px;
	}
	.e-con-full.section-fullwidth, .dialog-widget .e-con-boxed.e-parent .e-con-inner, .subpage-container .e-con-inner{
		padding-left: 0;
		padding-right: 0;
	}
}

@media screen and (max-width: 1024px) {
	header .main-nav {
		padding-left: 45px;
		padding-right: 45px;
	}
	header .main-nav nav .sub-menu {
		background-color: transparent !important;
		padding: 0px !important;
		margin-top: 0px !important;
		top: 12px !important;
	}
	header .main-nav nav .sub-menu a {
		font-weight: 400 !important;
		font-size: 17px !important;
	}
  .page-content section:not(.section-hero), .single section:not(.section-hero), .elementor-location-archive section:not(.section-hero), .page section:not(.section-hero), footer {
    margin-top: 80px;
  }
}

@media screen and (max-width: 767px) {
	.e-con-full.e-parent:not(.section-slider, .subpage-container, .single-post), .e-con-boxed.e-parent .e-con-inner {
  		padding-left: 20px;
  		padding-right: 20px;
	}
	.e-con-full.section-fullwidth, .dialog-widget .e-con-boxed.e-parent .e-con-inner, .e-con-boxed.subpage-container .e-con-inner{
		padding-left: 0;
		padding-right: 0;
	}
  .page-content section:not(.section-hero), .single section:not(.section-hero), .elementor-location-archive section:not(.section-hero), .page section:not(.section-hero), footer {
    margin-top: 60px;
  }
	.elementor-swiper-button {
		display: none !important;
	}
	.elementor-slides .swiper-slide-inner {
		padding: 20px;
		margin-bottom: 45px;
	}
	.section-slider .swiper-slide-contents {
		width: 100% !important;
		max-width: 100% !important;
	}
	body:not(.home) .page section.leadtext {
		margin-top: 30px !important;
	}
}