* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    font-family: "roboto cn", sans-serif;
    font-size: 10px;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
    overflow-x: hidden;
    max-width: 100vw;
}

body {
    position: relative;
    overflow-x: hidden;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

body::-webkit-scrollbar {
    display: none;
}

a {
    text-decoration: none;
}

.container {
    padding-top: 82px;
    min-height: 100vh;
}

.titel {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 30px 0;
    font-size: 1.8em;
    text-align: right;
}
.titel #rechts {
    width: 15%;
    margin: 0 0 0 10px;
    height: 4px;
    border-radius: 5px;
    background: linear-gradient(90deg, rgb(82, 115, 77) 0%, rgba(255, 255, 255, 0) 100%);
}
.titel #links {
    width: 15%;
    margin: 0 10px 0 0;
    height: 4px;
    border-radius: 5px;
    background: linear-gradient(270deg, rgb(82, 115, 77) 0%, rgba(255, 255, 255, 0) 100%);
}

/* Header */
#header {
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100vw;
    height: auto;
    background-color: rgba(82, 115, 77, 0.95);
}
#header .header {
    min-height: 8vh;
    transition: .3s background-color;
}
#header .logo a img {
    height: 80px;
}
#header .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    padding: 0 10px;
}
#header .links ul {
    list-style: none;
    position: absolute;
    background-color: rgb(82, 115, 77);
    width: 100vw;
    height: 100vh;
    left: 100%;
    top: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 1;
    overflow-x: hidden;
    transition: .5s left;
}
#header .links ul.active {
    left: 0;
}
#header .links ul a {
    font-size: 2.5rem;
    font-weight: 500;
    letter-spacing: .2rem;
    text-decoration: none;
    color: white;
    text-transform: uppercase;
    padding: 20px;
    display: block;
}
#header .links ul a::after {
    content: attr(data-after);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0);
    color: rgba(240, 248, 255, 0.021);
    font-size: 13rem;
    letter-spacing: 30px;
    z-index: -1;
    transition: .3s letter-spacing;
}
#header .links ul li:hover a::after {
    transform: translate(-50%, -50%) scale(1);
    letter-spacing: initial;
}
#header .links ul li:hover a {
    color: #ddffbc;
}
#header .hamburger {
    height: 60px;
    width: 60px;
    display: inline-block;
    border: 3px solid #fff;
    border-radius: 10px;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
    cursor: pointer;
    transform: scale(.8);
    margin-right: 10px;
}
#header .hamburger .bar {
    height: 2px;
    width: 30px;
    position: relative;
    background-color: #fff;
    z-index: -1;
}
#header .hamburger .bar::after,
#header .hamburger .bar::before {
    content: '';
    position: absolute;
    height: 100%;
    width: 100%;
    left: 0;
    background-color: #fff;
    transition: .3s;
    transition-property: top, bottom;
}
#header .hamburger .bar::after {
    top: 8px;
}
#header .hamburger .bar::before {
    bottom: 8px;
}
#header .hamburger.active .bar::after {
    top: 0;
}
#header .hamburger.active .bar::before {
    bottom: 0;
}

/* Einde Header */








/* Welkom */


#welkom .banner1, #welkom .banner2, #welkom .banner3, #welkom .banner4, #welkom .banner5 {
    height: 100vh;
    width: 100%;
    position: absolute;
    left: 0;
    top: 0;
}
#welkom .animatie {
    transition: fade-in 1s;
}
#welkom .foto {
    position: relative;
    height: 100vh;
    width: auto;
    transform: translate(-50%, -50%);
    animation: zoomin 10s ease-out infinite;
    z-index: -1;
}
#welkom .img1 {
    background: url("img/Los\ consult.JPG") center;
    background-size: cover;
}
#welkom .img2 {
    background: url("img/Puppy\ pakket.jpg") center;
    background-size: cover;
}
#welkom .img3 {
    background: url("img/Uitvallen\ pakket.jpeg") center;
    background-size: cover;
}
#welkom .img4 {
    background: url("img/Loslopen\ pakket.jpg") center;
    background-size: cover;
}
#welkom .img5 {
    background: url("img/strand.jpeg") center;
    background-size: cover;
}
#welkom .img1::after, #welkom .img2::after, #welkom .img3::after, #welkom .img4::after, #welkom .img5::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: black;
    opacity: 0.28;
    z-index: -2;
}
@keyframes zoomin {
    0% {
      transform: scale(1);
    }
    50% {
        /* Changed to 1.25 */
        transform: scale(1.05);
      }
    100% {
      /* Changed to 1.25 */
      transform: scale(1);
    }
  }
#welkom .animatie {
    -webkit-animation-name: fade;
    -webkit-animation-iteration-count: infinite;
    -webkit-animation-duration: 50s;
    -webkit-animation-fill-mode: initial;
    animation-fill-mode: initial;
    animation-name: fade;
    animation-iteration-count: infinite;
    animation-duration: 50s;
}
@-webkit-keyframes fade {
    0% {opacity: 0;}
    5% {opacity: 1;}
    25% {opacity: 1;}
    30% {opacity: 0;}
    100% {opacity: 0;}
}
@keyframes fade {
    0% {opacity: 0;}
    5% {opacity: 1;}
    25% {opacity: 1;}
    30% {opacity: 0;}
    100% {opacity: 0;}
}
#welkom .text-box {
    width: 70%;
    position: absolute;
    padding: 10px;
    border-radius: 10px;
    top: 60vh;
    left: 15px;
    color: #fff;
    z-index: 2;
}
#welkom .text-box h1 {
    font-size: 1.8em;
    margin-bottom: 10px;
}
#welkom .text-box span {
    background: rgba(82, 115, 77, 1);
    height: 2px;
    width: 100px;
    position: absolute;
}
#welkom .text-box p {
    font-size: 1.3em;
    line-height: 16px;
    margin-top: 20px;
}
#welkom .banner2 {
    -webkit-animation-delay: -40s;
}
#welkom .banner3 {
    -webkit-animation-delay: -30s;
}
#welkom .banner4 {
    -webkit-animation-delay: -20s;
}
#welkom .banner5 {
    -webkit-animation-delay: -10s;
}

/* Einde welkom */






/* Over mij */

#overmij {
    position: relative;
    z-index: 20;
    background-color: white;
}
#overmij .box {
    margin: 20px auto;
    width: 90%;
    height: auto;
}
#overmij .box .tekst {
    font-size: 1.3em;
    line-height: 20px;
}
#overmij .box .afbeelding {
    margin: 45px auto;
    display: flex;
    align-items: center;
    justify-content: center;   
    gap: 10px; 
}

#overmij .box .afbeelding img{
    width: 45vw;
    border-radius: 10px;
    box-shadow: 0px 3px 20px 0px #00000094;
}

#overmij .figuur {
    position: absolute;
    z-index: -10000;
    top: 200px;
    left: -90%;
    height: 500px;
    width: 500px;
    border-radius: 50%;
    background: rgba(82, 115, 77, 0.35);
}

/* Einde over mij */




/* Verzekeren */

#verzekeren {
    position: relative;
    z-index: 20;
    background-color: white;
}
#verzekeren .box {
    margin: 20px auto;
    width: 90%;
    height: auto;
}
#verzekeren .box .tekst {
    font-size: 1.3em;
    line-height: 20px;
}
#verzekeren .box .afbeelding {
    margin: 45px auto;
    display: flex;
    align-items: center;
    justify-content: center;   
    gap: 10px; 
}

#verzekeren .box .afbeelding img{
    width: 55vw;
    border-radius: 10px;
    box-shadow: 0px 3px 20px 0px #00000094;
}

#verzekeren .figuur {
    position: absolute;
    z-index: -10000;
    top: 200px;
    right: -90%;
    height: 500px;
    width: 500px;
    border-radius: 50%;
    background: rgba(82, 115, 77, 0.35);
}

/* Einde Verzekeren */






/* Aanbod */

#aanbod {
    padding-bottom: 50px;
}

#aanbod .uitleg {
    margin: 0 auto;
    padding-bottom: 20px;
    width: 90%;
    font-size: 1.5em;
    color: rgb(82, 115, 77);
    line-height: 20px;
}

#aanbod .tekstvak {
    width: 80%;
    margin: 0 auto;
    padding: 40px 0 0 0;
}

#aanbod .onderwerp {
    font-size: 1.6em;
    font-weight: 600;
}

#aanbod .tekst {
    font-size: 1.3em;
    line-height: 20px;
}

#aanbod .figuur {
    position: absolute;
    z-index: -10000;
    top: 2000px;
    right: -110%;
    height: 600px;
    width: 600px;
    border-radius: 50%;
    background: rgba(82, 115, 77, 0.35);
}

/* Einde Aanbod */






/* Prijzen */

#prijzen .voorwoord {
    margin: 0 auto;
    padding: 10px 0 0 0;
    width: 90%;
    font-size: 1.5em;
    color: rgb(82, 115, 77);
    line-height: 20px;
}

#prijzen .box {
    width: 85%;
    margin: 0 auto;
    padding: 20px 0;
}

#prijzen .box .vak {
    padding: 30px 0;
}

#prijzen .box .vaktitel {
    font-size: 1.6em;
    font-weight: 600;
    padding-bottom: 15px;
}

#prijzen .box .product {
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
}
#prijzen .box .kilometer {
    color: rgb(82, 115, 77)
}

#prijzen .box .product .onderwerp {
    font-size: 1.4em;
}

#prijzen .box .product .prijs {
    font-size: 1.4em;
    text-align: right;
}

#prijzen .box .extra {
    font-size: 1.1em;
    margin-top: -10px;
    color: rgb(82, 115, 77);
}

#prijzen .uitleg {
    margin: 0 auto;
    padding: 15px 0 60px 0;
    width: 90%;
    font-size: 1.2em;
    font-style: italic;
    color: rgb(82, 115, 77);
    line-height: 15px;
}

#prijzen .figuur {
    position: absolute;
    z-index: -10000;
    top: 2950px;
    left: -80%;
    height: 400px;
    width: 400px;
    border-radius: 50%;
    background: rgba(82, 115, 77, 0.35);
}

/* Einde Prijzen */




/* Contact */

#contact .contact {
    padding-bottom: 15vh;
}
#contact .contact .top-area {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    align-items: center;
    max-width: 1000px;

    margin-bottom: 20px;
}
#contact .contact .top-area > div, #contact .contact .top-area > a {
    display: flex;
    justify-content: center;
    align-items: center;

    margin: 10px 0;

    width: 50rem;

    font-size: 1.25rem;
    color: rgb(82, 115, 77);
}
#contact .contact .top-area > div > i, #contact .contact .top-area > a > i {
    margin-right: 5px;
    font-size: 1.8rem;
    color: rgb(82, 115, 77);
}

#contact .contact .contact-form {
    display: flex;
    flex-direction: column;
    align-items: center;
}
#contact .contact .contact-form .form-row {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 10px;
}
#contact .contact .contact-form .form-row > div {
    width: 100%;
}
#contact .contact .contact-form .form-group {
    width: 100%;
    max-width: 250px;
    padding: 5px 0;
}
#contact .contact .contact-form .form-group > div {
    display: flex;
    flex-direction: column;
}
#contact .g-recaptcha {
    margin: 10px 0;
}
#contact .error {
    color: red;
    font-size: 0.9rem;
}
#contact .recaptcha-error {
    margin-bottom: 15px;
}
#contact .contact .contact-form label {
    font-size: 1.3rem;
    margin-bottom: 2px;
}
#contact .contact .contact-form textarea {
    resize: vertical;
}
#contact .contact .contact-form input,
#contact .contact .contact-form select,
#contact .contact .contact-form textarea {
    width: 100%;
    padding: 12px 20px;
    margin: 8px 0 4px;
    display: inline-block;
    border: 1px solid rgb(82, 115, 77);
    border-radius: 4px;
    box-sizing: border-box;

    font-family: "roboto cn", sans-serif;
}
#contact .contact .contact-form #form-success {
    background-color: rgba(82, 115, 77, 0.35);
    padding: 5px 10px;
    font-size: 1.2rem;
    margin: 10px 0;

    display: none;
}
#contact .contact .contact-form .form-button {
    color: white;
    font-size: 16px;
    border: none;
    padding: 1rem 1.2rem;
    background-color: #96aa95;
    border-radius: 10px;
}
#contact .contact .contact-form .form-button:hover {
    cursor: pointer;
}

#contact .figuur2 {
    position: absolute;
    z-index: -10000;
    bottom: 25vh;
    right: -85%;
    height: 400px;
    width: 400px;
    border-radius: 50%;
    background: rgba(82, 115, 77, 0.35);
}



#contact .footer {
    bottom: 0;
}
#contact .footer .figuren {
    display: flex;
    align-items: center;
    justify-content: center;
}
#contact .footer .figuren .figuur {
    position: absolute;
    margin: 0 auto;
    z-index: -10000;
    bottom: 0;
    height: 10vh;
    width: 150vw;
    border-radius: 50%;
    background: rgb(82, 115, 77);
}
#contact .footer .figuren .figuur1 {
    position: absolute;
    z-index: -10001;
    bottom: 0;
    left: 0;
    height: 50px;
    width: 100%;
    background: rgb(82, 115, 77);
}
#contact .footer .tekst {
    position: absolute;    
    bottom: 5vh;
    width: 100%;
    text-align: center;
    font-size: 1.2em;
    font-weight: 600;
}
#contact .footer .tekst img {
    margin-bottom: -6px;
    height: 100%;
    width: 60px;
}
#contact .footer .tekst a {
    color: black;
}
#contact .footer .copyright {
    position: absolute;
    bottom: 10px;
    width: 100%;
    text-align: center;
    font-size: 1.2em;
}

/* Einde contact */





/* VOORWAARDEN */

#voorwaarden .artikel {
    padding: 30px 0;
}
#voorwaarden .artikel .onderwerp {
    width: 90%;
    margin: 0 auto;
    padding: 8px 0;

    font-size: 1.5em;
    font-weight: 600;
}
#voorwaarden .artikel .regels {
    display: flex;
    flex-direction: row;

    width: 90%;
    margin: 0 auto;
    padding-bottom: 5px;
}
#voorwaarden .artikel .nummer {
    padding-right: 7px;
    color: rgb(82, 115, 77);
    font-size: 1.3em;
    line-height: 18px;
}
#voorwaarden .artikel .regel {
    font-size: 1.3em;
    line-height: 18px;
    text-decoration: none;
    color: #000;
}
#voorwaarden .einde {
    padding-bottom: 130px;
}

/* EINDE VOORWAARDEN */











/* Media queries */



    /* IPAD */

        @media only screen and (min-width:768px) {
            html {
                font-size: 13px;
            }
            .titel {
                padding: 60px 0;
            }


            /* header */
            #header .logo a img {
                height: 115px;
            }
            #header .hamburger {
                height: 80px;
                width: 80px;
            }
            #header .hamburger .bar {
                height: 3px;
                width: 40px;
            }
            #header .hamburger .bar::after {
                top: 12px;
            }
            #header .hamburger .bar::before {
                bottom: 12px;
            }
            /* einde header */


            /* welkom */
            #welkom .text-box {
                width: 42%;
                top: 60vh;
            }
            #welkom .text-box span {
                height: 3px;
                width: 120px;
            }
            #welkom .text-box p {
                line-height: 20px;
                margin-top: 25px;
            }
            /* einde welkom */


            /* overmij */
            #overmij .box .tekst {
                line-height: 25px;
            }
            #overmij .box .afbeelding {
                margin: 60px auto;
            }
            #overmij .figuur {
                top: 250px;
                left: -45%;
                height: 550px;
                width: 550px;
            }
            /* einde overmij */

/* verzekeren */
            #verzekeren .box .tekst {
                line-height: 25px;
            }
            #verzekeren .box .afbeelding {
                margin: 60px auto;
            }
            #verzekeren .figuur {
                top: 250px;
                right: -45%;
                height: 550px;
                width: 550px;
            }
            /* einde verzekeren */




            /* aanbod */
            #aanbod .uitleg {
                line-height: 25px;
            }
            #aanbod .tekst {
                line-height: 25px;
            }
            #aanbod .figuur {
                top: 2450px;
                right: -55%;
                height: 700px;
                width: 700px;
            }
            /* einde aanbod */


            /* prijzen */
            #prijzen .voorwoord {
                line-height: 25px;
            }
            #prijzen .uitleg {
                padding: 30px 0 60px 0;
                line-height: 20px;
            }
            #prijzen .figuur {
                top: 3450px;
                left: -45%;
                height: 500px;
                width: 500px;
            }
            /* einde prijzen */


            /* contact */
            #contact .contact .contact-form .form-row {
                flex-direction: row;
            }
            #contact .contact .top-area {
                flex-direction: row;
                margin-bottom: 50px;
            }
            #contact .contact .top-area > div, #contact .contact .top-area > a {
                flex-direction: column;
                margin: 0;
            }
            #contact .contact .contact-form .form-group {
                max-width: 500px;
            } 
            #contact .contact .contact-form input,
            #contact .contact .contact-form select,
            #contact .contact .contact-form textarea {
                font-size: 1.2rem;
            }
            #contact .figuur2 {
                bottom: 25vh;
                right: -43%;
                height: 500px;
                width: 500px;
            }            
            /* einde contact */




            /* voorwaarden */
            #voorwaarden .artikel .nummer {
                line-height: 23px;
            }
            #voorwaarden .artikel .regel {
                line-height: 23px;
            }
            #voorwaarden .einde {
                padding-bottom: 180px;
            }
            /* einde voorwaarden */


        }

    /* EINDE IPAD */






    /* DESKTOP */


    @media only screen and (min-width: 1200px) {
        html {
            font-size: 12px;
        }
        .container {
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: column;
        }
        .titel {
            padding: 6vh;
        }
        .titel #rechts {
            width: 80px;
        }
        .titel #links {
            width: 80px;
        }


        /* header */
        #header {
            display: flex;
            justify-content: center;
        }
        #header .header {
            max-width: 90%;
        }
        #header .logo a img {
            height: 95px;
        }
        #header .hamburger {
            display: none;
        }
        #header .links ul {
            position: initial;
            display: block;
            height: auto;
            width: fit-content;
            background-color: transparent;
        }
        #header .links ul li {
            display: inline-block;
        }
        #header .links ul li a {
            font-size: 1.5rem;
            letter-spacing: 3px;
        }
        #header .links ul a:after {
            display: none;
        }
        /* einde header */


        /* welkom */
        #welkom .img1::after, #welkom .img2::after, #welkom .img3::after, #welkom .img4::after, #welkom .img5::after {
            opacity: 0.35;
        }
        #welkom .text-box {
            padding-left: 8vw;
            width: 40%;
            top: 60vh;
        }
        #welkom .banner3 .text-box {
            width: 30%;
        }
        #welkom .text-box span {
            height: 3px;
            width: 120px;
        }
        #welkom .text-box p {
            line-height: 20px;
            margin-top: 25px;
        }
        /* einde welkom */


        /* overmij */
        #overmij .box {
            margin: 6vh auto;
            max-width: 1300px;
            display: flex;
            align-items: center;
            justify-content: center;
            flex-direction: row-reverse;
        }
        #overmij .box .tekst {
            max-width: 535px;
            line-height: 25px;
        }
        #overmij .box .afbeelding {
            flex-direction: row;
            margin: 0 50px 0 0;
            gap: 20px;
        }
        #overmij .box .afbeelding img {
            width: 300px;
        }
        #overmij .figuur {
            top: 45vh;
            left: -450px;
            height: 650px;
            width: 650px;
        }
        /* einde overmij */


/* verzekeren */
            #verzekeren .box .tekst {
                line-height: 25px;
            }
            #verzekeren .box .afbeelding {
                margin: 60px auto;
            }
            #verzekeren .figuur {
                top: 250px;
                right: -45%;
                height: 550px;
                width: 550px;
            }
            /* einde verzekeren */



        /* aanbod */
        #aanbod {
            max-width: 1400px;
            margin: 0 auto;
        }
        #aanbod .uitleg {
            line-height: 23px;
            text-align: center;
        }
        #aanbod .tekst {
            line-height: 23px;
        }
        #aanbod .figuur {
            top: 240vh;
            right: -500px;
            height: 700px;
            width: 700px;
        }
        /* einde aanbod */


        /* prijzen */
        #prijzen {
            max-width: 1400px;
            margin: 0 auto;
        }
        #prijzen .voorwoord {
            text-align: center;
            line-height: 23px;
        }
        #prijzen .box {
            padding: 4vh 0;
        }
        #prijzen .box .vak {
            padding: 45px 0;
        }
        #prijzen .uitleg {
            padding: 30px 0 60px 0;
            line-height: 18px;
            text-align: center;
        }
        #prijzen .figuur {
            top: 360vh;
            left: -400px;
            height: 500px;
            width: 500px;
        }
        /* einde prijzen */


        /* contact */
        #contact {
            max-width: 1400px;
            margin: 0 auto;
        }
        #contact .contact {
            padding-bottom: 15vh;
        } 
        #contact .contact .top-area > div > i, #contact .contact .top-area > a > i {
            margin-bottom: 5px;
        }
        #contact .figuur2 {
            bottom: 20vh;
            right: -400px;
            height: 500px;
            width: 500px;
        }
        
        #contact .footer .tekst, #contact .footer .copyright {
            max-width: 1400px;
        }
        /* einde contact */




        /* voorwaarden */
        #voorwaarden {
            max-width: 1400px;
            margin: 0 auto;
        }
        #voorwaarden .container {
            align-items: unset;
        }
        #voorwaarden .artikel .nummer {
            line-height: 20px;
        }
        #voorwaarden .artikel .regel {
            line-height: 20px;
        }
        #voorwaarden .einde {
            padding-bottom: 20vh;
        }
        /* einde voorwaarden */


    }


    /* EINDE DESKTOP */



/* Einde Media queries */