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




/* ************************************************** */
/* ******************************* CUSTOM PROPERTIES */
/* ************************************************** */

:root {
    /* color */
  
    --color-h2f: #ffffff;
    --color-h2l: #000000;
    --color-h4: #C05746;
    --color-h5: #ea9183;

    --color-a:#000000;
    --color-boxShadow: #00000045;
    --color-box: #858D96;


    --color-black: #000000;
    --color-blackish: #08060bbb;
    --color-white: #FFFFFF; 
    --color-redisch: #C05746;
  
    --color-gray:#C4C4C4;


    /* fontfamily */
    --h1-fontfamily: "Helvetica Neue", Helvetica, Arial, sans-serif;
    --h2-fontfamily: 'Open Sans', sans-serif;

    /* svg */
    --color-svg1:#3b5754;
    --color-svg2:#EFEFEF; 
}


/*standaard */
h1{
    font-family: var(--h1-fontfamily);
    color: var(--color-black);
}
h2{
    font-family: var(--h2-fontfamily);
    color: var(--color-redisch);
}
h3{
    font-family: var(--h2-fontfamily);
    color: var(--color-black);
}
p{
    font-family:var(--h2-fontfamily);
    color: var(--color-black);
}
h5{
    color: var(--color-h5);
}

/* color: var(--color-green); */


/* ************************************************** */
/* ************************** OPMAAK VAN EXTRA HEADER */
/* ************************************************** */

/* container hele extra header*/
.container-extra {
    position: relative;
    top: 1em;
}

/* grote tekst phone/mail */
.container-extra ul{
    display: flex;
    justify-content: center;
    align-items: baseline;   
    gap: 1em;
}

/* grote tekst phone/mail */
.container-extra ul li a span {
    position: relative;
    bottom: .4em;
    font-size: .75rem;
    color: var(--color-h4);
    font-family: var(--h2-fontfamily);
}

.container-extra ul li a svg {
    color: var(--color-h4);
}





/* ************************************************** */
/* **************************** OPMAAK HAMBURGER MENU */
/* ************************************************** */

/* zichtbaarheid van ham */
label{
    top: 0;
}

label .menu {
    position: absolute;
    top: 0;
    right: 0em;
    z-index: 100;
    width: 6em;
    height: 4.8em;
    border-radius: 0%;
    transition: .5s ease-in-out;
    background-color: var(--color-white);
    box-shadow: -16px 16px 20px 6px var(--color-boxShadow);
    cursor: pointer;
}
  
/* input button position */
label input{
    position: absolute;
    top: 44.5em;
    z-index: 2;
    visibility: hidden;
}

label .hamburger {
    position: absolute;
    top: 2.3em;
    left: 1.99em;
    width: 2em;
    height: 0.15em;
    background: var(--color-redisch);
}
  
/* strepen van ham */
label .hamburger:after, label .hamburger:before {
    content: "";
    position: absolute;
    
    display: block;
    width: 100%;
    height: 100%;
    background: var(--color-redisch);
    transition: .5s ease-in-out;
}
  
/* ruimte tussen strepen van ham */
label .hamburger:before { 
    top: -10px; 
}
label .hamburger:after { 
    bottom: -10px; 
}


/* display van input button  */
label input { 
    display: none; 
}
  
/* menu layout */
label input:checked + .menu {
    box-shadow: 0 0 0 100vw var(--color-white), 0 0 0 100vh var(--color-white);
    border-radius: 0;
}

/* animatie menu open gaat*/
label input:checked + .menu .hamburger {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
  
/* full screen*/
label input:checked + .menu .hamburger:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    bottom: 0;    
}
label input:checked + .menu .hamburger:before {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    top: 0;  
}

/* inhoud zichtbaar in menu */
label input:checked + .menu + ul { 
    opacity: 1; 
}
  
label ul {
    z-index: 200;
    position: absolute;
    top: 45%;
    left: -17em;
    opacity: 0;
    transition: .5s 0s ease-in-out;
}
  
label a {
    margin-bottom: 1em;
    display: block;
    color: var(--color-redisch);
    text-decoration: none;  
    font-size: 1.1rem;  
}

label li {
    font-family: var(--h2-fontfamily);
    list-style: none;
}
  
#scrollDown{
    position: fixed;
    bottom: 40px;
    right: 40px;

    display: none;
    cursor: pointer;
    z-index: 10;
}




/* ************************************************** */
/* ************************************ HEADER OPMAAK */
/* ************************************************** */

/* header container opmaak */
header {
    display: flex;
    justify-content: center;
    align-items: center;
    background-image: 
    linear-gradient( rgba(0, 0, 0, 0.5), 
    rgba(0, 0, 0, 0.5) ), 
    url(../images/image1.jpg);

    background-color: var(--color-white); /* fallback color */
    background-repeat: no-repeat;
    background-size: cover;
}

/* side container opmaak */
header nav {
    min-height: 35em;
    background-color: rgb(255 255 255 / 65%);
    width: 30em;
    padding-bottom: 2em;
}

/* nav container opmaak */
header nav .side-container {
    padding: 4em 5em;
}

/* logo opmaak in header*/
header nav h1 {
    font-weight: 400;
    font-size: 1.9rem;
    margin-bottom: .3em;
}

/* tussen tekst opmaak in header*/
header nav p {
    font-weight: 200;
    font-size: .8rem;
    margin-bottom: 3em;
}

/* opmaak navigatie "home, over ons etc" */
nav ol {
    list-style: none;
    font-family: var(--h2-fontfamily);
}

/* stijling van "home, over ons etc" */
nav ol li {
    margin-bottom: 1.5em;
}

/* link stijling */
nav ol li a {
    font-weight: 200;
    text-decoration: none;
    color: var(--color-black);
}



/* ************************************* UNDERLINE EFFECT:HOVER */
/* hover transition */
nav ol li a,
nav ol li a:after {
    transition: all .5s;
}

/* hover kleur op tekst */
nav ol li a:hover {
    color: var(--color-green);
}

/* stoke length */
nav ol li a:hover:after {
    width: 100%;
}

/* stroke plaatsing */
nav ol li a {
    position: relative;
}

/* stroke stijling */
nav ol li a:after {
    position: absolute;
    top: 1.5em;    /* ruimte tussen stroke en tekst */
    bottom: 0;
    left: 0;
    right: 0;
   
    margin: auto;
    width: 0%;

    content:'';
    height: .1em;
    color: transparent;
    background: var(--color-green);
}



/* stroke tussen nav en socials: stijling onder navigatie */
nav ul :after {
    position: absolute;
    bottom: 4.5em; /* ruimte tussen stroke en tekst */
    left: 5em;
    right: 0;
   
    content:'';
    height: .1em;
    color: transparent;
    background: var(--color-h4);

    width: 70%;
}

header ul{
    display: flex;
    justify-content: center;
    align-items: center;

    position: relative;
}


/* ruimte tussen icons */
header ul a {
    margin-left: .5em;
    width: 20%;
    text-decoration: none;
}

/* icon grote */
header ul li {
    list-style: none;
}

/* icon grote */
header ul li a svg{
    width: 1.3em;
    color: #000000cd;
}





/* ************************************************** */
/* ************************************ INTRO OPMAAK */
/* ************************************************** */

/* stijling container "introductie */
.introductie-tekst{
    width: 56%;
    margin: auto;
    
}

.container-introductie h2 {
    font-family: var(--h1-fontfamily);
    color: var(--color-white);

    font-weight: 450;
    font-size: 2.2rem;
}

.container-introductie p {
    font-family: var(--h2-fontfamily);
    color: var(--color-white);

    font-weight: 200;
    font-size: 1rem;;
}





/* ************************************************** */
/* ******************************* OPMAAK "OVER ONS"" */
/* ************************************************** */

/* stroke stijling */
.stroke {
    border-left: 7px solid var(--color-h4);
    height: 25em;
    position: relative;
    left: 10em;
    top: 9em;
}

.container-over .child:nth-of-type(1){
    border: var(--color-white);
    margin: 13em 0 10em;
}

/* opmaak container */
.over-wrapper{
    display: flex;
    justify-content: center;
}

/* ruimte tussen kwaliteiten en tekst */
.over-ons {
    width: 45%;
    margin: auto;
    max-width: 1170px;
}

/* opmaak h2 */
.container-over .over-ons h2 {
    font-size: 2rem;
    font-family: var(--h1-fontfamily);
}

/* opmaak h5 */
.container-over .over-ons h5 {
    font-size: 1.5rem;
    padding-top: .5em;
    font-family: var(--h1-fontfamily);
}


/* opmaak p */
.over-ons p {
    padding-top: 1em;
    font-family: var(--h1-fontfamily);
    text-align: justify;
    line-height: 1.6em;
    font-size: 1rem;
    width: 120%;
}


/* observer */
.over-ons h2, .over-ons h5, .over-ons p{
    opacity: 0;
    position: relative;
    bottom: -40px;
    transition: all 0.9s ease-out;
}

.over-ons h2.show, .over-ons h5.show, p.show{
    opacity: 1;
    bottom: 0;
}


/* ************************************************** */
/* ************************************ OPMAAK SKILLS */
/* ************************************************** */

.container-over .child:nth-of-type(2){
    border: #FFFFFF;
    margin: 5em 0 5em;
}

/* container opmaak */
.skills {
    padding: 4em 4em 2em;
    background-color: var(--color-h4);
    box-shadow: -16px 16px 20px 6px var(--color-boxShadow);
}


.inhoud {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 2em;
    padding-bottom: 3rem;
}

.inhoud:nth-of-type(2) {
    display: flex;
    gap: 1em;
}

.inhoud .groep{
    text-align: center;
}

/* grote van svg */
.inhoud svg {
    width: 6rem;
}

.inhoud .groep svg {
    color:var(--color-svg2);
}

/* h3 opmaak */
.skills h3 {
    font-size: 1.2rem;
    color: var(--color-white);
    font-family: var(--h1-fontfamily);
}

/* p opmaak */
.skills p {
    font-weight: 350;
    font-size: 1rem;
    line-height: 1.4em;
    color: var(--color-white);
    font-family: var(--h1-fontfamily);
 
    width: 14em;
}






/* ************************************************** */
/* ******************************* OPMAAK " DIENSTEN" */
/* ************************************************** */

/* container diensten */
.container-diensten {
    /* background-image: url(../images/bb.jpg); */
    background-color: #EFEFEF;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

}

.diensten {    
    width: 64.5%;
    padding: 10em 0 10em;

    margin: auto;
    max-width: 1170px;
}

/* stijling h5 */
.container-diensten .diensten h2 {
    
    font-size: 2rem;
    padding-bottom: 2em;
    font-family: var(--h1-fontfamily);
}

/* box waar de diensten in zit */
.diensten-box {
    display: flex;
    gap: 3.5em;
}

.diensten-container img{
    width: 100%;
}

/* box opmaak en ruimte */
.diensten-container {
    background-color:var(--color-white);
    box-shadow: -16px 16px 20px 6px var(--color-boxShadow);
    height: 100%;
}

/* h5 opmaak */
.container-diensten .diensten-container h5 {
    font-size: 1.5rem;
    padding: 2em 1.3em .5em;

    font-family: var(--h1-fontfamily);
    transition: .4s ease-in-out;
}

/* animatie */
.container-diensten .diensten-container:hover h3 {
    transition: .4s ease-in-out;
    color: var(--color-green);
}

/* stijling p */
.container-diensten .diensten-container p {
    font-family: var(--h1-fontfamily);
    padding: 0.7em 1.7em 3em;
    font-size: 1rem;
    line-height: 1.8em;
}







/* ************************************************** */
/* ********************************** OPMAAK "SCROLL" */
/* ************************************************** */

.parallax {
    background-image: url(../images/image1.jpg);
    min-height: 30em;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}





/* ************************************************** */
/* ******************************* OPMAAK "SIDE TEXT" */
/* ************************************************** */

/* padding in container*/
.side-wrapper .wrapper {
    width: 64.5%;
    margin: auto;
    max-width: 1170px;
}

.sideText {
    display: block;
    columns: 2;
    column-gap: 3.5em;
    column-rule-style: solid;
    column-rule-width: 4px;
    column-rule-color: var(--color-h4);
}

/* h2 opmaak */
.container-sideText .sideText h2 {
    padding-bottom: .5em;
    font-size: 2rem;
    font-family: var(--h1-fontfamily);
}

/* p opmaak */
.sideText p {
    align-items: center;
    font-family: var(--h1-fontfamily);
    font-size: 1rem;
    text-align: justify;
    line-height: 1.8em;
}




/* ************************************************** */
/* ******************************* OPMAAK " CAROUSEL" */
/* ************************************************** */

.carousel-container h5{
    text-align: center;
    font-size: 1.7rem;
    padding: .5em;
    font-family: var(--h1-fontfamily);
}

.carousel-container h3{
    text-align: center;
    font-size: 1.5rem;
    padding-bottom: 2em;
    font-family: var(--h1-fontfamily);
}

/* comtainer opmaak */
.carousel-container {
    position: relative;
    top: -12em; 

    padding: 0 23%;
    background-color: var(--color-white);
}

/* opmaak card */
.carousel .card {
    padding: 1em;
}

.parallax svg{
    position: relative;
    top: -4em;
}





/* ************************************************** */
/* ******************************* OPMAAK " CONTACT " */
/* ************************************************** */

.container-max {
    display: flex;
    justify-content: center;

    width: 64.5%;
    margin: auto;

    padding: 10em 0 10em;
    max-width: 1170px;
}

.contact-us {
    display: grid;
    justify-content: center;
    align-items: center;
    max-width: 1300px;
}

/* h2 opmaak */
.contact-us h2 {
    font-size: 2rem;
    font-family: var(--h1-fontfamily);
    padding-bottom: .5em;
}

/* p opmaak */
.contact-us p {
    font-size: 1rem;
    font-family: var(--h2-fontfamily);
    line-height: 1.8em;
    padding-bottom: 2em;
    text-align: justify;
    width: 100%;
}

/* opmaak contact form */
.contact-us .column2 {
    display: flex;
    align-items: center;
    gap: 4em;
    padding: 2em;
    box-shadow: -16px 16px 20px 6px var(--color-boxShadow);
}

/* opmaak grote form */
.contact-us .column2 form {
    width: 40%;
}




/* ************************************* GOOGLE MAP OPMAAK */

.contact-us input,
.contact-us textarea {
    background: #fcfcfc;
}

.contact-us input[type=text],
select,
textarea {
    width: 100%;
    padding: 1em;
    border: 1px solid var(--color-boxShadow);
    border-radius: 0.2em;
    box-sizing: border-box;
    margin-top: 0.5em;
    margin-bottom: 1em;
    font-family: var(--h2-fontfamily);
}

/* Style the submit button with a specific background color etc */
.contact-us input[type=submit] {
    background-color: var(--color-redisch);
    color: var(--color-white);
    padding: 12px 20px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

/* When moving the mouse over the submit button, add a darker green color */
.contact-us input[type=submit]:hover {
    background-color: var(--color-green);
}

/* google map */
#map {
    top: -2em;
    height: 27em;
    width: 60%;
    z-index: 1;
    border-radius: .4em;
}





/* ************************************************** */
/* ******************************** OPMAAK " FOOTER " */
/* ************************************************** */

/* plaatsing container */
.footer-container {
    background-color: var(--color-redisch);
}

.footer-wrapper {
    display: grid;
    justify-content: center; 

    width: 60.5%;
    margin: auto;
    padding: 3em 0 2em;
}

/* opmaak container */
.footer-container .row-footer {
    display: flex;
    gap: 7em;
}

/* info bedrijf, tekst heeft max container */
.columns-footer p {
    width: 80%;
}

/* h3 opmaak */
.footer-container h3 {
    font-family: var(--h1-fontfamily);
    margin-bottom: .8em;
    font-weight: 520;
    font-size: .9rem;
    color: var(--color-white);
}

/* tekst stijling */
.footer-container p {
    font-weight: 200;
    color: var(--color-white);
    line-height: 1.6em;
    font-size: .9rem;
    opacity: 0.6;
}

/* nav in footer tekst stijling */
.footer-container ul {
    list-style: none;
    line-height: 1.6;
    font-size: .8rem;
}

/* navigatie in footer */
.footer-container a {
    color: var(--color-white);
    text-decoration: none;
    opacity: 0.6;
    font-family: var(--h2-fontfamily);
}

.footer-container ul a:hover {
    opacity: 0.8;
}

.footer-container .copyright {
    display: grid;
    padding-top: 24px;
    opacity: 0.3;
    font-size: 13px;
}

.footer-social a svg {
    width: 1.2em;
    color: var(--color-white);
}

.footer-social {
    width: 0%;
}




/* ************************************* MEDIA */

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

    /* Hamburger menu _________________________________ */
    label .menu {
    position: absolute;
    left: -1.2em;
    top: 1em;
    
    width: 5em;
    height: 4.5em;
    
    border-radius: 50% 5% 5% 50%;
   
    transition: .5s ease-in-out;
    
    background-color: var(--color-white);
    box-shadow: -16px 16px 20px 6px var(--color-boxShadow);
    
    cursor: pointer;
    }

    label .hamburger {
        position: absolute;
        top: 2.3em;
        left: 1.5em;
        width: 1.5em;
        height: .15em;
        background: var(--color-redisch);
    }

    /* ruimte tussen strepen van ham */
    label .hamburger:before { 
        top: -8px;
    }
    label .hamburger:after { 
        bottom: -8px;
    }



    /* carousel _________________________________ */
    .carousel .card {
        padding: 0em;
    }
    /* comtainer opmaak */
    .carousel-container {
        top: -1em; 
    }
    .parallax svg{
        position: relative;
        top: -1em;
    }


    /* over ons _________________________________ */
    .over-wrapper {
        display: block;
    }
    .over-ons {
        width: 60%;
        padding: 10em 0em 0em;
    }
    .over-ons p {
        width: 100%;
    }
    .container-over .child:nth-of-type(2) {
        margin:0 ;
    }
    .container-over .child:nth-of-type(1) {
        margin:0 ;
    }
    /* stroke naast tekst "over ons" */
    .stroke{
        height: 0;
    }



    /* skills _________________________________ */
    .skills-wrapper {
        margin: 10em 0 0em;
    }
    .skills {
        padding: 4em 4em 4em;
    }
    .skills p {
        text-align: center;
        margin: auto;
        width: 100%;
    }
    .inhoud {
        display: block;   
        padding: 1.5em 15em;
    }
    .inhoud:nth-of-type(2) {
        display: flex;   
        flex-direction: column-reverse;
        gap: 0;
    }



    /* diensten _________________________________ */
    .diensten-box {
        display: block;
    }
    .diensten-wrapper {
        margin-bottom: 5em;
    }



    /* google map _________________________________ */
    #map {
        display: none;
    }
    /* grote in vul veld */
    .contact-us .column2 form {
        width: 100%;
    }

    

    /* footer _________________________________ */
    .footer-container .row-footer {
        gap: 2em;
    }
    /* opmaak container */
    .footer-container .row-footer {
        display: grid;
        text-align: center;
    }
    .footer-container .copyright {
        text-align: center;            
    }
    .columns-footer p {
        width: 70%;
        margin: auto;
    }
    .footer-social {
        width: 100%;
    }


}


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

    /* intro tekst _________________________________ */
    .introductie-tekst {
        display: none;
    }



    /* over ons _________________________________ */
    .over-ons {
        width: 70%;
        padding: 10em 0 0;
    }

    

    /* skills _________________________________ */
    .inhoud {
        padding: 1em;
    }

   

    /* tussen tekst _________________________________ */
    .sideText {
        columns: 1;
    }



    /* parallax _________________________________ */
    /* background image scrolt niet op mobiel */
    .parallax {
        background-attachment: local, scroll;
    }

}




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

    /* header _________________________________ */
    header nav .side-container {
        /* padding: 4em 4em; */
        padding: 5em 0em;
        margin-left: 3em;
        margin-right: 2.5em;
    }

     /* side container opmaak */
     header nav {
        min-height: 40em;

    }

    nav ul :after {
        bottom: 4em;
        left: 3em;
        content: '';
    }


    /* over ons _________________________________ */
    .over-ons {
        padding: 7em 0 0;
    }
    .over-ons p {
        font-size: 1rem;
    }


    /* skills _________________________________ */
    .skills p {
        font-size: 1rem;
    }
    .skills-wrapper {
        margin: 7em 0 0em;
    }



    /* contact _________________________________ */
    .container-max {
        text-align: justify;
        padding: 7em 0 7em;
        width: 75.5%;
    }



    /* diensten _________________________________ */
    .diensten {
        width: 66%;
        padding: 7em 0 5em;
    }


}