﻿/*Generell*/
html, body, div {
    margin: 0;
    padding: 0;
}

@font-face {
    font-family: 'Montserrat';
    font-style: normal;
    src: url(../assets/fonts/Montserrat-Regular.ttf) format('truetype');
}

.text {
    color: #DFE4EC;
    font-family: Montserrat;
}

.subtext {
    color: #989A9E;
    font-family: Montserrat;
}

a {
    text-decoration: none;
}

.g-recaptcha {
    margin: 0 auto;
    width: 50%;
}
.link {
    color: #DFE4EC;
    font-family: Montserrat;
    transition: 0.7s ease all;
    text-decoration: none;
    margin-right: 25px;
    padding: 0;
}

    .link:hover {
        color: #5482DB;
        transform: scale(1.02);
        transition: 0.5s ease all;
        cursor: grab;
    }

.mlink {
    color: #DFE4EC;
    font-family: Montserrat;
    transition: 0.7s ease all;
    text-decoration: none !important;
    margin-right: 25px;
    padding: 0;
    display: block;
    margin-bottom: 3%;
}

    .mlink i {
        color: white;
    }

    .mlink:first-child {
        margin-top: 5%;
    }

    .mlink:hover {
        color: #5482DB;
        transform: scale(1.02);
        transition: 0.5s ease all;
        cursor: grab;
    }

/*Header*/
/*Generell*/
header {
    background-color: #1A1A1B;
    padding: 1.3% 0 1.3% 0;
}

#header_logo {
    margin-left: 15px;
}

#logo_text p {
    margin: 0;
    padding: 0;
}

/*Main*/
#wrapper_introduction {
    background-color: #2643A5;
    text-align: center;
    padding-bottom: 1%;
}

#wrapper_contact {
    width: 80%;
    border: 1px solid #007aff;
    border-radius: 10px;
    margin: 0 auto;
    overflow: auto;
    background-color: #1F3EA5;
}

#phone {
    width: 49.9%;
    float: left;
    border-right: 1px solid #007aff;
    transition: 0.7s ease all;
}
    #phone:hover {
        background-color: #0A2DA4;
        transition: 0.7s ease all;
    }
    #phone:hover p:last-child{
        text-decoration: underline;
    }
    
    #phone p i {
        color: white;
    }

#email {
    float: right;
    width: 49.9%;
    transition: 0.7s ease all;
}
    #email:hover {
        background-color: #0A2DA4;
        transition: 0.7s ease all;
    }

        #email:hover p:last-child {
            text-decoration: underline;
        }

    #email p, p i {
        color: white;
    }

#wrapper_or {
    margin-top: 2%;
    overflow: auto;
}

#wrapper_or hr{
    width: 45%;
}
#wrapper_or hr:first-child{
    position: absolute;
}
    #wrapper_or hr:last-child {
        position: absolute;
        right: 0%;
    }

#wrapper_or p{
    position: absolute;
    left: 45%;
    width: 10%;
    margin: 0;
}

#wrapper_formular {
    margin-top: 6%;
    background: linear-gradient(#2643A5, #3052c6);
}

form label{
    min-width: 10%;
    margin-right: 0%;
    display: inline-block;
}

form input[type="text"], input[type="tel"], input[type="email"] {
    background-color: #1d1b9f;
    border: 0;
    width: 30%;
    border-radius: 7px;
    transition: 0.7s ease all;
}

    form input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus {
        background-color: #0F42EA;
        border-bottom: 1px solid #860FEA;
        width: 35%;
        border-radius: 0px;
        transition: 0.7s ease all;
    }

form #textlabel {
    vertical-align: top;
}

form textarea {
    background-color: #1d1b9f;
    width: 30%;
    border: 0;
    border-radius: 7px;
    transition: 0.7s ease all;
}

form input[type="submit"] {
    border: 2px solid whitesmoke;
    background: #2643A5;
    border-radius: 15px;
    padding: 0.5% 1%;
    margin-bottom: 1%;
}

    form input[type="submit"]:hover {
        box-shadow: 2px 2px 15px #1C1C1D;
        cursor: pointer;
    }

/*Footer*/
footer {
    background-color: #28292A;
    padding-top: 15px;
    padding-bottom: 15px;
    overflow: auto;
    text-align: center;
    color: #1F2123;
    clear: both;
}

    footer p, a, i, span {
        color: #AAADAF;
    }

        footer p:first-child {
            margin-top: 0;
            padding-top: 0;
        }

        footer p:last-child {
            margin-bottom: 0;
            padding-bottom: 0;
            color: #6D7073;
        }


/*Handy und kleine Bildschirme*/
@media only screen and (min-width : 320px) and (max-width: 767px) {
    /*Texte*/
    .title {
        font-size: 1.1rem;
        margin: 0;
        padding: 0;
    }

    .subtitle {
        font-size: 0.9rem;
        margin: 0;
        padding: 0;
    }

    .caption {
        font-size: 1.0rem;
        margin: 0;
        padding-top: 2%;
        text-decoration: underline;
    }

    .text-size-big {
        font-size: 1rem;
    }

    .text-size-normal {
        font-size: 0.8rem;
    }

    .text-size-small {
        font-size: 0.7rem;
    }

    /*Header*/
    /*Header*/
    nav {
        position: fixed;
        top: 0px;
        z-index: 10000;
    }

        nav.mobile {
            width: 100%;
            margin: 0;
            padding: 0;
            background-color: rgba(7, 6, 6, 0.91);
        }

            nav.mobile #links {
                display: none;
                text-align: center;
            }

                nav.mobile #links a {
                    margin: 0 !important;
                    padding-bottom: 6%;
                    box-sizing: padding-box;
                }

            nav.mobile #navicon {
                font-size: 1.7rem;
                cursor: pointer;
                clear: both;
                position: fixed;
                right: 15px;
                top: 12px;
                z-index: 10001;
            }

                nav.mobile #navicon:hover {
                    color: #5482DB;
                }

        nav.desktop {
            display: none;
        }

    #logo {
        width: 40px;
        height: auto;
        float: left;
        margin: 0;
        padding: 0;
        padding-right: 3px;
    }
    #header_logo {
        width: 80%;
    }
    /*Header Ende*/
    #wrapper_contact {
        width: 95%;
    }

    #phone {
        width: 49%;
    }

    #email {
        width: 49%;
    }


    #wrapper_or {
        margin-top: 6%;
    }
    #wrapper_or hr {
        width: 36%;
    }
    #wrapper_or p {
        left: 42%;
    }


    #wrapper_formular {
        margin-top: 11%;
    }

    form label {
        min-width: 22%;
    }

    form input[type="text"], input[type="tel"], input[type="email"] {
        width: 65%;
    }

        form input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus {
            width: 70%;
        }

    form textarea {
        width: 65%;
    }
}

/*Tablet*/
@media only screen and (min-width : 768px) and (max-width: 1023px) {
    /*Texte*/
    .title {
        font-size: 1.9rem;
        margin: 0;
        padding: 0;
    }

    .subtitle {
        font-size: 1.64rem;
        margin: 0;
        padding: 0;
    }

    .caption {
        font-size: 1.4rem;
        margin: 0;
        padding-top: 2%;
        text-decoration: underline;
    }

    .text-size-big {
        font-size: 1.3rem;
    }

    .text-size-normal {
        font-size: 1.1rem;
    }

    .text-size-small {
        font-size: 0.95rem;
    }

    #wrapper_formular {
        margin-top: 5%;
    }

    /*Header*/
    nav {
        position: fixed;
        top: 0px;
        z-index: 10000;
    }

        nav.mobile {
            width: 100%;
            margin: 0;
            padding: 0;
            background-color: rgba(7, 6, 6, 0.91);
        }

            nav.mobile #links {
                display: none;
                text-align: center;
            }

                nav.mobile #links a {
                    margin: 0 !important;
                }

            nav.mobile #navicon {
                font-size: 2rem;
                cursor: pointer;
                clear: both;
                position: fixed;
                right: 30px;
                top: 28px;
                z-index: 10001;
            }

                nav.mobile #navicon:hover {
                    color: #5482DB;
                }

        nav.desktop {
            display: none;
        }

    #logo {
        width: 75px;
        height: auto;
        float: left;
        margin: 0;
        padding: 0;
    }
    #header_logo {
        width: 80%;
    }

    #wrapper_formular {
        margin-top: 11%;
    }

    /*Header Ende*/
    form label {
        min-width: 20%;
    }

    form input[type="text"], input[type="tel"], input[type="email"] {
        width: 65%;
    }

        form input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus {
            width: 70%;
        }

    form textarea {
        width: 65%;
    }
}

/*Tablet Quer*/
@media screen and (min-width: 1024px) and (max-width: 1599px) {
    /*Texte*/
    .title {
        font-size: 2.1rem;
        margin: 0;
        padding: 0;
    }

    .subtitle {
        font-size: 1.6rem;
        margin: 0;
        padding: 0;
    }

    .caption {
        font-size: 1.6rem;
        margin: 0;
        padding-top: 2%;
        text-decoration: underline;
    }

    .text-size-big {
        font-size: 1.5rem;
    }

    .text-size-normal {
        font-size: 1.3rem;
    }

    .text-size-small {
        font-size: 1.1rem;
    }

    /*Header ANFANG*/
    nav {
        position: fixed;
        top: 0px;
        z-index: 10000;
    }

        nav.mobile {
            width: 100%;
            margin: 0;
            padding: 0;
            background-color: rgba(7, 6, 6, 0.91);
        }

            nav.mobile #links {
                display: none;
                text-align: center;
            }

                nav.mobile #links a {
                    margin: 0 !important;
                }

            nav.mobile #navicon {
                font-size: 2rem;
                cursor: pointer;
                clear: both;
                position: fixed;
                right: 30px;
                top: 30px;
                z-index: 10001;
            }

                nav.mobile #navicon:hover {
                    color: #5482DB;
                }

        nav.desktop {
            display: none;
        }

    #logo {
        width: 80px;
        height: auto;
        float: left;
        margin: 0;
        padding: 0;
    }
    #header_logo {
        width: 80%;
    }
    /*Header ENDE*/

    form label {
        min-width: 15%;
    }

    form input[type="text"], input[type="tel"], input[type="email"] {
        width: 55%;
    }

        form input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus {
            width: 60%;
        }

    form textarea {
        width: 55%;
    }
}

/*Dekstop*/
@media screen and (min-width: 1600px) and (max-width: 1919px) {
    /*Texte*/
    .title {
        font-size: 2.3rem;
        margin: 0;
        padding: 0;
    }

    .subtitle {
        font-size: 1.8rem;
        margin: 0;
        padding: 0;
    }

    .caption {
        font-size: 1.8rem;
        margin: 0;
        padding-top: 2%;
        text-decoration: underline;
    }

    .text-size-big {
        font-size: 1.5rem;
    }

    .text-size-normal {
        font-size: 1.3rem;
    }

    .text-size-small {
        font-size: 1.1rem;
    }

    /*Header ANFANG*/
    nav.desktop {
        clear: both;
        position: absolute;
        right: 30px;
        top: 35px;
        margin: 0;
        padding: 0;
    }

    nav.mobile {
        display: none;
    }


    #logo {
        width: 90px;
        height: auto;
        float: left;
        margin: 0;
        padding: 0;
    }
    #header_logo {
        width: 50%;
    }
    /*Header ENDE*/

    form label {
        min-width: 10%;
    }

    form input[type="text"], input[type="tel"], input[type="email"] {
        width: 30%;
    }

        form input[type="text"]:focus, input[type="tel"]:focus, input[type="email"]:focus {
            width: 35%;
        }

    form textarea {
        width: 30%;
    }
}

/*Dekstop Big*/
@media screen and (min-width: 1920px) {
    /*Texte*/
    .title {
        font-size: 2.5rem;
        margin: 0;
        padding: 0;
    }

    .subtitle {
        font-size: 2rem;
        margin: 0;
        padding: 0;
    }

    .caption {
        font-size: 2rem;
        margin: 0;
        padding-top: 2%;
        text-decoration: underline;
    }

    .text-size-big {
        font-size: 1.7rem;
    }

    .text-size-normal {
        font-size: 1.4rem;
    }

    .text-size-small {
        font-size: 1.2rem;
    }

    /*Header Anfang*/
    nav.desktop {
        clear: both;
        position: absolute;
        right: 30px;
        top: 40px;
        margin: 0;
        padding: 0;
    }

    nav.mobile {
        display: none;
    }

    #logo {
        width: 90px;
        height: auto;
        float: left;
        margin: 0;
        padding: 0;
    }
    #header_logo {
        width: 50%;
    }
    /*Header Ende*/
}
