/*

 Theme Name:   GeneratePress Child

 Theme URI:    https://generatepress.com

 Description:  Default GeneratePress child theme

 Author:       Tom Usborne

 Author URI:   https://tomusborne.com

 Template:     generatepress

 Version:      1.0

*/

/* Local fonts */

@font-face {
  font-display: swap; 
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 400;
  src: url('assets/fonts/manrope-v14-latin-regular.woff2') format('woff2'),
       url('assets/fonts/manrope-v14-latin-regular.woff') format('woff');
}

@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 600;
  src: url('assets/fonts/manrope-v14-latin-600.woff2') format('woff2'),
       url('assets/fonts/manrope-v14-latin-600.woff') format('woff');
}

@font-face {
  font-display: swap;
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 700;
  src: url('assets/fonts/manrope-v14-latin-700.woff2') format('woff2'),
       url('assets/fonts/manrope-v14-latin-700.woff') format('woff');
}

/* Globals */

:root {
    --narrow-container-width: 1154px;
    --default-border-radius: .25rem;
}

html {
    scroll-behavior: smooth;
}

.site-header {
    position: sticky;
    top: 0;
    z-index: 999;
}

.narrow-container {
    max-width: var(--narrow-container-width);
    margin-inline: auto;
}

.container-padding {
    padding-inline: 1rem;
}

.right-overflow-container {
    padding-left: 1rem;
}

body.page:not(.full-width-content) .container-padding {
    padding-inline: 0;
}

.page .entry-header {
    max-width: var(--narrow-container-width);
    margin-inline: auto;
}

.page.full-width-content .entry-header {
    padding-inline: 1rem;
    margin-top: 2rem;
}

.entry-content > ul,
.entry-content .gb-container > ul {
    margin-left: .5rem;
}

.entry-content > ul li,
.entry-content .gb-container > ul li {
    display: block;
    position: relative;
    padding-left: 1rem;
}
  
.entry-content > ul li::before,
.entry-content .gb-container > ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.75rem;
    background-color: var(--contrast);
    width: 0.25rem;
    height: 0.25rem;
    border-radius: 50%;
}

.entry-content p > a,
.entry-content li > a,
.entry-content .gb-container p > a,
.entry-content .gb-container li > a  {
    text-decoration: underline;
}

/* Main menu */

.site-header {
    border-bottom: 1px solid var(--border-color);
}

.mobile-menu-control-wrapper {
    padding-right: .5rem;
}

.top-bar .inside-top-bar {
    padding-inline: 1rem;
    justify-content: flex-end;
}

.top-bar .inside-top-bar .widget.widget_block {
    margin-inline: 0;
}

.main-navigation.mobile-menu-control-wrapper .menu-toggle {
    display: grid;
    place-content: center;
}

.main-navigation .menu-toggle svg {
    height: 1.5rem;
    width: 1.5rem;
}

.main-navigation .sub-menu {
    border-bottom: none!important;
    padding: 0.25rem 1rem;
}

/* Diensten container */

.diensten-container figure {
    flex-shrink: 0;
}

/* CTA image container */

.cta-image-container .banner-image {
    aspect-ratio: 1.45/1;
    object-fit: cover;
    max-height: 520px;
}

/* Image grid */

.image-grid {
    display: grid;
    gap: 1rem;
}

.image-grid img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Werken bij grid */

.image-grid.werken-bij-images figure:nth-of-type(1) {
    grid-row: 1/2;
    grid-column: 1/3;
}

.image-grid.werken-bij-images figure:nth-of-type(2) {
    grid-row: 2/3;
    grid-column: 1/2;
}

.image-grid.werken-bij-images figure:nth-of-type(3) {
    grid-row: 2/3;
    grid-column: 2/3;
}

.image-grid.werken-bij-images figure:nth-of-type(4) {
    grid-row: 3/4;
    grid-column: 1/3;
}

/* Drie op een rij */

.image-grid.three-in-row {
    grid-template-columns: 1fr 1fr;
}

.image-grid.three-in-row figure:nth-of-type(1) {
    grid-row: 1/2;
    grid-column: 1/3;
}

.image-grid.three-in-row figure:nth-of-type(2) {
    grid-row: 2/3;
    grid-column: 1/2;
}

.image-grid.three-in-row figure:nth-of-type(3) {
    grid-row: 2/3;
    grid-column: 2/3;
}

/* Swiper globals */

.swiper .swiper-button {
    width: 3rem;
    height: 3rem;
    margin-top: 0;
    border-radius: 50%;
    background-color: var(--contrast-2);
    transition: background-color 100ms;
}

.swiper .swiper-button::after {
    content: '';
    width: 1rem;
    height: 1rem;
    font-size: 1rem;
    font-weight: 600;
    background-color: var(--base);
    transition: background-color 100ms;
}

.swiper .swiper-button-next::after,
.swiper .swiper-button-prev::after {
    -webkit-mask: url(assets/img/arrow-right.svg) no-repeat;
    mask: url(assets/img/arrow-right.svg) no-repeat;
    -webkit-mask-size: cover;
    mask-size: cover;
    width: 1.75rem;
    height: 1.75rem;
}

.swiper .swiper-button-prev::after {
    rotate: 180deg;
}

/* Vertical image autoscroll swiper */

.vertical-scroll-image-container {
    position: relative;
    -webkit-mask: linear-gradient( transparent, white 15%, white 85%, transparent);
    mask: linear-gradient( transparent, white 15%, white 85%, transparent);
}

.vertical-image-swiper {
    width: 100%;
    height: 100%;
    max-height: 761px;
    pointer-events: none;
}

.vertical-image-swiper .swiper-slide {
    width: 100%;
    max-width: 310px;
}

.vertical-image-swiper .swiper-slide figure {
    width: 100%;
    height: 100%;
}

.vertical-image-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: var(--default-border-radius);
}


.vertical-image-swiper .swiper-wrapper {
  -webkit-transition-timing-function:linear!important; 
  -o-transition-timing-function:linear!important;
  transition-timing-function:linear!important; 
}


/* Producten archief */

.post-type-archive-producten .page-header {
    margin-inline: auto;
    margin-bottom: 2rem;
}

.post-type-archive-producten .generate-columns-container {
    margin-left: 0;
}

.post-type-archive-producten article .inside-article {
    padding: 1rem 1rem 1.75rem;
    background-color: var(--base-2);
    border-radius: var(--default-border-radius);
}

.post-type-archive-producten article .inside-article .post-image {
    margin-bottom: 1rem;
    background-color: var(--base);
    padding: 1.5rem;
}

.post-type-archive-producten article .entry-title {
    font-size: 1.5rem;
}

.post-type-archive-producten article .entry-title a {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.post-type-archive-producten article .entry-title a:after {
    content: "";
    width: 30px;
    height: 30px;
    background-image: url(assets/img/arrow-right.svg);
    background-size: 30px 30px;
}

.post-type-archive-producten article .entry-summary {
    margin: 0;
}

/* Single Product */


.single-producten.full-width-content .entry-header {
    max-width: var(--narrow-container-width);
    margin-inline: auto;
    margin-top: 2rem;
    padding-inline: 1rem;
}


/* Productspecificaties tabel */

.productspecificaties-tabel table {
    border: none;
    border-collapse: separate;
}

.productspecificaties-tabel thead {
    border-bottom: none;
}

.productspecificaties-tabel tbody tr:nth-child(odd) {
    background-color: var(--base-2);
}

.productspecificaties-tabel tr > th,
.productspecificaties-tabel tr > td {
    border: none;
    min-width: 150px;
    padding: 1rem;
    vertical-align: top;
}

.productspecificaties-tabel tr > td {
    max-width: 430px;
    font-size: 14px;
    line-height: 1.5rem;
}

.productspecificaties-tabel tr > th:not(:last-of-type),
.productspecificaties-tabel tr > td:not(:last-of-type) {
    border-right: 1px solid var(--border-color);
}

.productspecificaties-tabel tr > th:first-child,
.productspecificaties-tabel tr > td:first-child {
    position: sticky;
    left: 0;
    background-color: var(--base);
    font-size: 1rem;
    font-weight: 700;
    text-align: right;
    padding-left: 0;
    min-width: revert;
}


/* Vacature single */

.single-vacatures.full-width-content .entry-header {
    max-width: var(--narrow-container-width);
    margin-inline: auto;
    margin-top: 2rem;
    padding-inline: 1rem;
}

/* Scheidingsblok */

.scheidingsblok-wrapper .wp-block-separator {
    border: none;
}

/* Google map */

.googlemap-container iframe {
    border-radius: var(--default-border-radius);
}

/* nieuwsbrief op footer */
.boxzilla.boxzilla-bottom-right {
	border-radius:0.25rem;
}

/* Footer */

.site-footer .footer-widgets-container .inner-padding {
    padding-left: 0;
}

.site-footer .footer-widgets-container .inside-footer-widgets {
    margin-left: 0;
}

.site-info .inside-site-info {
    padding-inline: 1rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: start;
}

.site-info .inside-site-info .copyright-bar {
    margin-inline: 0;
    font-size: 1rem;
    text-align: left;
}

.site-info .inside-site-info .copyright-bar a {
    padding-inline: .125rem;
}

.site-info .inside-site-info .copyright-bar a:first-child {
    padding-left: 0;
}


/* Gravity forms */

.gform_wrapper form .gform_fields .gfield_required {
    color: var(--contrast-2);
    font-size: revert;
}

.gform_wrapper .gform_fields input:not([type="submit"]), 
.gform_wrapper .gform_fields textarea,
.gform_wrapper .gform_fields select {
    padding: 1.5rem;
    border-radius: var(--default-border-radius);
}

.gform_wrapper .button {
    border-radius: var(--default-border-radius);
}

/* Multilingualpress */

.language-switcher-container .wp-block-navigation-item {
    margin-bottom: 0;
}

/* Media queries */

@media (hover: hover) and (pointer: fine) {
    
    .swiper .swiper-button:hover {
        background-color: var(--contrast);
    }
}

/* Tablet breakpoint */

@media (min-width: 769px) {

    .container-padding {
        padding-inline: 2rem;
    }

    .top-bar .inside-top-bar {
        padding-inline: 2rem;
    }    

    .main-navigation ul:not(.sub-menu) > li {
        padding-bottom: 4rem;
        margin-bottom: -4rem;
    }

    .page.full-width-content .entry-header,
    .single-vacatures.full-width-content .entry-header,
    .single-producten.full-width-content .entry-header {
        padding-inline: 2rem;
    }

    .post-type-archive-producten .page-header {
        max-width: var(--narrow-container-width);
        padding-inline: 2rem;
        margin-bottom: 3rem;
    }

    .image-grid {
        gap: 1.5rem;
    }

    .image-grid.werken-bij-images {
        grid-template-columns: 2fr 1fr 1fr;
    }

    .image-grid.werken-bij-images figure:nth-of-type(1) {
        grid-row: 1/3;
        grid-column: 1/2;
    }

    .image-grid.werken-bij-images figure:nth-of-type(2) {
        grid-row: 1/2;
        grid-column: 2/3;
    }

    .image-grid.werken-bij-images figure:nth-of-type(3) {
        grid-row: 1/2;
        grid-column: 3/4;
    }

    .image-grid.werken-bij-images figure:nth-of-type(4) {
        grid-row: 2/3;
        grid-column: 2/4;
    }

    .image-grid.three-in-row {
        display: flex;
    }

    .productspecificaties-tabel tr > th:first-child,
    .productspecificaties-tabel tr > td:first-child {
        min-width: 160px;
    }

    .swiper .swiper-button {
        width: 4rem;
        height: 4rem;
    }

    .site-footer .footer-widgets-container .inside-footer-widgets {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 4rem;
    }

    .site-info .inside-site-info {
        padding-inline: 2rem;
    }

}

/* Desktop breakpoint */

@media (min-width: 1025px) {

    .cta-image-container {
        max-height: 600px;
    }

    .cta-image-container figure {
        height: 100%;
    }

    .cta-image-container .banner-image {
        aspect-ratio: 1/1;
        object-fit: cover;
        max-height: revert;
        height: 100%;
    }

    .site-footer .footer-widgets-container .inside-footer-widgets {
        grid-template-columns: 5fr 3fr 3fr 3fr;
        gap: 2rem;
    }

    .bel-mij-terug-formulier_wrapper .gform_title {
        text-align: center;
        margin-bottom: 4rem;
    }

}

/* Center logo */

@media (min-width: 1201px) {

    .site-header .inside-header {
        padding-inline: 0;
    }

    .inside-header>.site-branding,
    .inside-header>.navigation-branding,
    .inside-header>.site-logo,
    .site-branding-container,
    #site-navigation .navigation-branding .site-logo,
    #sticky-navigation .navigation-branding {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        z-index: 1000;
    }

    #site-navigation,
    #primary-menu {
        flex: 1;
    }

    .main-navigation ul li:nth-child(4) {
        margin-left: auto;
    }

    .main-navigation .menu > li > a {
        padding-inline: 1.6rem!important;
    }

    .main-navigation ul:not(.sub-menu) > li {
        padding-bottom: 4rem;
        margin-bottom: -4rem;
    }

    .main-navigation ul:not(.sub-menu) > li:nth-child(2) > a,
    .main-navigation ul:not(.sub-menu) > li:nth-child(5) > a {
        border-left: 1px solid var(--border-color);
        border-right: 1px solid var(--border-color);
    }

    .main-navigation .sub-menu {
        top: 4rem;
        padding: .5rem 1rem;
        box-shadow: 0px .25rem .25rem rgba(0, 0, 0, 0.1);
        border-radius: 0 0 var(--default-border-radius) var(--default-border-radius);
    }

    .main-navigation .sub-menu > li:not(:last-of-type) {
        border-bottom: 1px solid var(--border-color);
    }

    .main-navigation .sub-menu > li > a {
        padding-block: 1rem!important;
    }

    body.page:not(.full-width-content) .container-padding {
        padding-inline: 2rem;
    }

    .page .entry-header {
        padding-inline: 2rem;
    }

    .cta-image-container > div:first-of-type {
        width: calc(100% / 3 * 2);
    }

    .cta-image-container > div:last-of-type {
        width: calc(100% / 3);
    }

    .site-footer .footer-widgets-container .inside-footer-widgets {
        grid-template-columns: 3.5fr 2fr 2fr 3fr;
        gap: 4rem;
    }

}

/* site width */

@media (min-width: 1379px) { 

    .site-header .inside-header {
        padding-inline: 3.375rem;
    }

}

#language-dropdown {
    background-color: transparent;
    color: var(--base);
    border: none;
    padding: 0px 15px;
    font-weight: 600;
}

#language-dropdown option {
    color: var(--contrast);
}

.contactgegevens-accountmanager p {
    margin-bottom: 0px;
}

.contactgegevens-accountmanager p:nth-child(2) a:before,
.contactgegevens-accountmanager div.elementToProof a::before {
    content: '\f095';
    font-family: "Font Awesome 6 Pro";
    font-size: 16px;
    font-weight: 400;
    margin-right: 8px;
}

.contactgegevens-accountmanager p:nth-child(5) a:before {
    content: '\f0e0';
    font-family: "Font Awesome 6 Pro";
    font-size: 16px;
    font-weight: 400;
    margin-right: 8px;
}

@media (max-width: 768px) { 
	.boxzilla-bottom-right-container h2 {
		font-size:16px;
	}

	.boxzilla-bottom-right-container p {
		font-size:13px;
	}

	.boxzilla-bottom-right-container .gform_wrapper .gform_fields input:not([type="submit"]), .boxzilla-bottom-right-container .gform_wrapper .gform_fields textarea, .boxzilla-bottom-right-container .gform_wrapper .gform_fields select {
		padding: 0.5rem;
	}
}

.veelgestelde-vragen .gb-accordion button {
    border-radius: 4px;
}

.veelgestelde-vragen .gb-accordion button.gb-block-is-current {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
    border-bottom-left-radius: 0px;
    border-bottom-right-radius: 0px;
}

.veelgestelde-vragen .gb-accordion .gb-accordion__content {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

.veelgestelde-vragen .gb-accordion .gb-accordion__item:last-child {
    margin-bottom: 0px;
}

.cursor-pointer{
    cursor: pointer;
}


