/* 
Theme Name: DSCHOY
Theme URI: https://www.dschoy.de/
Description: DSCHOY is a child theme of DSCHOY GmbH
Author: DSCHOY
Author URI: https://www.dschoy.de/
Template: hello-elementor
Version: 1.0.0
Text Domain: dschoy-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* Wortumbruch */
h2,h3,h4,h5,p { hyphens: auto; }

a {
    color: #002851;
}
b, strong {
    font-weight: 500;
}

/* Menu */
#ds_mobilenav .elementor-nav-menu--main .elementor-nav-menu ul {
    display: flex !important;
    margin-left: 0 !important;
    flex-wrap: wrap;
    position: relative !important;
    width: 100% !important;
}

#ds_mobilenav .elementor-sub-item {
    border-left-width: 0px !important;
}

#ds_mobilenav .elementor-nav-menu--dropdown a {
    background-color: #F4F7FD;
    margin-top: 5px;
    margin-right: 5px;
    margin-left: 2px;
}

/* Sub Farbverlauf */
.ds_sub_gradient .elementor-heading-title {
    display: inline-block;
    width: fit-content;
    background-image: linear-gradient(90deg, #002851 0%, #0069B4 100%);
    background-clip: text;
    -webkit-background-clip: text;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
}

/* Box BG Blur */
.ds_box_blur {
    border-bottom: 1px solid rgba(212, 212, 212, 0.20);
    backdrop-filter: blur(3.5px);
}

/* Stacked Cards */
.stack-card {
  position: sticky;
  top: 150px;
}

.stack-card-box {
  transform-origin: center top;
  will-change: transform;
}

@media (max-width: 1366px) {
  .stack-card {
    top: 100px;
  }
}
/* Karussell Ticker
.logo-carousel-ticker {
    position: relative;
    overflow: hidden;

    -webkit-mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 6%,
        #000 94%,
        transparent 100%
    );
    mask-image: linear-gradient(
        to right,
        transparent 0%,
        #000 6%,
        #000 94%,
        transparent 100%
    );
}

.logo-carousel-ticker .swiper-wrapper {
    transition-timing-function: linear !important;
    align-items: center;
}

.logo-carousel-ticker .swiper-slide {
    width: calc(100% / 6) !important;
    flex: 0 0 calc(100% / 6) !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 12px;
    box-sizing: border-box;
}

.logo-carousel-ticker .swiper-slide img {
    display: block;
    width: 100%;
    max-width: 170px;
    height: 60px;
    object-fit: contain;
    margin: 0 auto;
}

@media (max-width: 1024px) {
    .logo-carousel-ticker .swiper-slide {
        width: 25% !important;
        flex-basis: 25% !important;
        padding: 0 10px;
    }

    .logo-carousel-ticker .swiper-slide img {
        max-width: 140px;
        height: 52px;
    }
}

@media (max-width: 767px) {
    .logo-carousel-ticker {
        -webkit-mask-image: linear-gradient(
            to right,
            transparent 0%,
            #000 4%,
            #000 96%,
            transparent 100%
        );
        mask-image: linear-gradient(
            to right,
            transparent 0%,
            #000 4%,
            #000 96%,
            transparent 100%
        );
    }

    .logo-carousel-ticker .swiper-slide {
        width: 33.3333% !important;
        flex-basis: 33.3333% !important;
        padding: 0 8px;
    }

    .logo-carousel-ticker .swiper-slide img {
        max-width: 110px;
        height: 44px;
    }
}

@media (max-width: 500px) {
    .logo-carousel-ticker .swiper-slide {
        width: 50% !important;
        flex-basis: 50% !important;
        padding: 0 6px;
    }

    .logo-carousel-ticker .swiper-slide img {
        max-width: 120px;
        height: 42px;
    }
}
*/

/* Tabber */
.elementor-widget-n-tabs.tabs-line .e-n-tabs-heading {
    width: 100%;
    border-bottom: 2px solid #E7E7E7 !important;
}

.elementor-widget-n-tabs.tabs-line .e-n-tab-title {
    position: relative;
    margin-bottom: -3px;
    border-bottom-style: solid !important;
}

.elementor-widget-n-tabs.tabs-line
.e-n-tab-title[aria-selected="false"]:not(:hover) {
    border-bottom-color: transparent !important;
}

/* Liste mobil */
@media (max-width: 767px) {
    ul {
        padding-inline-start: 20px;

    }
}

/* Beiträge List */
.elementor-post__title a:hover {
text-decoration:underline;
}

/* Timeline */
.tl-content {
    display: flex;
    justify-content: left;
    align-items: left;
}

/* Formular */
/* Elementor Uploadfeld */
#form-field-upload {
	width: 100%;
	padding: 10px;
	border: 0px;
	border-radius: 10px;
	background: #f7f7f7;
	color: #000;
	cursor: pointer;
}

/* Upload-Button */
#form-field-upload::file-selector-button {
	margin-right: 12px;
	padding: 10px 18px;
	border: 0;
	border-radius: 6px;
	background: #002851;
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

/* Fallback für ältere WebKit-Browser */
#form-field-upload::-webkit-file-upload-button {
	margin-right: 12px;
	padding: 10px 18px;
	border: 0;
	border-radius: 6px;
	background: #002851;
	color: #fff;
	font: inherit;
	font-weight: 600;
	cursor: pointer;
}

/* Checkbox vergrößern */
#form-field-datenschutz {
    width: 22px;
    height: 22px;
    accent-color: #6c6c6c; /* Hakenfarbe */
    margin: 3px 12px 0 0;
    flex-shrink: 0;
    cursor: pointer;
}

/* Checkbox und Text nebeneinander */
.elementor-field-group-datenschutz .elementor-field-option {
    display: flex;
    align-items: flex-start;
}

/* Text */
.elementor-field-group-datenschutz label[for="form-field-datenschutz"] {
    line-height: 1.5;
}

/* Footerlinks */
.footer-menu .elementor-nav-menu {
    width: 100%;
}

.footer-menu .menu-item {
    position: relative;
    border-bottom: 2px solid #fff;
}

.footer-menu .elementor-item {
    display: block;
    width: 100%;
    padding: 15px 0 5px 0 !important;
    color: #fff;
    text-decoration: none;
}

.footer-menu .menu-item::after {
    content: "➜";
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    font-size: 20px;
    font-weight: 300;
    color: #fff;
    transition: transform .3s ease;
    pointer-events: none;
}

.footer-menu .menu-item:hover::after {
    transform: translateY(-50%) translateX(6px);
}