
/* diensten page title */

.page-title {
    display: flex;
    flex-direction: column;
    font-weight: 400;
}

.page-title__small-text {
    font-size: 25px;
}

.page-title__large-text {
    font-size: 55px;
    margin-left: -3px;
}

/* end diensten page title */


#diensten {
    margin-top: 25px;
}

.diensten-wrapper {
    display: flex;
    flex-direction: column;
    gap: 50px;
    margin-bottom: 75px;
    margin-inline: 7.5vw;
}

.dienst-wrapper {
    display: flex;
    flex-direction: column;
    text-decoration: none;
    gap: 20px;
}

.dienst__image-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 3/2;
    overflow: hidden;
    border-radius: 10px;
}

.dienst__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.dienst__details-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    order: 1;
}

.dienst-details-title {
    font-weight: 400;
    font-size: 35px;
    color: #000;
}

.dienst-details-text {
    margin-top: 15px;
    font-size: 17px;
    line-height: 155%;
    color: #000;
}

.underline-wrapper {
    position: relative;
    width: 100%;
    height: 2px; /* Adjust the height of the line as needed */
    margin-top: 5px;
}

.hover-line {
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #FAAE1A;
}

.dienst__link-indicator-container {
    display: flex;
    margin-top: 25px;
    font-size: 17px;
    color: #000;
    align-items: end;
    font-weight: 500;
}

.dienst__link-indicator-container--text-right {
    justify-content: flex-start;
}


.dienst__link-indicator-wrapper {
    position: relative;
}

.link-indicator-arrow {
    position: absolute;
    top: 50%;
    width: 20px;
}

.link-indicator-arrow--right {
    right: -35px;
    transform: translateY(-50%);
}

.link-indicator-arrow--left {
    transform: translateY(-50%) rotate(180deg);
    right: -35px;
}

@media only screen and (min-width: 600px) {
    .page-title__small-text {
        font-size: 27px;
    }
    
    .page-title__large-text {
        font-size: 70px;
    }
}

@media only screen and (min-width: 850px) {
    #diensten {
        margin-top: 50px;
    }

    .page-title__small-text {
        font-size: 40px;
    }
    
    .page-title__large-text {
        font-size: 90px;
        margin-left: -5px;
    }

    .diensten-wrapper {
        gap: 100px;
        margin-bottom: 100px;
    }

    .dienst-details-text {
        font-size: 18px;
    }

    .dienst__link-indicator-container {
        font-size: 18px;
    }

    .dienst-wrapper {
        display: flex;
        flex-direction: row;
        gap: 0;
    }

    .dienst__image-wrapper {
        width: 50%;
        aspect-ratio: 1.6;
        border-radius: 15px;
    }

    .dienst__image {
        transform: scale3d(1, 1, 1);
        transform-style: preserve-3d;
        transition: transform 0.3s ease-out; /* Animation duration and easing */
    }
    
    .dienst-wrapper:hover .dienst__image {
        /* Final transformation */
        transform: scale3d(1.05, 1.05, 1);
        will-change: transform;
    }

    .dienst__details-wrapper--text-right {
        padding-left: 75px;
    }
    
    .dienst__details-wrapper--text-left {
        padding-right: 75px;
        text-align: right;
    }

    .dienst__details-wrapper {
        max-width: 50%;
        order: 0;
    }

    .dienst-details-title {
        font-size: 40px;
    } 

    .background-line {
        position: absolute;
        width: 100%;
        height: 100%;
        background-color: #FFD98F;
    }
    
    .hover-line {
        width: 0;
        transition: width 0.3s ease-out;
    }
    
    .hover-line--text-right {
        left: 0;
    }
    
    .hover-line--text-left {
        right: 0;
    }
    
    .dienst-wrapper:hover .hover-line {
        width: 100%;
    }

    .dienst__link-indicator-container--text-left {
        justify-content: flex-end;
    }

    .link-indicator-arrow--left {
        right: auto;
        left: -35px;
    }

    .link-indicator-arrow--left {
        transform: translateY(-50%);
    }
}

@media only screen and (min-width: 1300px) {
    .dienst-details-title {
        font-size: 50px;
    } 

    .dienst-details-text {
        margin-top: 30px;
    }
}

@media only screen and (min-width: 1600px) {
    .dienst-wrapper--right {
        justify-content: flex-start;
    }

    .dienst-wrapper--left {
        justify-content: flex-end;
    }

    .dienst-details-title {
        font-size: 60px;
    } 

    .dienst-details-text {
        font-size: 19px;
    }

    .dienst__link-indicator-container {
        font-size: 19px;
    }

    .dienst__details-wrapper {
        max-width: 45%;
        order: 0;
    }
}