.body{
    margin: 0;
    background-color:#2d2d2d;
}
.first_touch_section{
    display: grid;
    overflow: hidden;
    width: 100vw;
    min-height: 100vh;
}
.first_touch {
    display: grid;
    grid-column: 1;
    grid-row: 1;
    grid-template-columns: repeat(12, 1fr);
    grid-template-rows: repeat(12, 1fr);
    height: 100vh;
    color: #FFE;
    font-family: sans-serif;
    padding: 20px;
    z-index: 10;
}
.title{
    grid-row: 2;
    grid-column: 1/4;
}
.title h1{
    font-variant: petite-caps;
    font-size: 2.5vw;
    font-weight: 100;
    margin: 0px;
}
.title h2{
    margin-top: 0px;
    font-size: large;
}
.title h2, .first_company, .second_company, .third_company{
    text-transform: uppercase;
    font-weight: 100;
}
.company{
    grid-row: 4/8;
    grid-column: 1/4;
    align-self: center;
}
.company h3{
    margin-bottom: 0px;
    font-weight: 100;
    font-size: 2em;
}
.company p{
    margin-top: 0px;
}
.center{
    grid-column: 5/9;
    grid-row: 3/9;
    background-image: url("media/focus_center.svg");
    background-repeat: no-repeat;
    background-position: center;
}
.plan25_login{
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: repeat(2, auto);
    grid-row: 8/11;
    grid-column: 1/3;
    background: #ffffff11;
    border-radius: 20px;
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
    box-shadow: 20px 20px 40px -6px rgb(0 0 0 / 20%);
    text-align: center;
    height: fit-content;
    overflow: hidden;
}
.plan25_login h4{
    grid-column: 1;
    grid-row: 1;
    margin: 15px;
    font-weight: 400;
    text-transform: uppercase;
    letter-spacing: 1px;
}
#plan25_login_neutral{
    display: grid;
    grid-column: 1;
    grid-row: 2;
}
#plan25_login_form{
    display: grid;
    grid-template-columns: 100%;
    grid-template-rows: repeat(4, auto);
    gap: 10px;
}
.plan25_login_bigbox_inputname{
    grid-row: 1;
    grid-column: 1;
    width: 100%;
    align-self: center;
    color: #00000054; 
}
#plan25_login_form div:nth-of-type(2){
    grid-row: 1;
    grid-column: 1;
    width: 100%;
}
#plan25_login_form div:nth-of-type(3){
    grid-row: 2;
    grid-column: 1;
    width: 100%;
}
#plan25_login_form div:nth-of-type(4){
    grid-row: 2;
    grid-column: 1;
    width: 100%;
}
#username, #password{
    width: 100%;
    background: #ffffff3b;
    border: none;
    border-radius: 0px;
    height: 1.3vw;
    text-align: center;
    color: #fff;
    font-size: 1vw;
}
.plan25_login_bigbox_pwfg{
    text-decoration: none;
    color: #262626;
    grid-column: 1;
    grid-row: 3;
    display: grid;
    align-items: center;
    padding: 4px;
    text-shadow: 1px 1px 10px #fff;
}
.plan25_login_box_submit{
    grid-column: 1;
    grid-row: 4;
    border-radius: 0px!important;
    border: none;
    height: 2vw;
    margin-bottom: -10px;
    color: #2d2d2d;
    font-size: 1vw;
    font-weight: 700;
    text-transform: uppercase;
    cursor: pointer;
    background-color: #EFEFEF;
    width: 110%;
    justify-self: center;
}
.contact{
    grid-column: 1/3;
    grid-row: 11;
    display: grid;
    grid-template-columns: repeat(6,1fr);
    grid-template-rows: repeat(2,1fr);
}
.contact h4{
    grid-column: 1/7;
    font-weight: 100;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 0px;
}
.menu_phone{
    background: url("media/icon_phone.svg");
    background-size: contain;
    width: 3em;
    height: 3em;
    background-repeat: no-repeat;
    grid-row: 2;
    grid-column: 1;
}
.menu_phone:hover{
    background: url("media/icon_phone_hov.svg");
}
.menu_mail{
    background: url("media/icon_mail.svg");
    background-size: contain;
    width: 3em;
    height: 3em;
    background-repeat: no-repeat;
    grid-row: 2;
    grid-column: 2;
}
.menu_mail:hover{
    background: url("media/icon_mail_hov.svg");
}
.menu_whatsapp{
    background: url("media/icon_whatsapp.svg");
    background-size: contain;
    width: 3em;
    height: 3em;
    background-repeat: no-repeat;
    grid-row: 2;
    grid-column: 3;
}
.menu_whatsapp:hover{
    background: url("media/icon_whatsapp_hov.svg");
}
.portrait{
    grid-column: 1;
    grid-row: 1;
    background-image: url("media/hirschberg_portrait.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
    margin-right: 20px;
    z-index: 8;
}
.body_bg{
    background: url("media/logo_short.svg");
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    grid-column: 1;
    grid-row: 1;
    opacity: 0.1;
    z-index: 5;
    width: 70%;
    align-self: center;
    justify-self: center;
    height: 70%;
}
/* ---------------------------
------ MOBILE OPTIMIERUNG ------
--------------------------- */
@media only screen and (max-width : 1000px){
    .first_touch{
        grid-template-rows: repeat(12, auto);
        height: unset;
    }
    .title{
        grid-column: 1/13;
    }
    .title h1{
        font-size: xx-large;
    }
    .company{
        grid-column: 1/13;
    }
    .company h3{
        font-size: 1em;
        font-weight: bold;
    }
    .company p{
        font-size: 0.8em;
    }
    .center{
        display: none;
    }
    .plan25_login{
        grid-column: 1/13;
    }
    #username, #password{
        height: 7.3vw;
        font-size: 6vw;
    }
    .plan25_login_box_submit{
        height: 10vw;
        font-size: 6vw;
    }
    .contact{
        grid-column: 1/13;
        grid-template-columns: repeat(3,1fr);
        justify-items: center;
    }
    .portrait{
        margin-right: -88px;
    }
}

@media only screen and (min-device-width : 1001px) and (max-device-width: 1550px){
    .title{
        grid-column: 1/13;
    }
    .company{
        grid-column: 1/13;
        grid-row: 3/6;
    }
    .company h3{
        font-size: 1.5em;
        font-weight: bold;
    }
    .company p{
        font-size: 0.8em;
    }
    .plan25_login{
        grid-column: 1/5;
        grid-row: 7/11;
    }
    #username, #password{
        height: 3vw;
        font-size: 2vw;
    }
    .plan25_login_box_submit{
        height: 4vw;
        font-size: 2vw;
    }
    .contact{
        grid-column: 1/4;
        grid-template-columns: repeat(3,1fr);
    }
}

