html {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
  }
  *, *:before, *:after {
    -webkit-box-sizing: inherit;
    -moz-box-sizing: inherit;
    box-sizing: inherit;
}
* {
    margin: 0;
    padding: 0;
}
:root{
    --blue: #007bff;
    --white: #efefef;
    --black: #333; 
    --grey: #555;
    --shadow:rgba(0, 0, 0, 0.1);
}
a {
    text-decoration: none; 
}
h2, h3 {
    text-align: center; 
    color: var(--grey); /* Stelt de tekstkleur in voor het h2-element */
    padding-bottom: 10px; /* Voegt onderrand toe aan het h2-element */
}
h4{
    font-size: 20px;
}
h2:after, .projects h3:after{
    /*De blauwe barren onder de tussentitels*/
    content: ''; /*Maakt plaats voor waar de blauwe bar komt*/
    background-color: var(--blue); 
    display: block; 
    height: 3px; 
    width: 10.625rem; /*170px*/
    margin: 20px auto 5px; 
}
.projects h3:after{
    width: 7.5rem;
}
h1, h2, h3, h4, p{
    word-break:normal; /* Break words at arbitrary points if necessary */
    overflow-wrap: break-word; /* Ensure words break to avoid overflow */
    hyphens: auto !important; /* Enable hyphenation */
}
/*Utility classes*/
.none{
    display: none;
}
.flex{
    display: flex;
}
.space-between{
    justify-content: space-between;
}
.uppsercase, nav .nav-link{
    text-transform: uppercase;
}
.about, .services, .projects, .team, .support, .contact{
    padding-top: 100px !important;
}
/*Nav*/
header {
    position: sticky !important; 
    top: 0;
    z-index: 9999 !important; 
    min-height: 4.375rem;
}
.stappen header{
    margin: 0 0 25px;
}
.navbar-brand {
    padding: 0 0 0 30px;
}
nav .navbar-brand{
    cursor: pointer;
}
.navbar-brand img{
    width:auto; /*70px*/
    height: 4.375rem;
}
header ul li{
    font-weight: 200;
}
header ul li a:hover {
    color: var(--blue) !important; 
}
.navbar-toggler {
    border: none !important; 
}
nav .language-container { 
    display: flex; 
    padding-right: 20px; 
} 
nav .language-btn {
    padding: 8px; 
    margin: 0 5px; 
    border: none; 
    border-radius: 20px; 
    font-size: 14px; 
    transition: background-color 0.3s, color 0.3s; 
}
nav .language-btn:hover {
    background-color: var(--black); 
    color: var(--white); 
}
nav .language-btn.active {
    background-color: var(--black); 
    color: var(--white); 
    border: 1px solid var(--white);
}
.stappen nav .navbar-collapse{
    justify-content: flex-end;
}
/*Slider*/
.slider{
    position: relative;
}
.slider .carousel-item{
    width: 100%;
    min-height: calc(100vh - 86px);
    background-size: cover;
    background-repeat: no-repeat;
}
.slider h5{
    color: var(--white);
    text-shadow: -1px 0 black, 0 1px black, 1px 0 black, 0 -1px black;
}
.silder a{
    text-decoration: none;
}
    /*Dots div*/
.carousel-indicators {
    position: absolute;
    bottom: 10px; 
    margin: 0;
}
.carousel-indicators .dot{
    width: 10px; 
    height: 10px; 
    border-radius: 50%;
    margin: 0 5px; 
    cursor: pointer;
    border: rgba(0, 0, 0, 0.5) solid 1px;
}
.carousel-indicators .dot.active{
    border: #000000 solid 1px; 
}
.carousel-caption {
    top: 50%; 
    color: var(--white);  
    transform: translateY(-50%); /* Hiermee wordt het element verticaal verplaatst met een percentage van zijn eigen hoogte */
    bottom: initial !important;
    /* Commentaar: De carousel is een diavoorstelling voor het cyclisch tonen van inhoud, gebouwd met CSS 3D-transformaties en wat JavaScript. Het werkt met een reeks afbeeldingen, tekst of aangepaste opmaak. Het bevat ook ondersteuning voor vorige/volgende bedieningselementen en indicatoren. */
} 
.carousel-caption h5 {
    margin: 0;
    color: var(--white); 
    font-size: 2.625rem !important;
    font-family: 'Lily Script One', cursive !important; 
}

.pijlcontainer{
    height: 100% !important;
}
.slide1{
    background-image: url("Pictures/achtergrond-webcare4all-1024x529.png");
}
.slide2{
    background-image: url("Pictures/B2RLaw_Callpage_Saas_Labs.png");
}
.slide3{
    background-image: url("Pictures/IT-Managers-smiling.png");
}
/*ABOUT*/
#about {
    padding: 3.125rem 0 0; /* 50px */
    color: var(--grey); 
}

.about-content {
    padding: 20px 0 0; 
}

/*Skill bars*/
.skills-bar p {
    margin:0 0 6px; 
    font-weight: 600; 
}

.progress{
    border-radius: 16px; 
    margin: 0 0 20px; 
}
.progress .progress-bar {
    border-radius: 16px;
}

.widht75{
    width: 75%;
}
.widht80{
    width: 80%;
}
.widht85{
    width: 85%;
}
.widht90{
    width: 90%;
}

/*services*/
.services {
    color: var(--white); 
    padding: 10px 0 15px; 
}
.services .all-services{
    padding: 10px 0;
}
.services .icon {
    font-size: 30px; 
    margin: 20px auto; 
    padding: 20px; 
    height: 3.125rem; /*50px*/
    width: 3.125rem; 
    border: 1px solid var(--blue); 
    border: 50%; /* Zorgt ervoor dat het pictogram een cirkelvormige rand heeft */
}

.services p, .services .col-md-3{
    color: #212529;
}
.services p {
    font-size: 14px; 
    margin: 20px 0 0; 
}
.services .col-md-3:hover {
    background-color: #2a8af1; 
    transition: 0.7s;
}
.services .col-md-3:hover h3, .services .col-md-3:hover p{
    color: var(--white);
}
/*Projects*/
.projects p{
    text-align: center;
}
.projects article{
    padding: 0 0 25px;
}
.card {
    border: none !important;
}
/*team members*/
.team {
    padding-left:20px; 
    padding-right:20px; 
    color: var(--grey); 
}
.team .img-box{
    margin: 0 auto 20px;
    width: 12.5rem;
    height: 12.5rem;
    background-size: cover;
    background-repeat: no-repeat;
}

/*price plans*/
.support li{
    list-style: none;
}
.support .flex{
    display: flex;
    flex-direction: row !important;
}
.col-md-4 {
    margin: 40px auto;
}
.single-price {
    background-color: var(--white); 
    transition: 0.5s; /* Voegt een overgangseffect toe aan het .single-price-element */
}

.single-price:hover {
    box-shadow: 0 2px 20px var(--black); 
}

.price-head {
    background-color: #2196f3;
    padding: 10px 5px;
    text-align: center; 
}
.price-head h3 {
    color: var(--white);
    font-size: 30px; 
    font-weight: bold;
    margin-bottom: 5px; 
    text-transform: uppercase; 
}

.price-head p {
    font-size: 25px; 
    color: #ccc; 
    font-weight: bold; 
    line-height: 30px; 
}

.price-content {
    padding: 0 15px; 
}

.price-content ul div {
    padding: 10px;
}

.fa-check-circle-o, .bi-dash-circle{
    margin:0 10px 0 0; 
    font-size: 20px; 
}
.fa-check-circle-o{
    color: #008000; 
}
.bi-dash-circle{
    color: #9c0c0c;
}
.price-button {
    padding: 15px 15px 30px; 
    text-align: center; 
}
.buy-btn {
    background-color: #2196f3; 
    font-size: 18px; 
    padding: 15px 50px; 
    transition: 0.5s; 
    color: var(--white); 
}

.buy-btn:hover {
    background-color: #84c4f6; 
    border: 1px solid var(--white); 
}

/* Contactsectie */
.contact{
    background-color: var(--white); 
    padding: 40px 0 20px;
}

form .form-control{
    border-radius: 0; 
    border: none;
}
form .select{
    display: flex;
    flex-direction: column;
}
form .selectBox{
    max-width: 12.5rem;
}
form .btn-primary{
    width: 100%;
}

/*Footer*/
footer {
    display: flex;
    background-color: #f0f0f0; 
    padding: 20px 5%; 
    justify-content: space-between; 
    align-items: center; 
    font-family: Arial, sans-serif; 
    vertical-align: bottom;
}
footer img{
    max-width: 13.0rem; 
    max-height: 15.625rem
}
footer p{
    margin: 0;
}
footer i{
    margin: 0 6px 0 0;
}
/*Stappenplan*/
.steps-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2rem;
    position: relative;
}
.step {
    background-color: #fff;
    box-shadow: 0 4px 8px var(--shadow);
    border-radius: 12px;
    padding: 1.5rem;
    text-align: center;
    max-width: 450px;
    width: 100%;
    transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}
 
.step:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 16px var(--shadow);
}
 
.step-number {
    background-color: #333;
    color: #fff;
    font-size: 1.5rem;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    line-height: 40px;
    margin-bottom: 1rem;
    display: inline-block;
}
 
.step-title {
    font-size: 1.5rem;
    font-weight: bold;
    margin-bottom: 1rem;
   
}
.step-description {
    font-size: 1.1rem;
    color: var(--grey);
}
    /*VL*/
.vl{
    border-left: 4px solid var(--black);
    height: 100%;
    position: absolute;
    left: 50%;
    margin-left: -3px;
    top: 0;
}
.odd{
    margin: 0 calc(50% + 15px) 0 auto;
}
.even{
    margin: 0 auto 0 calc(50% + 15px) ;
}
/* Tablet- en kleiner */
@media (max-width: 1214px) {
    nav li a{
        font-size:80%;
    }
    nav .navbar-brand{
        padding-left: 10px ;
    }
}
@media (max-width: 1024px) {
    .step{
        max-width: 345px;
    }
}
@media (max-width: 768px) {
    /*Slider*/
    .slider .carousel-item{
        min-height: calc(75vh - 86px);
    }
    /*Team*/
    .team .flex{
        flex-direction: column;
        align-items: center;
    }
    .team .img-box{
        width: 15rem;
        height: 15rem;
    }
    .team .col-sm-4{
        min-width: 60% !important;
    }
    /*Contact Form*/
    .contact{
        padding: 20px 0;
    }
    form{
        padding: 0;
    }
    form .flex{
        display: block;
    }
    /*Footer*/
    footer{
        flex-direction: column ; 
    }
    /*Stappenplan*/
    .steps-container{
        row-gap: 20px;
        margin: 0;
    }
    .step{
        margin: 0 auto !important;
        width: 75%;
        max-width: 450px;
    }
    .vl{
        border-left: none !important;
        height: 0;
    }
}
@media (max-width: 576px) {
    .card{
        margin: 0 10% 15px;
    }
}
.Matteo{
    background-image: url("Pictures/Matteo.jpg");
}
.Sam{
    background-image: url("Pictures/Sam.jpg");
}
.Lise{
    background-image: url("Pictures/Lise.jpg");
}

.title-section {
    text-align: center;
    margin-bottom: 30px;
}

.title-section h1 {
    margin: 0;
}