/*
        Theme Name: Wamser
        Description: Theme for Wamser
        Author: SAY Media Consulting
        Author URI: https://www.say-consulting.de
        Template: twentytwentyfive
        Version: 1.0
        Tags:
*/
:root{

    --arrow-width: calc(1em - 3px);
    --slider-arrow-width: 24px;
    --sd_offset: 45px;
}
*{
    transition: .2s all ease;
}
html{
    scroll-behavior: smooth;
}

.slider_container, #bto_stop_slider{
    position: relative;
}
/*----------------------------slick*/
.slick-slider{
    position: relative;
}
.slick-arrow{
    font-size: 0;
    background: none;
    border: none;
    position: absolute;
    top: calc(50% - 16px);
    cursor: pointer;
    left: calc(var(--slider-arrow-width) * -1);
    z-index: 1;
    padding: 1em;
}
.slick-prev:before, .slick-next:before{
    content:'';
    background-image: url("../../../wp-content/uploads/2025/07/pfeil-links.png");
    background-repeat: no-repeat;
    background-position: center;
    width: var(--slider-arrow-width);
    height: calc(var(--slider-arrow-width) / 3 * 4);
    display: inline-block;
    background-size: contain;
}
.slick-next{
    right: calc(var(--slider-arrow-width) * -1);
    left: auto;
}
.slick-next:before{
    background-image: url("../../../wp-content/uploads/2025/07/pfeil-rechts.png");
}
.inline-second-slider img {
    height: 500px !important;
    width: auto;
}
.inline-second-slider .slick-slide,
.inline-slider .slick-slide
{
    padding: 0 .5em;
}
.slick-dots{
    position: absolute;
    display: flex;
    list-style-type: none;
    gap: 5px;
    padding: 0;
    left: 0;
}
.header-slider .slick-dots:before{
    position: absolute;
    content: "";
    bottom: 0;
    width: 100vw;
    height: 100%;
    background: var(--wp--preset--color--accent-3);
    left: calc(-50vw + var(--sd_offset));
    z-index: -1;
}
.header-slider .slick-dots li::after{
    background: #fff;
}


.header-slider .slick-dots button{
    border: 2px solid #fff;
}
.slick-arrow{
    margin-top: 0 !important;
}
.header-slider .slick-dots{
    border-left: 1px solid #fff;
    left: calc(50% - var(--sd_offset));
    bottom: -2em;
    /*background: #fffa;*/
    padding: 5px;
    gap: .5em;
}
.inline-slider .slick-dots,
.inline-second-slider .slick-dots{
    width: 100%;
    display: flex;
    justify-content: center;
    bottom: -90px;
    flex-wrap: wrap;
}
.slick-dots li{
    width: 30px;
    height: 30px;
    position: relative;
    cursor: pointer;
}

.slick-dots li:after{
    content: '';
    width: 20px;
    height: 20px;
    background: var(--wp--preset--color--accent-3);
    border-radius: 100%;
    position: absolute;
    top: 0;
    left: 0;
    margin: 5px;
    opacity: 0;
}

li.slick-active:after{
    opacity: 1;
}

#bto_stop_slider:before {
    position: absolute;
    width: 30px;
    height: 30px;
    content: '| |';
    top: 5px;
    left: 0;
    z-index: -1;
    text-align: center;
    font-weight: 700;
    color: #fff;
}

#bto_stop_slider.paused:before{
    content: '\25B6';
}

.slick-dots button{
    width: 100%;
    height: 100%;
    border: 2px solid var(--wp--preset--color--accent-3);
    border-radius: 100%;
    font-size: 0;
    background: transparent;
    display: block;
}
.bto_stop_slider_bto_container {
    position: absolute;
    z-index: 3;
    bottom: -2em;
    margin-bottom: 5px;
    left: calc(50% - (30px + var(--sd_offset)));
    /*background: #fffa;*/

}
#bto_stop_slider {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px 0;
}

#bto_stop_slider a{
    font-size: 0;
    display: inline-block;
    width: 30px;
    height: 30px;
    padding: 0;
}

/*----------------------------kontaktform*/
.alignfull .slick-list {
    max-width: 100%;
}

input[type="file"]{
    font-size: var(--wp--preset--font-size--medium);
    font-family: var(--wp--preset--font-family--barlow);
    width: 100%;
    box-sizing: border-box;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea, select
{
    border: none;
    padding: .7em .5em;
    background: var(--wp--preset--color--accent-5);
    width: 100%;
    box-sizing: border-box;
    font-size: var(--wp--preset--font-size--medium);
    font-family: var(--wp--preset--font-family--barlow);
    resize: none;
}
textarea{
    resize: none;
}
input[type="submit"]{
    border: none;
    padding: .6em .7em;
    background: var(--wp--preset--color--accent-1);
    color: #fff;
    border-radius: 10px;
    font-size: var(--wp--preset--font-size--large);
    float: right;
    text-transform: uppercase;
}

.wpcf7 label, .wpcf7-form-control-wrap{
    display: inline-block;
    width: 100%;
}
.wpcf7-acceptance .wpcf7-list-item{
    margin: 0 !important;
}
.wpcf7 input{
    margin-top: .5em;
}

.smc_captcha-wrap{
    display: inline-block;
    margin: .5em  0 !important;
    width: 100%;
}
.limit_length{
    display: flex;
    max-width: 50% !important;
    flex-wrap: wrap;
    gap: .5em;
    margin-top: 1em;

}
.limit_length .wpcf7-list-item{
    display: inline-block;
    width: 110px;
    margin: 0;
}

/*----------------------------grid_flip_boxes*/
.grid_flip_boxes .flip_box{
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.grid_flip_boxes .flip_box > .wp-block-group{
    position: absolute;
    /*top: 0;*/
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    bottom: -100%;
}

.grid_flip_boxes .flip_box:hover{
    transform: scale(1.03);
}

.grid_flip_boxes .flip_box.active .wp-block-group{
    bottom: 0;
}
.cover_full_height{
    height: 100%;
}

summary{
    padding-right: 2em !important;
}

summary{
    padding: .5em;
    color: #fff;
    background: var(--wp--preset--color--accent-1);
    position: relative;
    font-size: var(--wp--preset--font-size--large);
    font-weight: bold;
}
summary::marker{
    content: '';
}
summary::before{
    content: '+';
    position: absolute;
    right: 0;
    margin-right: .5em;
    left: auto;
    font-size: 1.5em;
    line-height: 1em;
}
details[open] summary::before {
    content: '-';
}

.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg{
    width: 32px !important;
    height: 32px !important;
}
.wp-block-navigation-item__label{
    position: relative;
}
.tel .wp-block-navigation-item__label:before,
.mail .wp-block-navigation-item__label::before{
    background-image:  url('../../../wp-content/uploads/2025/07/telefon.png');
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    display: inline-block;
    content: '';
    width: 24px;
    height: 24px;
    margin-right: .5em;
    filter: invert(1) grayscale(1) brightness(10);
    vertical-align: middle;
}
header .current-menu-item{
    border-bottom: 2px solid currentcolor;
}
summary:focus {
    outline: 2px solid #000;

}

.wpcf7-submit:hover,
.wp-block-image  a:hover,
.wp-block-button a:hover,
summary:hover{
    transform: scale(1.03);
}

.grd_services > .wp-block-group{
    width: 100%;
}

.mobile-slider{
    padding-bottom: 1em 0 2em 0 !important;
    /*margin: 0 !important;*/
}
.mobile-slider .slick-slide {
    margin: 0 1em !important;
    padding: 1em !important;
    display: flex !important;
    min-height: 330px !important;
}
.mobile-slider .slick-slide {
    margin: 0 1em !important;
    padding: 1em !important;
}
.slick-slide:focus{
    outline: none !important;
    border: 2px dashed var(--wp--preset--color--accent-3);
}

@media (max-width: 599px){
    h1, h2, .legal_info{
        hyphens: auto;
        position: relative;
    }
    .img_map{
        min-height: 400px !important
    }
}

@media (max-width: 899px) {
    .nav_gradient .wp-block-navigation__responsive-container {
        background: linear-gradient(180deg,rgb(0,81,136) 22%,rgb(92, 176, 255) 100%) !important;
    }
    .wp-block-cover.mobile_header_image {
        min-height: 220px !important;
    }

    .wp-block-columns:not(.is-not-stacked-on-mobile) {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }
    .wp-block-columns.column-reverse:not(.is-not-stacked-on-mobile){
        flex-direction: column-reverse !important;
    }

    .is-layout-grid {
        grid-template-columns: auto !important;
    }

    .tablet_max-vp{
        max-width: 550px !important;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }
}
@media (min-width: 600px) {
    .grd_services > .wp-block-group{
        width: calc(50% - .5em);
    }
}

@media (max-width: 1099px) {
    .tablet_max-vp_big{
        max-width: 700px !important;
        margin-left: auto;
        margin-right: auto;
        box-sizing: border-box;
    }
    .wp-block-navigation__responsive-container-open {
        display: block !important;
    }
    .wp-block-navigation__responsive-container:not(.has-modal-open){
        display: none !important;
    }
    .desktop_only{
        display: none !important;
    }
    .company_timline_wrap,   .company_timline .wp-block-group{
        position: relative;
    }
    .company_timline{
        padding-left: 2em;
    }
    .company_timline_wrap .boxes_vert_hr {
        position: absolute;
        height: 100%;
        top: 0px;
        left: 0;
        width: 1px;
        z-index: 0;
    }

    .company_timline .wp-block-group::before{
        content:"";
        position: absolute;
        width: 0;
        height: 0;
        left: calc(-2 * var(--arrow-width));
        border-top: var(--arrow-width) solid transparent;
        border-right:  calc(2 * var(--arrow-width)) solid var(--wp--preset--color--accent-1);
        border-bottom:  var(--arrow-width) solid transparent;
        border-left:  none;
        top: 40px;
    }

    .company_timline .wp-block-group::after {
        top: 50px;
        left: calc(-2em - 7px);
        content: "";
        width: 10px;
        height: 10px;
        border-radius: 100%;
        border: 2px solid var(--wp--preset--color--accent-1);
        position: absolute;
        right: calc(-2em - 7px);
        background: rgb(255, 255, 255);
    }
}
@media (min-width: 1100px) {
    .grd_services > .wp-block-group{
        width: calc(33% - .5em);
    }

    .grd_services{
        justify-content: space-between;
    }
    header .current-menu-item a span{
        color: var(--wp--preset--color--accent-1);

    }
    header .current-menu-item{
        border-bottom: 2px solid var(--wp--preset--color--accent-1);
    }
    summary::before{
        margin-right: 1em;
    }

    .mobile_only{
        display: none !important;
    }

    .grp_overlap .wp-block-column:first-child{
        z-index: 1;
        transform: translateX(45px);
    }
    .grp_overlap .wp-block-column:last-child{
        transform: translateX(-45px);
    }
    .company_timline .wp-block-group::before{
        content:"";
        position: absolute;
        right: calc(-2 * var(--arrow-width));
        width: 0;
        height: 0;
        border-top: var(--arrow-width) solid transparent;
        border-left:  calc(2 * var(--arrow-width)) solid var(--wp--preset--color--accent-1);
        border-bottom:  var(--arrow-width) solid transparent;
    }
    .company_timline .wp-block-group:nth-child(2n)::before{
        left: calc(-2 * var(--arrow-width));
        border-top: var(--arrow-width) solid transparent;
        border-right:  calc(2 * var(--arrow-width)) solid var(--wp--preset--color--accent-1);
        border-bottom:  var(--arrow-width) solid transparent;
        border-left:  none;
    }

    .grp_boxes_lr .wp-block-group::after {
        content: "";
        width: 11px;
        height: 11px;
        border-radius: 100%;
        border: 2px solid var(--wp--preset--color--accent-1);
        position: absolute;
        right: calc(-2em - 7px);
        background: rgb(255, 255, 255);
        top: calc(50% - 6px);
    }
    .grp_boxes_lr .wp-block-group:nth-child(2n)::after {
        right: auto;
        left: calc(-2em - 8px);
    }
    grp_boxes_lr .wp-block-group:nth-child(2n) {
        transform: translateY(90px);
    }

    .grp_boxes_lr .wp-block-group {
        max-width: calc(50% - 2em);
        position: relative;
    }
    .boxes_vert_hr {
        position: absolute;
        height: 100%;
        top: 0px;
        right: 50%;
        width: 1px;
        z-index: 0;
    }
    .grp_boxes_lr .wp-block-group:nth-child(2n) {
        transform: translateY(90px);
    }
}