/*************** import ***************/
/* ubuntu-regular - latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 400;
  src: url('../fonts/ubuntu-v13-latin-regular.eot'); /* IE9 Compat Modes */
  src: local('Ubuntu Regular'), local('Ubuntu-Regular'),
       url('../fonts/ubuntu-v13-latin-regular.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/ubuntu-v13-latin-regular.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/ubuntu-v13-latin-regular.woff') format('woff'), /* Modern Browsers */
       url('../fonts/ubuntu-v13-latin-regular.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/ubuntu-v13-latin-regular.svg#Ubuntu') format('svg'); /* Legacy iOS */
}

/* ubuntu-700 - latin */
@font-face {
  font-family: 'Ubuntu';
  font-style: normal;
  font-weight: 700;
  src: url('../fonts/ubuntu-v13-latin-700.eot'); /* IE9 Compat Modes */
  src: local('Ubuntu Bold'), local('Ubuntu-Bold'),
       url('../fonts/ubuntu-v13-latin-700.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('../fonts/ubuntu-v13-latin-700.woff2') format('woff2'), /* Super Modern Browsers */
       url('../fonts/ubuntu-v13-latin-700.woff') format('woff'), /* Modern Browsers */
       url('../fonts/ubuntu-v13-latin-700.ttf') format('truetype'), /* Safari, Android, iOS */
       url('../fonts/ubuntu-v13-latin-700.svg#Ubuntu') format('svg'); /* Legacy iOS */
}

/*************** basics ***************/
*,*:before,*:after {
    padding: 0;
    margin: 0;
    border: 0;
    box-sizing: border-box;
}

a {
    text-decoration: none;
    cursor: pointer;
}

body {
    font-family: 'Ubuntu', sans-serif;
    background-color: rgb(230,230,230);
    margin: auto; 
    
    width: 97%;
    min-width: 320px;
    max-width: 1400px;
}

.preload * {
    -webkit-transition: none !important;
    -moz-transition: none !important;
    -ms-transition: none !important;
    -o-transition: none !important;
}

.hidden {
    display: none;
}

@media screen and (max-width: 900px) {
    body {
        width: 100%;
    }
}

/*************** TOPBAR ***************/
header .topbar {
    margin-top: 0px;
    transition: 1s cubic-bezier(.25,.8,.25,1);
    line-height: 20px;
}

header .topbar.pushed {
    margin-top: 100px;
}

header .topbar.pushed.twice {
    margin-top: 300px; /* 50px per entry */
}

@media screen and (max-width: 900px) {
    header .topbar.pushed {
        margin-top: 60px;
    }

    header .topbar.pushed.twice {
        margin-top: 360px; /* 200px per entry */
    }
}

/*************** TOPBAR SITE ***************/
header .topbar_site {
    float: left;
    padding: 20px 1.50%;
    max-width: 37.5%;
}

header .topbar_site h1 {
    color: rgb(50, 50, 50);
    font-weight: 400;
    cursor: pointer;
}

header .logotype_small {
    display: none;
}

header .logotype_big {
    display: block;
}

header .logotype_big,.logotype_small {
    font-size: 20px;
}

header .topbar_site h1:last-child {
        font-size: 15px;
}

header .topbar_site span {
    font-size: 20px;
    font-weight: 700;
}

@media screen and (max-width: 900px) {
    header .topbar_site {
        padding: 10px 1.50%;
    } 
    header .topbar_site h1:last-child {
        font-size: 14px;
        display: block;
    }
    header .topbar_site h1 {
        border-right: 1px solid;
        padding-right: 30px;
    }
    header .logotype_big {
        display: none;
    }
    header .logotype_small {
        display: block;
    }
}

@media screen and (max-width: 525px) {
    header .topbar_site h1 {
        padding-right: 15px;
    }
}

@media screen and (max-width: 400px) {
    header .topbar_site h1 {
        padding-right: 5px;
    }
}

/*************** TOPBAR CONTACT ***************/
header .topbar_contact {
    text-align: right; 
    padding: 20px 1.50% 20px 0;
}

header .topbar_contact a {
    color: #333333;
    font-size: 18px;
    font-weight: 700;
}

header .topbar_contact a:first-child:Before {
    font-weight: 400;
    font-size: 14px;
    content: 'Mail: ';
}

header .topbar_contact a:last-child:Before {
    font-weight: 400;
    font-size: 14px;
    content: 'Telefon: ';
}

@media screen and (max-width: 900px) {
    header .topbar_contact {
        padding: 10px 1.50%;
    }   
    header .topbar_site a:first-child:Before {
        content: 'HMS ';
    }
    header .topbar_contact a {
        font-size: 16px;
    }
    header .topbar_contact a:Before {
        font-size: 12px;
    }
}

@media screen and (max-width: 525px) {
    header .topbar_contact a {
        font-size: 14px;
    }
    header .topbar_contact a:first-child:Before {
        content: none;
    }
    header .topbar_contact a:last-child:Before {
        content: none;
    }
}

@media screen and (max-width: 400px) {
    header .topbar_contact a {
        font-size: 11px;
    }
}

/*************** STARTER ***************/
main .starter {
    background-image: url(images/starter_fullres.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    image-rendering: crisp-edges;
    width: 100%;
    height: 0;
    padding-top: 42.857%;
    border-radius: 4px;
    position: relative;
    box-shadow: 0 2px 4px rgba(0,0,0,0.20);
    margin-bottom: 10px;
}

main .starter_text {
    position: absolute;
    left: 0;
    bottom: 0;
    color: white;
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    margin: 40px;
    padding: 10px;
    background: rgba(10,10,10,0.75);
}

main .starter_text span {
    display: block;
    text-transform: none;
    font-size: 20px;
    font-weight: 400;
}

@media screen and (max-width: 900px) {
    main .starter {
        border-radius: 0;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 750px) {
    main .starter {
        background-image: url(images/starter_mobileres.jpg);
        padding-top: 55.555%;
        padding-bottom: 120px;
    }
    main .starter_text {
        border-radius: 0;
        position: relative;
        margin: 0;
        padding: 30px 0;
        text-align: center;
        font-size: 25px;
        width: 100%;
        background: rgb(75,75,75);
    }
    main .starter_text span {
        font-size: 15px;
    }
}

@media screen and (max-width: 400px) {
    main .starter_text {
        font-size: 20px;
    }
}

/*************** SERVICE ***************/
main .service {
    background: rgb(210,0,0);
    box-shadow: 0 2px 4px rgba(0,0,0,0.20);
    border-radius: 4px;
    margin-bottom: 10px;
    overflow-x: hidden;
}

main .service_title {
    text-align: center;
    display: block;
    font-size: 25px;
    font-weight: 700;
    line-height: 30px;
    padding: 50px 0;
    width: 700px;
    margin: auto;
    color: rgb(255,255,255);
}

main .service_title span.small {
    font-size: 15px;
    line-height: 20px;
    font-weight: 400;
}

main .service_content {
    margin: auto;
    width: 100%;
    text-align: center;
}

main .service_content div {
    background: rgb(230,230,230);
    display: inline-block;
    vertical-align: top;
    width: 300px; 
    margin: 5px;
    margin-bottom: 15px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.5);
    border-radius: 4px;
    
    font-size: 20px;
    line-height: 50px;
}

main .service_content ul {
    list-style: none;
}

main .service_content li:nth-child(odd) {
    background: rgb(210,210,210); 
}

main .service_content h2{
    font-size: 20px;
    line-height: 50px;
    font-weight: 700;
    border-bottom: 2px solid;
    background: rgb(220,0,0);
    color: white;
    border-radius: 4px;
}

@media screen and (max-width: 900px) {
    main .service {
        border-radius: 0;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 1325px) and (min-width: 965px){
    main .service_content div:nth-child(odd) {
        margin-left: 150px;
    }
    main .service_content div:nth-child(even) {
        margin-right: 150px;
    }
}

@media screen and (max-width: 700px) {
    main .service_title {
        width: 100%;
        font-size: 20px;
        line-height: 25px;
    }
}
@media screen and (max-width: 600px) {
    main .service_title span.scale {
        font-size: 16px;
    }
}
@media screen and (max-width: 500px) {
    main .service_title span.scale {
        font-size: 14px;
    }    
}
@media screen and (max-width: 400px) {
    main .service_title span.scale {
        font-size: 12px;
    }
}

/*************** PICTURE ROW ***************/
main .picture_row {
    width: 100%;
    margin-bottom: 10px;
    border-radius: 4px;
    overflow: hidden;
}

main .picture_row div {
    text-align: center;
    background-size: contain;
    background-repeat: no-repeat;
    image-rendering: crisp-edges;
    width: 33.333%;
    padding-top:33.333%;
    position: relative;
    box-shadow: 0 2px 4px rgba(0,0,0,0.20);
    float: left;
}

main .picture_row div:nth-child(1) {
    background-image: url(images/vehicle_one.jpg); 
}

main .picture_row div:nth-child(2) {
    background-image: url(images/vehicle_two.jpg);  
}

main .picture_row div:nth-child(3) {
    background-image: url(images/vehicle_three.jpg);   
}

main .picture_row span {
    position: absolute;
    text-align: center;
    bottom: 0;
    left: 0;
    right: 0;
    color: white;
    font-size: 15px;
    line-height: 20px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 5px;
    background: rgba(210,0,0,0.75);
}

@media screen and (max-width: 900px) {
    main .picture_row {
        margin-bottom: 0;
        border-radius: 0;
    }
    main .picture_row span {
        margin: 10px;
        padding: 10px;
        font-size: 16px;
        line-height: 16px;
    }
}

@media screen and (max-width: 900px) {
    main .picture_row div {
        width: 100%;
        padding-top: 100%;
    }
}

/*************** PICTURE ***************/
main .picture {
    background-image: url(images/vehicles_fullress.jpg);
    background-size: contain;
    background-repeat: no-repeat;
    image-rendering: crisp-edges;
    width: 100%;
    height: 0;
    padding-top: 50%;
    border-radius: 4px;
    position: relative;
    box-shadow: 0 2px 4px rgba(0,0,0,0.20);
    margin-bottom: 10px;
}

main .picture_text {
    position: absolute;
    text-align: right;
    bottom: 0;
    right: 0;
    color: white;
    font-size: 30px;
    line-height: 30px;
    font-weight: 700;
    text-transform: uppercase;
    border-radius: 4px;
    margin: 40px;
    padding: 10px;
    background: rgba(10,10,10,0.75);
}

@media screen and (max-width: 900px) {
    main .picture {
        border-radius: 0;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 750px) {
    main .picture {
        padding-bottom: 90px;
    }
    main .picture_text {
        border-radius: 0;
        position: relative;
        margin: 0;
        padding: 30px 0;
        text-align: center;
        font-size: 25px;
        width: 100%;
        background: rgb(50,50,50);
    }
}

/*************** CONTACT ***************/
main .contact {
    background: rgb(75,75,75);
    color: rgb(255,255,255);
    font-size: 15px;
    line-height: 20px;
    text-align: center;
    padding: 50px 15px;
    border-radius: 5px;
    margin-bottom: 10px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.20);
}

main .contact_text {
    margin-bottom: 30px;  
}

main .contact_text span {
    display: block;
    font-weight: 700;
    font-size: 25px;
    line-height: 50px;
}

main .contact a {
    line-height: 40px;
    background: rgb(255, 255, 255);
    color: rgb(75,75,75);
    border: 2px solid rgb(255, 255, 255);
    border-radius: 4px;
    font-weight: 700;
    padding: 10px 15px; 
    margin: 10px;
    transition: 0.5s cubic-bezier(.25,.8,.25,1);
}

main .contact a:hover{
    box-shadow: inset 0 0 0 20px rgb(210,0,0);
    color: rgb(255,255,255)
}

@media screen and (max-width: 900px) {
    main .contact {
        border-radius: 0;
        margin-bottom: 0;
    }
}

@media screen and (max-width: 700px) {
    main .contact span {
        font-size: 20px;
        line-height: 40px;
    }
    main .contact a {
        display: block;
    }
    main .contact a:hover{
        box-shadow: inset 0 0 0 35px rgb(210,0,0);
    }
}

/*************** FOOTER ***************/
footer {
    text-align: left;
    width: 100%;
    font-size: 15px;
    line-height: 50px;
    margin-bottom: 10px;
    
}

footer .footer_buttons {
    background: rgb(225,225,225);
    border-bottom: 2px solid rgb(200,200,200);
    border-radius: 4px;
    color: rgb(150,150,150);
    margin-right: 10px;
    padding: 10px 1.5%;
    font-weight: 700;
    transition: 0.5s ease;
}

footer .footer_buttons:hover {
    color: rgb(50,50,50);
    border-color: rgb(50, 50, 50);
}

@media screen and (max-width: 900px) {
    footer {
        text-align: center;
        line-height: 25px;
        margin: 0;
    }
    footer .footer_buttons {
        display: block;
        width: 100%;
        border-radius: 0;
    }
} 

/*************** FOOTER NOTIFICATION ***************/
footer .notification {
    position: relative;
    border-radius: 4px;
    margin: 1.250em auto;
    top: 0;
    z-index: +1;
    
    background: rgb(230, 0, 0);
    
    color: rgb(255, 255, 255);
    text-transform: uppercase;
    line-height: 20px;
    font-weight: 400;
    font-size: 15px;
    
    transition: 1s cubic-bezier(.25,.8,.25,1);
    box-shadow: 0 2px 4px rgba(0,0,0,0.20);
}

footer .notification.focused {
    box-shadow: 0 14px 28px rgba(0,0,0,0.40);
}

footer .notification.inactive {
    top: -100px;
    box-shadow: none;
}

footer .notification.fixed {
    position: fixed;
    left: 0px;
    right: 0px;
    max-height: 100%;
    overflow: auto;
    
    width: 97%;
    min-width: 320px;
    max-width: 1400px;
}

@media screen and (max-width: 900px) {
    footer .notification {
        border-radius: 0;
        margin: 0;
        width: 100%;
    }
    
    footer .notification.fixed {
        width: 100%;
    }  
}

/*************** FOOTER NOTIFICATION TITLE ***************/
footer .notification_title {
    background: rgb(250, 0, 0);
    padding: 20px 1.50%;
    max-width: 35%;
    float: left;
}

footer .notification_title a {
    display: block;
    cursor: default;
}

footer .notification_title a:first-child {
    font-size: 20px;
    font-weight: 700;
}

@media screen and (max-width: 900px) {
    footer .notification_title a:first-child {
        font-size: 14px;
        text-align: left;
    }
    
    footer .notification_title a:last-child {
        display: none;
    }
}

@media screen and (max-width: 550px) {
    footer .notification_title {
        padding: 10px 1.50%;
        max-width: 30%;
    }
}

/*************** FOOTER NOTIFICATION INTERACTION ***************/
footer .notification_interaction {
    display: block;
    text-align: right;
    padding: 20px 1.50%;
}

footer .notification_interaction a {
    border: 2px solid rgb(230,0,0);
    line-height: 40px;
    border-radius: 4px;
    font-weight: 700;
    padding: 10px 15px;
    
    transition: 0.5s cubic-bezier(.25,.8,.25,1);
}

footer .notification_interaction a:hover{
    border-color: rgb(255,255,255);
}

footer .notification_interaction a:first-child {
    background: rgb(255, 255, 255);
    border-color: rgb(255,255,255);
    color: rgb(230, 0, 0);
}

footer .notification_interaction a:first-child:hover{
    box-shadow: inset 0 0 0 25px rgb(230,0,0);
    border-color: rgb(255,255,255);
    color: rgb(255, 255, 255);
}

@media screen and (max-width: 900px) {
    footer .notification_interaction {
        padding: 10px 1.50%;
    }
    
    footer .notification_interaction a {
        line-height: 40px;
        padding: 10px 5px;
    }
}

/*************** FOOTER NOTIFICATION CONTENT ***************/
footer .notification_content {
    width: 100%;
    background: rgb(240,240,240);
    color: black;
    transition: height 1s ease;
    overflow: hidden;
    height: 200px; /* 50px per entry */
    padding: 0 2.50%; 
    transition: 1s cubic-bezier(.25,.8,.25,1);
    text-align: center;
    line-height: 50px;
}

footer .notification_content.minimized {
    height: 0px;
}

footer .notification_content span {
    font-size: 10px;
}

@media screen and (max-width: 900px) {
    footer .notification_content {
        height: 300px; /* 200px per entry */
    }
}

/*************** FOOTER NOTIFICATION CONTENT TABLE ***************/
table {
    border-bottom: 2px solid rgb(230,0,0);
    border-collapse: collapse;
    text-align: center;
    width: 100%;
    font-size: 14px;
    line-height: 25px;
    
    max-height: 100%;
    overflow: scroll;
}

table caption {
    line-height: 50px;
    font-weight: 700;
}

table th {
    background: rgb(200,200,200);
}

table tr {
    height: 50px;
    border-bottom: 1px solid;
}

table td {
    padding: 0 12px;
}

@media screen and (max-width: 900px) {
    table thead {
        display: none;
    }
    
    table tr {
        height: 0;
    }

    table td {
        display: block;
        font-size: 14px;
        line-height: 20px;
        padding: 5px 0;
    }
    
    table td:Before {
        content: attr(data-label);
        display: inline-block;
        float: left;
        line-height: 20px;
        font-weight: 700;
        font-size: 12px;
        text-transform: uppercase;
        width: 100%;
    }
}

@media screen and (max-width: 400px) {
    table td {
        font-size: 12px;
    }
}

/*************** IMPRESSUM DATENSCHUTZ ***************/
main .impressum_datenschutz {
    background: rgb(210,0,0);
    border-radius: 4px;
    padding: 50px 1.5%;
    font-size: 18px;
    line-height: 25px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.20);
}

main .impressum_datenschutz ul {
    max-width: 1000px;
    padding-bottom: 20px;
    margin: 20px auto;
    background: rgb(255,255,255);
    border-radius: 4px;
    box-shadow: 0 2px 4px rgba(0,0,0,0.50);
}

main .impressum_datenschutz li {
    padding: 0 4%;
    list-style: none;
    text-align: justify;
}

main .impressum_datenschutz li:first-child {
    padding: 0;
    font-weight: 700;
    line-height: 50px;
    text-align: center;
    background: rgb(200,200,200);
    border-radius: 4px;
}

main .impressum_datenschutz li:nth-child(2) {
    padding-top: 20px;
}

main .impressum_datenschutz .subtitle {
    margin-top: 10px;
    font-weight: 700;
}

@media screen and (max-width: 900px) {
    main .impressum_datenschutz {
        border-radius: 0;
        padding: 0;
    }
    main .impressum_datenschutz ul {
        margin: 0;
        border-radius: 0;
    }
    main .impressum_datenschutz li:first-child {
        border-radius: 0;
    }
}