/* --------------------------------- */
/*          General Styling          */
/* --------------------------------- */
#kolommen h2 {
    margin-bottom: 15px;
}
#kolommen p + h2 {
    margin-top: 30px;
}
#kolommen p + a {
    margin-top: 20px;
}
#kaartkolom {
    box-shadow: 2px 2px 30px rgba(0, 0, 0, 0.15);
    border-radius: 10px;
    overflow: hidden;
    position: relative;
}
#kaartkolom .contact-informatie {
    padding: 50px;
}
#kaartkolom iframe {
    aspect-ratio: inherit;
    width: 100%;
}
#kolommen h3 {
    margin-bottom: 30px;
}
#design-element {
    width: 200px;
    position: absolute;
    bottom: 0px;
    right: 0px;
}
.invul-veld {
    display: flex;
    flex-flow: column;
}
form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 30px 50px;
}
.form-kolommen {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px 50px;
}
label {
    font-family: 'Satoshi', sans-serif;
    font-size: 18px;
    margin-bottom: 10px;
}
input {
    height: 50px;
    border-radius: 10px;
    padding: 0px 10px;
    font-family: 'Satoshi', sans-serif;
    font-size: 18px;
}
input, textarea {
    border: 2px solid #003232;
    transition: border-color 0.3s;
    outline: none;
}
textarea {
    height: 150px;
    border-radius: 10px;
    resize: vertical;
    padding: 10px;
    font-family: 'Satoshi', sans-serif;
    font-size: 18px;
}
input:focus, textarea:focus {
    border: 2px solid #00E267;
}
#indien-knop {
    background-color: #00E267;
    border: 2.5px solid #00E267;
    transition: background-color 0.3s, border-color 0.3s;
    font-weight: 500;
    height: fit-content;
}
#indien-knop:hover {
    background-color: #00e26600;
    border: 2.5px solid #003232;
    cursor: pointer;
}
.contact-informatie a {
    text-decoration: none;
    color: #003232;
    transition: color 0.3s;
}
.contact-informatie a:hover {
    color: #00E267;
}
/* ------------------------------------ */
/*          Responsive Styling          */
/* ------------------------------------ */
@media screen and (max-width: 850px) {
    #kaartkolom iframe {
        height: 300px;
        width: 100%;
    }
    label {
        font-size: 16px;
    }
    input {
        height: 40px;
        font-size: 16px;
    }
    textarea {
        height: 120px;
        font-size: 16px;
    }
    #design-element {
        width: 150px;
    }
}
@media screen and (max-width: 550px) {
    .form-kolommen {
        grid-template-columns: 1fr;
    }
    #design-element {
        width: 100px;
    }
}
@media screen and (max-width: 600px) {
    #indien-knop {
        width: fit-content;
        padding: 6px 20px;
    }
}
@media screen and (min-width: 600px) {
    #indien-knop {
        width: fit-content;
        padding: 7px 25px;
    }
}
@media screen and (max-width: 1100px) {
    #kolommen {
        display: grid;
        grid-template-columns: 1fr;
        gap: 50px;
    }
}
@media screen and (min-width: 1100px) {
    #kolommen {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }
    #kaartkolom iframe {
        height: 350px;
        width: 100%;
    }
}