@-ms-viewport {
    width: device-width;
}

/* ==============================================================================================================
B I G  D I S P L A Y S
-------------------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 1440px), screen and ( min-resolution: 144dpi) {
    .banner .content p, body, html {
        font-size: 92%;
    }

    .swiper-pagination-v .swiper-pagination-bullet {
        padding: 0 3.5em 0 0;
    }
}

@media only screen and (min-width: 1000px) {
    .leistungen .swiper-pagination {
        opacity: 0;
        display: none;
    }
}

/* ==============================================================================================================
S M A L L  D I S P L A Y S
-------------------------------------------------------------------------------------------------------------- */
@media only screen and (max-width: 1000px) {
    .col-3 {
        width: 50%;
    }

    .col-1 {
        width: 16.66%;
    }

    .leistungen.swiper-container-horizontal > .swiper-pagination-bullets {
        bottom: -10px;
    }

    #swiper-portfolio .col-3 {
        width: 100%;
    }

    .footer .col-6 {
        min-width: 480px;
    }

    .col-5 {
        min-width: 380px;
    }

    .about {
        background-position: -30vw top;
    }
}

/* ==============================================================================================================
T A B L E T - P C
-------------------------------------------------------------------------------------------------------------- */
@media (max-aspect-ratio: 3/4) {
    #swiper-portfolio .swiper-slide {
        height: 40vh;
    }

    .portfolio-infobox {
        position: fixed;
        bottom: auto;
        top: 40vh !important;
        height: calc(40vh - 40px);

        display: flex;
        flex-flow: column;
        justify-content: center;
    }

    .swiper-pagination-portfolio {
        top: calc(80vh - 100px);
    }

    .swiper-container-horizontal > .swiper-pagination-bullets,
    .swiper-pagination-custom {
        top: 55vh !important;
    }

    #swiper-portfolio .swiper-slide:before {
        background: rgb(54, 55, 58);
        background: linear-gradient(0deg, rgba(54, 55, 58, 1) 0%, rgba(54, 55, 58, 0.4) 30%, rgba(54, 55, 58, 0) 40%);
    }

    /* Adjust portfolio/main vs. thumbnails height split on portrait */
    .mySwiper2 { /* main */
        height: 80% !important;
    }
    .mySwiper { /* thumbnails */
        height: 20% !important;
    }

    /* Hide portfolio next/prev arrows on mobile-like ratios */
    .swiper-container-portfolio-navigation .swiper-button-prev,
    .swiper-container-portfolio-navigation .swiper-button-next {
        display: none !important;
    }

    /* Center thumbnail images vertically */
    .mini-slide img {
        object-position: center center;
    }
}

@media only screen and (max-width: 768px) {
    p {
        margin: 0 0 10px 0;
    }

    .swiper-pagination-fraction {
        /*
        bottom: -4em;
        right: 1.1em !important;
        */
        bottom: -65px;
        right: 1.6em !important;
    }

    .col-10,
    .col-8,
    .col-6 {
        width: 100%;
    }

    .about {
        background-position: -40vw top;
    }

    .about .col-4 {
        width: 45%;
    }

    .about .col-6 {
        width: 40%;
    }

    .col-2 {
        width: 50%;
    }

    .col-1 {
        width: 25%;
    }

    .footer .col-6 {
        width: 90%;
    }

    .banner {
        height: calc(100% - 110px);
    }

    .banner .col-7,
    .banner .col-5 {
        width: 100%;
    }

    .banner .col-5 {
        height: 40%;
    }

    .banner .content > [class^="col-"] {
        position: relative;
        z-index: 10;
        padding: 1.5em;
    }

    .banner .image {
        height: 60%;
    }

    .swiper-container .logo {
        width: 200px;
        position: absolute;
        bottom: 30px;
        right: auto;
        transform: translate(-50%, 0);
        left: 50%;
    }

    .swiper-container-h02 .col-8 {
        width: 90%;
    }

    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next {
        /* left: 1em; */
        left: 0;
    }

    /* Raise portfolio bullets ~50px higher on small screens */
    .swiper-pagination-portfolio {
        top: calc(80vh - 100px);
    }

    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        /* right: 1em; */
        right: 0;
    }

    .swiper-button-prev,
    .swiper-container-rtl .swiper-button-next,
    .swiper-button-next,
    .swiper-container-rtl .swiper-button-prev {
        /* Hide generic arrows on small screens */
        display: none !important;
    }

    footer .col-12 {
        -webkit-flex-direction: row;
        flex-direction: column;
        text-align: center;
        padding: 0 5%;
    }

    .size-xl {
        margin-top: 1em;
    }

    .swiper-pagination-v .swiper-pagination-bullet {
        padding: 0.1em 4em 0 0;
        font: 1.4em/1.2em 'Khand', Verdana, Geneva, sans-serif !important;
    }

    nav::before {
        top: 3.5em !important;
    }

    .cbp-spmenu-visible .swiper-container {
        -webkit-transition: all 0.2s;
        -moz-transition: all 0.2s;
        -o-transition: all 0.2s;
        -ms-transition: all 0.2s;
        transition: all 0.2s;
    }

    /* Ensure 80/20 split on small screens as well */
    .mySwiper2 { /* main */
        height: 80% !important;
    }
    .mySwiper { /* thumbnails */
        height: 20% !important;
    }
    .mini-slide img {
        object-position: center center;
    }
}

/*@media only screen and (max-width: 768px) and (orientation: landscape) {
	.swiper-container {
		-webkit-filter: blur(10px);
		-ms-filter: blur(10px);
		filter: blur(10px);
		}
	body:before {
		position: absolute;
		top: 0;
		left: 0;
		display: block;
		content: '';
		width: 100%;
		height: 100%;
		background: url('../images/rotate.png');
		background-repeat: no-repeat;
		background-position: center center;
		z-index: 999;
		}
}*/
@media only screen and (max-width: 700px) {
    #logo {
        margin: 0 auto;
        transform: scale(0.8);
    }

    .about {
        background-position: right top;
    }

    .about:after {
        content: '';
        display: block;
        background: rgba(54, 55, 58, 0.6);
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
    }

    .about .col-4 {
        width: 100%;
        padding: 5vw;
        z-index: 1;
    }

    .about .col-6 {
        display: none;
    }
}

/* ==============================================================================================================
S M A R T P H O N E S
-------------------------------------------------------------------------------------------------------------- */

@media only screen and (max-width: 481px) {
    .si-icons {
        top: 10px;
        right: 10px;
    }

    .about {
        background-position: right top;
    }

    h3 {
        padding: 0 0 0.6em;
        font-size: 1.6em;
        display: block;
    }

    .title-wrapper h3 {
        font-size: 3em;
    }

    .title-wrapper h5 {
        font-size: 1.1em;
    }

    .footer .col-6 {
        margin-top: 5em;
    }

    .footer a {
        display: block;
        margin: auto;
        width: 100%;
        text-align: center;
        padding: 0.5em;
    }

    .footer a span {
        padding-left: 0;
    }

    .footer .col-6 {
        min-width: 300px;
    }

    .banner .content p, body, html {
        font-size: 90%;
    }

    .swiper-slide {
        -webkit-flex-direction: column;
        flex-direction: column;
    }

    .swiper-pagination-bullet {
        width: 16px;
        height: 16px;
    }

    [class*="col-"] {
        width: 100%;
    }
}
