:root {
    --grey_light: 236, 232, 225;
    --red_light: 255, 124, 109;
    --red_brand: 255, 1, 25;
    --grey_dark: 46, 46, 46;

    --fc_light: 255, 255, 255;
    --fc_dark: 255, 255, 255;    

    --font_1: "Merriweather", serif;
    --font_2: "Cabin", sans-serif;

    --fz_10: 16px;
    --fz_15: 18px;
    --fz_20: 20px;
    --fz_25: 32px;
    --fz_28: 36px;
    --fz_30: 50px;
    --fz_35: 70px;

    --gap_10: 10px;
    --gap_20: 20px;
    --gap_30: 30px;
    --gap_40: 40px;
    --gap_50: 50px;
    --gap_60: 60px;
    --gap_70: 70px;
    --gap_80: 80px;
    --gap_90: 90px;
    --gap_100: 100px;  
    
    --page_width: 1920px;
    --content_width: 1355px;
    --col_width: 90px;
    --gap: 25px;
    
}

body.no-scroll {
    overflow: hidden;
}

body {
    padding: 0;
    margin: 0;
}
body,
p {
    font-family: var(--font_2);
    font-size: var(--fz_15);
}
p {
    line-height: 1.6;
    margin-top: 30px;
    margin-bottom: 0px;    
}

p:first-of-type {
    margin-top: 0px;
}

a,
a:visited {
    color: inherit;
    text-decoration: inherit;
}

.mw_page_width {max-width: var(--page_width);}
.mw_content_width {max-width: var(--content_width);}

.d-grid {
    display: grid;
}

.gap {
    grid-gap: var(--gap);
}
.col-2 {
    grid-template-columns: 1fr 1fr;
}

.aic {align-items: center;}

.header,
section .container {
    padding-left: clamp(15px, 7vw, 50px);
    padding-right: clamp(15px, 7vw, 50px);
}

.skiller {
    height: 15px;
    width: 100%;
    background-color: #ECE7E1;
}

.skiller.red {
    background-color: rgb(var(--red_brand));
}

.image_container {
    position: relative;
}
.image {
    width: 100%;
    height: auto;
}

.font_1 {font-family: var(--font_1);}
.font_2 {font-family: var(--font_2);}

.mt_10{margin-top: var(--gap_10);}
.mt_20{margin-top: var(--gap_20);}
.mt_30{margin-top: var(--gap_30);}
.mt_40{margin-top: var(--gap_40);}
.mt_50{margin-top: var(--gap_50);}
.mt_60{margin-top: var(--gap_60);}
.mt_70{margin-top: var(--gap_70);}
.mt_80{margin-top: var(--gap_80);}
.mt_90{margin-top: var(--gap_90);}
.mt_100{margin-top: var(--gap_100);}

.mb_10{margin-bottom: var(--gap_10);}
.mb_20{margin-bottom: var(--gap_20);}
.mb_30{margin-bottom: var(--gap_30);}
.mb_40{margin-bottom: var(--gap_40);}
.mb_50{margin-bottom: var(--gap_50);}
.mb_60{margin-bottom: var(--gap_60);}
.mb_70{margin-bottom: var(--gap_70);}
.mb_80{margin-bottom: var(--gap_80);}
.mb_90{margin-bottom: var(--gap_90);}
.mb_100{margin-bottom: var(--gap_100);}


.pt_10{padding-top: var(--gap_10);}
.pt_20{padding-top: var(--gap_20);}
.pt_30{padding-top: var(--gap_30);}
.pt_40{padding-top: var(--gap_40);}
.pt_50{padding-top: var(--gap_50);}
.pt_60{padding-top: var(--gap_60);}
.pt_70{padding-top: var(--gap_70);}
.pt_80{padding-top: var(--gap_80);}
.pt_90{padding-top: var(--gap_90);}
.pt_100{padding-top: var(--gap_100);}

.pb_10{padding-bottom: var(--gap_10);}
.pb_20{padding-bottom: var(--gap_20);}
.pb_30{padding-bottom: var(--gap_30);}
.pb_40{padding-bottom: var(--gap_40);}
.pb_50{padding-bottom: var(--gap_50);}
.pb_60{padding-bottom: var(--gap_60);}
.pb_70{padding-bottom: var(--gap_70);}
.pb_80{padding-bottom: var(--gap_80);}
.pb_90{padding-bottom: var(--gap_90);}
.pb_100{padding-bottom: var(--gap_100);}

.bgc_grey_light {background-color: rgb(var(--grey_light));}
.bgc_grey_dark {background-color: rgb(var(--grey_dark));}
.bgc_red_brand {background-color: rgb(var(--red_brand));}
.bgc_red_light {background-color: rgb(var(--red_light));}
.fc_dark {color: rgb(var(--fc_dark));}
.fc_light {color: rgb(var(--fc_light));}
.fc_grey_light {color: rgb(var(--grey_light));}
.fc_grey_dark {color: rgb(var(--grey_dark));}
.fc_red_brand {color: rgb(var(--red_brand));}
.fc_red_light {color: rgb(var(--red_light));}

.tar {text-align: right;}
.tal{text-align-last: left;}
.tac {text-align: center;}
.center{margin-left: auto; margin-right: auto;}
.d-block {display: block;}
.right{margin-left: auto; margin-right: 0;}
.left{margin-left: 0; margin-right: auto;}

.ttu {text-transform: uppercase;}
.fw_normal {font-weight: 400;}
.fw_bold {font-weight: 700;}

.fz_10 {font-size: var(--fz_10);}
.fz_15 {font-size: var(--fz_15);}
.fz_20 {font-size: var(--fz_20);}
.fz_25 {font-size: var(--fz_25);}
.fz_28 {font-size: var(--fz_28);}
.fz_30 {font-size: var(--fz_30);}
.fz_35 {font-size: var(--fz_35); line-height: 1.15em;}

h1, h2, h3, h4, h5 {
    font-size: inherit;
    color: inherit;
    line-height: inherit;
    margin:0;
    padding: 0;
}

.mw_1 {max-width: calc(var(--col_width) * 1);}
.mw_2 {max-width: calc(var(--col_width) * 2 + (var(--gap) * 1));}
.mw_3 {max-width: calc(var(--col_width) * 3 + (var(--gap) * 2));}
.mw_4 {max-width: calc(var(--col_width) * 4 + (var(--gap) * 3));}
.mw_5 {max-width: calc(var(--col_width) * 5 + (var(--gap) * 4));}
.mw_6 {max-width: calc(var(--col_width) * 6 + (var(--gap) * 5));}
.mw_7 {max-width: calc(var(--col_width) * 7 + (var(--gap) * 6));}
.mw_8 {max-width: calc(var(--col_width) * 8 + (var(--gap) * 7));}
.mw_9 {max-width: calc(var(--col_width) * 9 + (var(--gap) * 8));}
.mw_10 {max-width: calc(var(--col_width) * 10 + (var(--gap) * 9));}
.mw_11 {max-width: calc(var(--col_width) * 11 + (var(--gap) * 10));}
.mw_12 {max-width: calc(var(--col_width) * 12 + (var(--gap) * 11));}



.header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: var(--page_width);
    margin-left: auto;
    margin-right: auto;
    position: sticky;
    top: 0;
    background-color: #ffffff;
    z-index: 99;
}

.header .logo_container {
    max-width: 105px;
    padding: 10px 0px;
}

#header_menu ul {
    display: flex;
    gap: clamp(10px, 4vw, 30px);
    align-items: center;
}
#header_menu ul li {
    list-style-type: none;
}
#header_menu ul li a {
    font-weight: 700;
    font-size: var(--fz_10);
}


.bruger_menu {
    --width: 42px;
    --height: 24px;
    --thickness: 3px;
    --color: rgb(var(--grey_dark));
    width: var(--width);
    height: var(--height);
    cursor: pointer ;    
    position: relative;
    display: none;
}

.bruger_menu span {
    display: block;
    height: var(--thickness);
    width: var(--width);
    background: var(--color);
    border-radius: 10px;
    position: absolute;
    left: 0px;
    transition: all 0.3s ease;
}

.bruger_menu .line_1,
.bruger_menu .line_3 {
    transition: top 0.3s ease 0.2s, transform 0.2s ease 0s;
}
.bruger_menu span.line_2 {
    transition: transform 0.3s ease 0.3s;
}

.bruger_menu span.line_1{top: 0px;}
.bruger_menu span.line_2{top: calc(50% - (var(--thickness) / 2));}
.bruger_menu span.line_3{top: calc(100% - (var(--thickness) / 2));}

.bruger_menu.active {
    --color: rgb(var(--fc_light));
}
.bruger_menu.active .line_1,
.bruger_menu.active .line_3 {
    transition: top 0.2s ease 0.1s, transform 0.2s ease 0.3s;
    top: calc(50% - (var(--thickness) / 2));
}
.bruger_menu.active .line_1 {
    transform: rotate(-45deg);
}
.bruger_menu.active .line_3 {
    transform: rotate(45deg);
}
.bruger_menu.active .line_2 {
    transition: transform 0.3s ease 0s;
    transform: scaleX(0);
}


.offset_left {
    margin-left: clamp(0px, 5vw, 45px);
}

.pb_container  {
    background-color: #474747;
    display: grid;
    align-content: center;  
}
.personal_box {
    padding: clamp(20px, 5vw, 45px) 0px;
    display: inline-block;
    width: calc(100% - 60px);
    margin-left: auto;
    margin-right: auto;    
}

.infobox {
    margin-bottom: var(--gap_50);
}

.infobox .label {
    margin-bottom: -5px;
}

.links {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    
}

#kunder {
    background: #ece7e1;
    padding: 100px 0;
    margin-top: 100px;
    margin-bottom: 0px;
}

.footer_info {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 20px;
    align-items: center;
    justify-content: center;
}

.clients .container {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 20px;
}

.client_logo_single {
    --padding_ratio: 1;
    background-color: #ffffff;
    padding: 7px;
    display: grid;
    align-content: center;
    justify-content: center;
    aspect-ratio: 1 / 1;   
}
.client_logo_single img {
    width: 100%;
    height: auto;
}

.client_logo_single.ratio_ultrawide {
    padding: calc(var(--padding_ratio) * 20px);
}
.client_logo_single.ratio_square {
    padding: calc(var(--padding_ratio) * 28px);
}

.client_logo_single.ratio_wide {
    padding: calc(var(--padding_ratio) * 25px);
}

.overlay_effect {
    display: none;
}

.footer_info {
    opacity: 0.7;
}

@media only screen and (max-width: 767px) {

    #header_menu {
        position: fixed;
        width: 100%;
        height: 100%;
        left: 0;
        top: 0;
        background-color: rgb(var(--red_brand));
        overflow: auto;
        left: 100%;
        transition: all 0.3s ease;
    }


    #header_menu.show {
        left: 0%;
    }
    #header_menu .ul_container {
        position: relative;
        margin: 0;
        min-height: 100svh;
        overflow: hidden;
    }
    .overlay_effect {
        display: block;
        position: absolute;
        bottom: 0;
        z-index: -1;
        transform: translate(0%, 25%);
        left: 0;
    }

    #header_menu ul {
        flex-direction: column;
        align-items: flex-start;
        padding-top: 80px;
    }


    #header_menu ul li a {
        font-size: var(--fz_25);
        color: rgb(var(--fc_light));
        font-weight: 700;
    }
    .bruger_menu {
        display: block;
    }

}
@media only screen and (max-width: 767px) {

    :root {
        --fz_10: 16px;
        --fz_15: clamp(16px, 4vw, 18px);
        --fz_20: clamp(16px, 4vw, 18px);
        --fz_25: clamp(26px, 5vw, 32px);
        --fz_28: clamp(26px, 5vw, 32px);
        --fz_30: clamp(32px, 7vw, 50px);
        --fz_35: clamp(42px, 10vw, 62px);
    }

    .clients .container {
        grid-template-columns: repeat(3, 1fr);
    }
    section {
        margin-top: 120px;
        margin-bottom: 120px;
    }
    .col-2 {
        grid-template-columns: 1fr;
        grid-gap: 25px 0px;
    }
    .order_first {
        order: -1;
    }
    .offset_left {
        margin-left: 0px;
    }

    #start .information {
        margin-top: -100px;
        position: relative;
        z-index: 1;
    }

    #Information {
        margin-top: 130px;
    }

    section.text_image .image_container {
        padding: 0;
    }
    #start {
        margin-top: 30px;
    }

    #kontakt .section_title {
        font-size: var(--fz_30);
        margin-bottom: 30px;
    }
    .infobox {
        margin-bottom: var(--gap_30);
    }
    #kontakt {
        padding-top: 60px;
        padding-bottom: 60px;
        margin-bottom: 0px;
        margin-top: 0px;
    }

    #kunder {
        padding: 60px 0;
    }

    .footer  .image_container {
        padding-left: clamp(20px, 5vw, 50px);
        padding-right: clamp(20px, 5vw, 50px);
        max-width: clamp(200px, 60vw, 270px);
        margin-top: 50px;
        margin-bottom: 50px;
    }

    .client_logo_single {
        --padding_ratio: 0.3;
    }

    .gazelle {
        max-width: 175px;
    }

}




