:root{
    --shadow-color: #0D1b2a;
    --primary-color: #1a2438;
    --secondary-color: #415a77;
    --beige0-color: #998d7d;
    --beige1-color: #ccc4b9;
    --beige2-color: #e7e2da;
    --text-colorlight: #fff;
    --text-colordark: #000;
    --fontweight: 400;
    --min-width: 360px;
}
* {
    margin: 0px;
    padding: 0px;
    font-family: 'anton', sans-serif;
    font-weight: var(--fontweight);
}


/* Mobile first css */
body {
    overflow-x:hidden;
    min-width: 350px;
    background-color: #000;
}
p{
    font-size: 16px;
}
a {
    color: white;
}
h1 {
    font-size: 30px;
}
h2 {
    font-size: 26px;
}
h3 {
 font-size: 18px;
}
header {
    z-index: 1;
    background-color: var(--shadow-color);
    color: var(--text-colorlight);
    min-width: var(--min-width);
    width: 100vw;
    height: 80px;
    position: fixed;
    display: inline;
}
.logo {
    height: 80px;
    margin: 0px 3px;
    width: auto;
    float: left;
}
#largeLogo {
    display: none;
}
#smallLogo {
    display: none;
}
.burgerIcon {
    float: right;
    height: 68px;
    width: 68px;
    margin: 0px 5px;
    padding: 12px 10px 0px 18px;
}
.bar {
    background-color: var(--text-colorlight);
}
#bar1, #bar2, #bar3 {
    width: 50px;
    height: 8px;
    margin: 8px 0;
    transition: 0.4s;
    border-radius: 5px;
}
.change #bar1 {
    transform: translate(0px, 16px) rotate(-45deg);
}
.change #bar2 {
    opacity: 0;
}
.change #bar3 {
    transform: translate(0, -16px) rotate(45deg);
}
.burgerIconActive {
    background-color: var(--beige1-color);
}

.blur {
    filter: blur(6px);
    transition: 0.3s;
}

#uitvouwMenu {
    display: none;
    position: absolute;
    top: 80px;
    float: right;
    min-width: 300px;
    width: 100vw;
    height: calc(100vh - 80px);
    min-width: 150px;
    text-align: center;
    font-size: 3.5vh;
    justify-content: center;
    justify-items: center;
}
.uitvouwContent {
    display: flex;
    flex-direction: column;
    background-color: #0d16259f;
    padding-top: 10px;
    width: 100vw;
    height: auto;
    justify-content: center;
    justify-items: center;
    align-items: center;
}
#uitvouwMenu a {
    text-decoration: none;
    justify-content: center;
    color: var(--text-colorlight);
    display: flex;
    width: 80vw;
    height: auto;
    padding: 5px;
    margin-bottom: 5px;
    border-radius: 25px;
    font-size: 22px;
}
#uitvouwMenu a:hover {
    color: var(--beige1-color);
    background-color: #0D1b2a9f;
}
.socials {
    width: 50vw;
    min-width: 200px;
    display: flex;
    flex-direction: row;
}
.navIcons {
    height: 5vh;
    margin: 5px;
    width: auto;
}
.menuFiller {
    height: 100%;
    width: 100%;
    background-color: none;
}

main {
    background-color: var(--secondary-color);
    color: var(--text-colorlight);
    min-width: var(--min-width);
    width: 100vw;
    min-height: calc(100vh - 100px);
    max-width: 100vw;
}
#hero {
    padding-top: 80px;
    min-height: 300px;
    min-width: var(--min-width);
    width: 100vw;
    height: calc(100vh - 80px);
    text-align: center;
    align-items: center;
    display: flex;
    flex-direction: column;
    background-color: var(--primary-color);
    margin-bottom: 50px;
}
#hero h2 {
    font-size: 6vh;
}
#hero h3 {
    font-size: 4vh;
    margin-bottom: 5px;
}
#hero h4 {
    font-size: 3vh;
    margin-bottom: 20px;
}
#hero h2, #hero h3 , #hero h4 {
    max-width: 80vw;
    text-shadow: 2px 2px 0px rgb(100, 100, 100);
}
.ctaOnHero {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-content: center;
    align-items: center;
}
.heroCta {
    display: flex;
    align-self: center;
    text-decoration: none;
    color: var(--text-colordark);
    background-color: var(--beige2-color);
    padding: 10px 20px;
    margin: 10px;
    border-radius: 10px;
    font-size: 22px;
    box-shadow: 4px 4px 1px var(--beige1-color);
}
.heroCta:hover {
    background-color: var(--secondary-color);
    color: var(--text-colorlight);
    box-shadow: 4px 4px 0px #31455c;
}
.heroCta:active {
    background-color: var(--secondary-color);
    box-shadow: inset 4px 4px 2px #31455c;
    transform: translate(4px, 4px);
}
.businessH4 {
    margin: 1px;
}
.businessCta {
    display: flex;
    text-decoration: none;
    color: var(--text-colordark);
    background-color: var(--beige2-color);
    padding: 5px 15px;
    margin: 1px;
    width: 100%;
    border-radius: 10px;
    font-size: 22px;
    box-shadow: 4px 4px 1px var(--beige1-color);
    justify-self: center;
    align-self: center;
}
.businessCta:hover {
    background-color: var(--secondary-color);
    color: var(--text-colorlight);
    box-shadow: 4px 4px 0px #31455c;
}
.businessCta:active {
    background-color: var(--secondary-color);
    box-shadow: inset 4px 4px 2px #31455c;
    transform: translate(4px, 4px);
}
#hero h1 {
    font-size: 30px;
}
section {
    display: flex;
    justify-content: center;
}
section[id] {
    scroll-margin-top: 130px;
}
.container {
    margin-bottom: 50px;
    padding: 2.5vw;
    width: 80vw;
    min-height: 200px;
    box-shadow: inset 6px 6px 3px var(--beige1-color);
    background-color: var(--beige2-color);
    text-align: center;
    border-radius: 20px;
    color: var(--text-colordark);
}
.kennismakingCTA {
    display: flex;
    width: calc(100% - 30px);
    justify-content: center;
    align-content: center;
    justify-self: center;
    text-decoration: none;
    color: var(--text-colorlight);
    font-size: 20px;
    border-radius: 15px;
    background-color: var(--secondary-color);
    padding: 5px 15px;
    margin: 10px 0px;
    box-shadow: 4px 4px 0px#31455c;
}
.kennismakingCTA:hover {
    background-color: var(--primary-color);
    box-shadow: 4px 4px 0px var(--shadow-color);
}
.kennismakingCTA:active {
    background-color: var(--secondary-color);
    box-shadow: inset 4px 4px 2px var(--shadow-color);
    transform: translate(4px, 4px);
}



.werkwijzeStap {
    display: flex;
    flex-direction: column;
    background-color: var(--beige1-color);
    width: 100%;
    border-radius: 13.5px;
    margin: 10px 0px;
    box-shadow: 3px 3px 2px var(--beige0-color);
}
.werkwijzeTitel {
    display: flex;
    flex-direction: row;
    justify-content: end;
    text-align: center;
    width: 100%;
}
#werkwijze h2 {
    padding: 5px 10px 0px 10px;
}
#werkwijze h3 {
    justify-self: center;
    padding: 0px 10px;
    width: 100%;
    height: 100%;
}
#werkwijze a {
    color: var(--text-colordark);
}
#werkwijze p {
    margin: 10px 0px;
}
.werkwijzeButton {
    display: flex;
    float: right;
    rotate: 45deg;
    translate: -3px -1.5px;
    height: calc(min-content - 20px);
    aspect-ratio: 1/1;
    margin: 6px;
    border: solid var(--text-colordark);
    border-width: 0px 6px 6px 0px;
    border-color: var(--text-colordark);
    padding: 5px;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    border-top-right-radius: 5px;
    transition: 0.4s;
}
.werkwijzeUitvouwbaar {
    width: 100%;
    display: none;
    height: 0px;
    transition: 0.3s;
    z-index: 0;
    padding: 0px 20px;
}
.werkwijzeUitvouwbaar p {
    width: calc(100% - 30px);
}
.werkwijzeUitgevouwd {
    display: flex;
    z-index: 5;
    height: auto;
}
.wwActive.werkwijzeButton {
    rotate: 225deg;
    translate: -3px 1.5px;
}
    



#abcardContainer {
    display: flex;
    flex-direction: column;
}
.abcard {
    background-color: var(--beige1-color);
    border-radius: 25px;
    display: block;
    min-height: 100px;
    margin: 20px;
    padding: 10px;
    width: calc(100% - 60px);
    box-shadow: 4px 4px 2px var(--beige0-color);
}
.abtitle {
    font-size: 30px;
}
.abtext {
    font-size: 16px;
}
.abprice {
    margin-top: 10px;
    font-size: 20px;
}



#testicontainer {
    display: flex;
    flex-direction: column;
    margin-bottom: 10px;
}
.testicard {
    background-color: var(--beige1-color);
    width: calc(100% - 20px);
    margin: 10px;
    border-radius: 30px;
    min-height: 500px;
    box-shadow: 4px 4px 3px var(--beige0-color);
}
.testipic {
    width: calc(100% - 20px);
    aspect-ratio: 1 / 1;
    margin: 10px 10px 0px 10px;
    border-radius: 20px;
    object-fit: cover;
}
#testimonials a {
    display: flex;
    width: min-content;
    color: var(--text-colorlight);
    font-size: 20px;
    background-color: var(--secondary-color);
    padding: 10px 20px;
    border-radius: 10px;
    margin: 0px 10px;
    box-shadow: 4px 4px var(--primary-color);
    text-decoration: none;
}
#testimonials a:active {
    translate: 4px 4px;
    box-shadow: inset 4px 4px var(--primary-color);
}
.testiname {
    font-size: 30px;
}
.testimonial {
    margin: 0px 10px 10px 10px;
    font-size: 24px;
}
.testibtn {
    display: flex;
    flex-direction: row;
    justify-self: center;
    margin-bottom: 20px;
}


.zakelijkCta {
    display: flex;
    width: calc(100% - 30px);
    justify-self: center;
    align-content: center;
    justify-content: center;
    text-decoration: none;
    color: var(--text-colorlight);
    background-color: var(--secondary-color);
    padding: 5px 15px;
    margin: 10px;
    border-radius: 10px;
    font-size: 18px;
    box-shadow: 4px 4px 1px #31455c;
}
.zakelijkCta:hover {
    background-color: var(--primary-color);
    color: var(--text-colorlight);
    box-shadow: 4px 4px 0px var(--shadow-color);
}
.zakelijkCta:active {
    background-color: var(--secondary-color);
    box-shadow: inset 4px 4px 2px #31455c;
    transform: translate(4px, 4px);
}






.contactTypes {
    display: flex;
    flex-direction: column;
}
.contact {
    width: calc(100% - 40px);
    border-radius: 20px;
    box-shadow: 4px 4px 2px var(--beige0-color);
    margin: 10px;
    padding: 10px;
}
.contact h2{
    font-size: 28px;
}
#contactP {
    background-color: var(--beige1-color);
}
#contactZ {
    background-color: var(--beige1-color);
}
.contactLinks {
    display: flex;
    flex-direction: column;
}
.contactLinks a {
    color: var(--text-colordark);
    font-size: 20px;
}






footer {
    background-color: var(--primary-color);
    color: var(--text-colorlight);
    min-width: var(--min-width);
    width: 100vw;
    box-shadow: inset 0px 10px 2px var(--shadow-color);
    justify-items: center;
}
.footerContentParent {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100vw;
    padding-top: 15px;
}
.footerContent {
    width: 80vw;
    height: 100%;
    min-height: 100px;
    display: flex;
    flex-direction: column;
}
.footerBottom {
    font-size: 18px;
}
footer ul {
    list-style-type: none;
    text-align: center;
}
footer ul li {
    margin: 5px 0px;
}
footer h1 {
    font-size: 30px;
}
.footerNav a {
    text-decoration: none;
    color: var(--text-colorlight);
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 16px;
}
.footerBottom {
    display: flex;
    width: 100vw;
    text-align: center;
    justify-content: center;
    align-items: center;
    font-size: 4px;
}
.footerNav a:hover {
    color: var(--beige1-color);
}
#footerStartblock, #footerMiddleblock, #footerEndblock {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    margin-bottom: 15px;
}
#footerMiddleblock ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 10px;
}
#footerMiddleblock li {
    margin: 0px 10px;
}
#footerMiddleblock img {
    height: 35px;
}


#footerMiddleBlock {
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.footerJuridisch {
    text-align: center;
    margin-top: 20px;
}
.footerJuridisch ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.footerJuridisch li {
    margin: 8px 0;
    display: flex;
    flex-direction: column;
}
.footerJuridisch a {
    display: flex;
    flex-direction: column;
}



@media (max-width: 767px) {
    #testicontainer .testicard:not(:first-child) {
        display: none;
    }
    #contact a {
        font-size: 20px;
    }
    .werkwijzeTitel {
        padding: 5px 0px;
    }
    #footerStartblock {
        display: none;
    }
    #smallLogo {
        display: flex;
    }
}


@media (max-width: 450px) {
    #testicontainer .testicard:not(:first-child) {
        display: none;
    }
    #contact a {
        font-size: 15px;
    }
}




/* Tablet and larger devices */
@media (min-width: 768px) {
    section[id] {
        scroll-margin-top: 150px;
    }
    h1 {
        font-size: 42px;
    }
    h2 {
        font-size: 38px;
    }
    h3 {
        font-size: 28px;
    }
    p {
        font-size: 20px;
    }
    header {
        height: 100px;
    }
    .logo {
        height: 100px;
        margin: 0px 10px;
    }
    #largeLogo {
        display: flex;
    }
    .burgerIcon {
        float: right;
        height: 70px;
        width: 70px;
        margin: 0px 8px 0px 0px;
        padding: 15px 23px;
    }
    #bar1, #bar2, #bar3 {
        width: 65px;
        height: 10px;
        background-color: var(--text-colorlight);
        margin: 10px 0;
        transition: 0.4s;
        border-radius: 5px;
    }
    .change #bar1 {
        transform: translate(0, 20px) rotate(-45deg);
    }
    .change #bar2 {
        opacity: 0;
    }
    .change #bar3 {
        transform: translate(0, -20px) rotate(45deg);
    }
    #uitvouwMenu {
        top: 100px;
        height: calc(100vh - 100px);
        font-size: 5vh;
    }
    #uitvouwMenu a {
        font-size: 30px;
        width: 50vw;
        margin-bottom: 5px;
    }
    .navIcons {
        height: 5.5vh;
        width: auto;
        margin: 5px;
    }
    #hero {
        padding-top: 100px;
    }
    #hero h2 {
        font-size: 8vh;
        margin-bottom: 5px;
    }
    #hero h3 {
        font-size: 6vh;
        margin-bottom: 10px;
    }
    #hero h4 {
        font-size: 4vh;
        margin-bottom: 20px;
    }
    #hero h2, #hero h3, #hero h4 {
        max-width: 80vw;
    }
    .heroCta {
        font-size: 24px;
        padding: 15px 30px;
        margin: 15px;
    }
    .ctaOnHero {
        flex-direction: row;
    }
    .kennismakingCTA {
        width: calc(100% - 40px);
        font-size: 25px;
        padding: 10px 20px;
        margin: 10px 10px 0px 10px;
    }





    .werkwijzeButton {
        display: flex;
        rotate: 45deg;
        height: 8px;
        border-width: 0px 8px 8px 0px;
        border-bottom-right-radius: 8px;
        border-bottom-left-radius: 8px;
        border-top-right-radius: 8px;
    }
    .werkwijzeUitvouwbaar {
        width: 100%;
        display: none;
        height: 0px;
        z-index: 0;
    }
    .werkwijzeUitgevouwd {
        display: flex;
        z-index: 5;
        height: auto;
    }

    .wwActive.werkwijzeButton {
        rotate: 225deg;
        translate: -2px 3px;
    }



    #abcardContainer {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
    }
    .abcard {
        display: flex;
        flex-direction: column;
        width: calc(50% - 60px);
        max-width: 500px;
        box-sizing: border-box;
    }
    .abtext {
        font-size: 18px;
    }
    .abprice {
        align-self: center;
        vertical-align: bottom;
        font-size: 24px;
    }


    
    #testicontainer {
        flex-direction: row;
        flex-wrap: wrap;
    }
    .testicard {
        width: calc((100% - 120px)/3);
        margin: 20px 20px;
        border-radius: 50px;
        min-height: 100px;
    }
    .testicard:first-child, .testicard:last-child {
        opacity: 20%;
        filter: blur(4px);
    }
    .testipic {
        width: calc(100% - 40px);
        margin: 20px 20px 0px 20px;
        border-radius: 30px;
    }
    .testiname {
        font-size: 40px;
    }
    .testimonial {
        font-size: 24px;
        margin: 0px 20px 20px 20px;
    }
    #testimonials a {
        font-size: 30px;
        border-radius: 20px;
    }


    .zakelijkCta {
        width: calc(100% - 40px);
        padding: 10px 20px;
        margin: 10px;
        font-size: 22px;
    }



    .contact {
        width: calc(50% - 80px);
        margin: 20px;
        padding: 20px;
    }
    .contactTypes {
        display: flex;
        flex-direction: row;
    }
    .contact h2{
        font-size: 36px;
    }
    .contactLinks a {
        font-size: 28px;
    }





    footer {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
    .footerContentParent {
        flex-direction: row;
        align-items: stretch;
    }
    .footerContent {
        align-items: center;
        justify-content: flex-start;
        height: 100%;
        min-height: 200px;
    }
    #footerStartblock,
    #footerMiddleblock,
    #footerEndblock {
        height: 100%;
        min-height: 200px;
    }
    footer h1 {
        font-size: 40px;
    }
    #footerStartblock {
        margin-left: 5vw;
    }
    #footerEndblock {
        margin-right: 5vw;
        flex-direction: column;
    }
    .footerBottom {
        font-size: 14px;
    }
}


/* Desktop and larger devices */
@media (min-width: 1024px) {
    h1 {
        font-size: 48px;
    }
    p {
        font-size: 24px;
    }
    header {
        height: 100px;
    }
    .logo {
        height: 100px;
        margin: 0px 10px;
    }
    #hero {
        min-height: 300px;
        min-width: 300px;
    }
}

@media (min-width: 1500px) {
    .testimonial {
        font-size: 28px;
        margin: 0px 20px 20px 20px;
    }
}