/*
==  THEME DETAILS  ============================================================
   	Theme Name: Groener Dan
   	Theme URI: https://www.groenerdan.nl/
    Description: Stylesheet voor Groener Dan
    Version: 1.0
  	Author: Kracht Internet Marketing
	Author URI: https://www.krachtinternetmarketing.nl

===============================================================================
*/

/*----------------------------------------------
	1.1 Basics
------------------------------------------------*/
	:root {
		--white: #FFFFFF;
		--black: #201E1D;
		--dark: #0C0C0C;
		--charcoal: #2B2A26;
		--grey: #6B6664;
		--light-grey: #727b73;
		--off-white: #F3F2F2;
		--cream: #F9F8F7;
		--mint: #C9DDCF;
		--light-green: #7CB342;
		--medium-green: #4E8F5A;
		--green: #2F6B45;
		--red: #EC3013;
	}

	html {
  		font-size: 20px;
	}

	body {
        font-family: 'Archivo', sans-serif;
        font-size: 0.9rem;
	  	line-height: 2rem;
		font-weight: 400;
		color: var(--black);
		background: var(--off-white);
		-webkit-font-smoothing: antialiased;
  		-moz-osx-font-smoothing: grayscale;
	}

	a {
		color: inherit;
	}

	a, a:hover, .btn, .btn:hover , .transition {
		transition: all 0.3s ease-in-out;
		text-decoration: none;
	}

	p , figure , blockquote , ul {
		margin: 0 !important;
	}

	button:focus ,
	:focus {
		outline: 0 !important;
	}

	h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
		font-weight: 800;
		line-height: 1.4;
		margin: 0;
		padding: 0;
	}

	h1, .h1 {
		font-size: 3rem;
	}

	h2, .h2 {
		font-size: 2rem;
	}

	h3, .h3 {
		font-size: 1.75rem;
	}

	h4, .h4 {
		font-size: 1.25rem;
	}

	.fs-sm {
		font-size: 0.65rem;
	}

	.fs-md {
		font-size: 0.8rem;
	}

	.fs-lg {
		font-size: 1.1rem;
	}

	.fw-extrabold {
		font-weight: 800;
	}

	.box-shadow {
		box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.15);
	}

	.rounded {
		border-radius: 1rem !important;
	}

	.border-top-line {
		border-top: 0.5px solid rgba(32,30,29,0.5);
	}

	.border-bottom-line {
		border-bottom: 0.5px solid rgba(32,30,29,0.5);
	}

	.z-index-1 {
		position: relative;
		z-index: 8;
	}

	.bg-cover {
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
	}

	@media (min-width: 1200px) {
		.container {
			max-width: 1150px;
		}
	}

	@media (min-width: 1360px) {
		.container {
			max-width: 1260px;
		}
	}

	@media (min-width: 1500px) {
		.container {
			max-width: 1430px;
		}
	}

	@media (max-width: 1500px) {
    	html {
			font-size: 18px;
		}
	}

	@media (max-width: 1200px) {
    	html {
			font-size: 16px;
		}
	}

	@media (max-width: 767px) {
        body {
		    font-size: 0.95rem;
        }
		h1, .h1 {
			font-size: 2.5rem;
		}
		h2, .h2 {
			font-size: 1.75rem;
		}
		h3, .h3 {
			font-size: 1.5rem;
		}
	}

/* Buttons -------------------------------------- */
	.btn {
		font-size: 0.8rem;
		font-weight: 700;
		line-height: 1rem;
		padding: 0.95rem 1.25rem;
		border-radius: 0.25rem;
		border-width: 1px;
	}

	.btn-primary {
		--bs-btn-color: var(--black);
		--bs-btn-bg: transparent;
		--bs-btn-border-color: var(--black);
		--bs-btn-hover-color: var(--white);
		--bs-btn-hover-bg: var(--black);
		--bs-btn-hover-border-color: var(--black);
		--bs-btn-active-color: var(--white);
		--bs-btn-active-bg: var(--black);
		--bs-btn-active-border-color: var(--black);
	}

	.btn-secondary {
		--bs-btn-color: var(--white);
		--bs-btn-bg: var(--green);
		--bs-btn-border-color: var(--green);
		--bs-btn-hover-color: var(--white);
		--bs-btn-hover-bg: var(--black);
		--bs-btn-hover-border-color: var(--black);
		--bs-btn-active-color: var(--white);
		--bs-btn-active-bg: var(--black);
		--bs-btn-active-border-color: var(--black);
	}

	.btn-tertiary {
		--bs-btn-color: var(--white);
		--bs-btn-bg: var(--red);
		--bs-btn-border-color: var(--red);
		--bs-btn-hover-color: var(--white);
		--bs-btn-hover-bg: var(--green);
		--bs-btn-hover-border-color: var(--green);
		--bs-btn-active-color: var(--white);
		--bs-btn-active-bg: var(--green);
		--bs-btn-active-border-color: var(--green);
	}

/*----------------------------------------------
	1.2 Content Block
------------------------------------------------*/
	.content-block p + p ,
	.content-block p + h2 ,
	.content-block p + h3 ,
	.content-block p + h4 ,
	.content-block p + h5 ,
	.content-block p + ul ,
	.content-block h3 + ul ,
	.content-block h4 + ul ,
	.content-block ul + p ,
	.content-block ul + h3 ,
	.faq__content p + p {
		margin-top: 1.75rem !important;
	}

    .content-block h2 ,
	.content-block h3 {
		margin-bottom: 1.25rem;
	}

    .content-block ul {
        padding-left: 0;
        list-style: none;
    }

    .content-block ul li {
        line-height: 2rem;
        position: relative;
        padding-left: 1.5rem;
    }

	.content-block ul li:before {
		font-family: "Font Awesome 7 Pro";
		content: "\f00c";
		font-weight: 900;
		color: var(--green);
		position: absolute;
    	left: 0;
	}

	.content-block img.aligncenter {
		margin: 0 auto;
		display: block;
	}

	.content-block .embed-responsive {
		margin: 2.5rem 0;
	}

/*----------------------------------------------
	1.3 Colors
------------------------------------------------*/
	.bg-mint {
		background-color: var(--mint);
	}

	.bg-cream {
		background-color: var(--cream);
	}

	.bg-light-green {
		background-color: var(--light-green);
	}

	.bg-green {
		background-color: var(--green);
	}

	.text-white {
		color: var(--white) !important;
	}

	.text-green {
		color: var(--green) !important;
	}

	.text-light-green {
		color: var(--light-green) !important;
	}

	.text-medium-green {
		color: var(--medium-green) !important;
	}

	.text-red {
		color: var(--red) !important;
	}

	.text-grey {
		color: var(--grey) !important;
	}

	.text-dark {
		color: var(--dark) !important;
	}

/*----------------------------------------------
	1.4 Spacing
------------------------------------------------*/
	.py-90 {
		padding: 4.5rem 0;
	}

	.pt-80 {
		padding-top: 4rem;
	}

	.pt-90 {
		padding-top: 4.5rem;
	}

	.pt-100 {
		padding-top: 5rem;
	}

	.pt-130 {
		padding-top: 6.5rem;
	}

	.pt-160 {
		padding-top: 8rem;
	}

	.pt-180 {
		padding-top: 9rem;
	}

	.pb-40 {
		padding-bottom: 2rem;
	}

	.pb-90 {
		padding-bottom: 4.5rem;
	}

	.pb-100 {
		padding-bottom: 5rem;
	}

	.pb-110 {
		padding-bottom: 5.5rem;
	}

	.pb-120 {
		padding-bottom: 6rem;
	}

	.mt-40 {
		margin-top: 2rem !important;
	}

	.mt-50 {
		margin-top: 2.5rem !important;
	}

	.mt-70 {
		margin-top: 3.5rem !important;
	}

	.mt-110 {
		margin-top: 5.5rem !important;
	}

	.mt-130 {
		margin-top: 6.5rem !important;
	}

	.mb-40 {
		margin-bottom: 2rem !important;
	}

	.mb-50 {
		margin-bottom: 2.5rem !important;
	}

/*----------------------------------------------
	1.5 Item USP
------------------------------------------------*/
	.item-usp__icon {
		flex: 0 0 2.5rem;
		width: 2.5rem;
		height: 2.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1rem;
		color: var(--green);
		background-color: rgba(255,255,255,0.5);
		border-radius: 0.25rem;
	}

	.item-usp__title {
		line-height: 1.5rem;
	}

	.item-usp__content p {
		line-height: 1.5rem;
		margin-top: 0.25rem !important;
	}

/*----------------------------------------------
	1.6 Item Blog
------------------------------------------------*/
	.item-blog__content {
		padding: 1.25rem 1.5rem 2rem;
	}

	.item-blog__title {
		line-height: 2.25rem;
	}

	.item-blog__link i {
		font-size: 1rem;
		color: var(--light-green);
	}

	.item-blog__link:hover i {
		transform: translateX(0.25rem);
	}

	.item-blog__link i {
		transition: all 0.3s ease-in-out;
	}

/*----------------------------------------------
	1.7 Swiper
------------------------------------------------*/
	.swiper-navigation svg {
		display: none;
	}

	.swiper-button-next,
	.swiper-button-prev {
		font-size: 1rem;
		color: var(--black);
		background: var(--mint);
		height: 2.5rem;
		width: 2.5rem;
		position: relative;
		top: 0 !important;
		margin: 0 !important;
		border-radius: 100%;
		transition: all 0.3s ease-in-out;
	}

	.swiper-button-next:hover,
	.swiper-button-prev:hover {
		color: var(--white);
		background: var(--green);
	}

	.swiper-button-prev {
		left: 0 !important;
	}

	.swiper-button-next {
		right: 0 !important;
	}

	.swiper-blog {
		padding: 0.5rem;
		margin: -0.5rem;
	}

/*---------------------------------------------- 
	1.8 FAQ Manager
------------------------------------------------*/
	.faqm-overview .accordion-item {
		border: none !important;
		border-radius: 5px !important;
		box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.15) !important;
	}

	.faqm-overview .accordion .accordion-button {
		padding: 0.75rem 1rem
	}

    .accordion-button__arrow i {
        color: var(--light-green);
    }

     @media (max-width: 576px) {
       .faqm-overview .accordion .accordion-button .accordion-button__title ,
        .faqm-overview .accordion .accordion-item .accordion-body {
            font-size: 0.9rem !important;
        }
    }

/*---------------------------------------------- 
	1.9 Gravity Form
------------------------------------------------*/
	.gform_wrapper ,
	body .gform_wrapper .top_label div.ginput_container, 
	.gform_wrapper ul.gform_fields li.gfield ,
	.gform_wrapper li.hidden_label input {
		padding: 0 !important;
		margin: 0 !important;
		width: 100% !important;
	}

	.gform_wrapper.gravity-theme .gfield_label {
		font-size: 0.8rem !important;
		font-weight: 700 !important;
		margin: 0 0 0.25rem 0 !important;
	}

	.gform_wrapper input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]) ,
	.gform_wrapper textarea ,
    .gform_wrapper select {
		font-size: inherit !important;
		font-weight: 400;
		padding: 10px 20px !important;
		background: var(--white) !important;
		height: 2.5rem;
        color: var(--black) !important;
		border: none !important;
		width: 100% !important;
		border-radius: 5px !important;
		box-shadow: 0px 3px 6px 0px rgba(0,0,0,0.15) !important;
	}

	.gform_wrapper.gravity-theme .gfield textarea.small {
		height: 8.75rem !important;
	}

	.gform_wrapper.gravity-theme .gform_footer {
		margin: 1rem 0 0 0 !important;
		padding: 0 !important;
	}

	.gform_wrapper.gravity-theme .gform_footer .btn {
		margin: 0 !important;
	}

	.gform_confirmation_message {
		margin-top: 1rem !important;
	}

	.gform_wrapper.gravity-theme .gfield_radio {
		display: flex;
		align-items: center;
	}

	.gform_wrapper.gravity-theme .gfield_radio .gchoice + .gchoice {
		margin-left: 0.75rem;
	}

	.gform_wrapper.gravity-theme .gfield_checkbox label, 
	.gform_wrapper.gravity-theme .gfield_radio label {
		font-size: 0.7rem !important;
	}

	.gform_wrapper.gravity-theme .gform_fields {
		grid-row-gap: 1rem !important;
	}

	.gform_required_legend {
		display: none !important;
	}

	.gform_wrapper .gform_validation_errors>h2 {
		font-size: 14px !important;
		margin: 0 !important;
	}

	.gform_wrapper .gfield_checkbox label {
		font-size: 0.5rem !important;
		padding-left: 0.25rem;
	}

	.gform_wrapper ::placeholder {
		color: var(--black);
        opacity: 0.3;
	}

/*----------------------------------------------
	1.10 Social Media
------------------------------------------------*/
	.social-media {
		gap: 0.75rem;
	}

	.social-media__link {
		width: 2.5rem;
		height: 2.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 1rem;
		color: var(--white) !important;
		border: 1px solid var(--white);
		border-radius: 100%;
	}

	.social-media__link:hover {
		color: var(--black) !important;
		background-color: var(--white);
	}

/*----------------------------------------------
	2. Header
------------------------------------------------*/
	.header {
		padding: 1.25rem 0;
		background-color: var(--mint);
		border-bottom: 0.5px solid rgba(32,30,29,0.5);
	}

	.header__icons {
		gap: 0.75rem;
	}

	.header__icons i {
		width: 2.5rem;
		height: 2.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		font-size: 0.8rem;
		color: var(--red);
		border: 1px solid var(--white);
		border-radius: 100%;
		transition: all 0.3s ease-in-out;
	}

	.header__icons i:hover {
		color: var(--white);
		background-color: var(--red);
		border-color: var(--red);
	}

	 .header__cart-count {
        font-size: 0.5rem;
    	line-height: 0.75rem;
		font-weight: 700;
		width: 0.75rem;
		height: 0.75rem;
		background: var(--black);
		color: var(--white);
		display: inline-block;
		text-align: center;
		border-radius: 100%;
		position: absolute;
		top: -3px;
		right: -5px;
	}

/*----------------------------------------------
	2.1 Navigation
------------------------------------------------*/
	.navigation__menu li a {
		font-size: 0.8rem;
		font-weight: 700;
		line-height: 1;
		color: var(--black);
		padding: 0;
	}

	.navigation__menu li + li {
		margin-left: 1.25rem;
	}

	.navigation__menu li.active a ,
	.navigation__menu li a:hover {
		color: var(--green);
	}

/*----------------------------------------------
	2.2 Navigation Mobile
------------------------------------------------*/
	.navigation-mobile {
		z-index: 1050;
	}

	.navigation-mobile .cd-dropdown-trigger {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		padding: 0 !important;
		font-size: 0.8rem;
		width: 2.5rem;
		height: 2.5rem;
		color: var(--white) !important;
		background: var(--red) !important;
		border: 1px solid var(--red);
		border-radius: 100%;
		margin: 0;
		z-index: 99;
		transition: all 0.3s ease-in-out;
	}

	.navigation-mobile .cd-dropdown-trigger:hover {
		color: var(--white) !important;
		background: var(--green) !important;
		border-color: var(--green);
	}

	.navigation-mobile .cd-dropdown-trigger i {
		margin: 0;
	}

	.navigation-mobile .cd-dropdown {
		background: var(--green);
		z-index: 999;
	}

	.navigation-mobile .cd-dropdown-wrapper {
		height: auto;
		margin: 0 !important;
	}

	.navigation-mobile ul {
		padding-left: 0;
	}

	.navigation-mobile .cd-dropdown-content a {
		font-size: 0.9rem;
		font-weight: 700;
		color: var(--white);
		text-align: left !important;
	}

	.navigation-mobile .current-menu-item > a {
		color: var(--light-green);
	}

	.navigation-mobile .cd-dropdown-content a, 
	.navigation-mobile .cd-dropdown-content ul a {
		border-top-width: 0.25px;
		border-bottom-width: 0;
		border-left-width: 0;
		border-right-width: 0;
		border-color: rgba(255,255,255,0.3);
		border-style: solid;
	}

	.navigation-mobile .cd-dropdown-content li:last-of-type > a, 
	.navigation-mobile .cd-dropdown-content ul li:last-of-type > a {
		border-bottom-width: 0.25px;
	}

	.navigation-mobile .cd-dropdown-content .go-back a {
		color: var(--black);
		background: var(--white);
	}

	.navigation-mobile .cd-secondary-dropdown > a,
	.navigation-mobile .cd-secondary-dropdown > .go-back a {
		display: none !important;
		background: var(--white);
	}

	.navigation-mobile .cd-secondary-dropdown > .go-back a + a {
		display: block !important;
	}

	.navigation-mobile .has-children > a::before, 
	.navigation-mobile .has-children > a::after ,
	.navigation-mobile .cd-dropdown .cd-close::after, 
	.navigation-mobile .cd-dropdown .cd-close::before ,
	.navigation-mobile .go-back a::before, 
	.navigation-mobile .go-back a::after {
		background: var(--light-green) !important;
	}

/*----------------------------------------------
	3. Hero
------------------------------------------------*/
	.hero--frontpage .hero__title {
		font-size: 4rem;
		line-height: 1.1;
	}

	.hero--frontpage .hero__intro {
		font-size: 1.1rem;
	}

	.hero--frontpage .hero__image-large {
		height: 0;
		min-height: 100%;
		object-fit: cover;
	}

	.hero__divider {
		border-top: 0.5px solid var(--black);
		opacity: 0.5;
	}

	@media (min-width: 992px) {
		.hero__image {
			max-width: 16.5rem !important;
		}
	}

	@media (max-width: 1200px) {
		.hero--frontpage .hero__title {
			font-size: 3.5rem;
		}
	}

	@media (max-width: 767px) {
		.hero--frontpage .hero__title {
			font-size: 2.5rem;
		}
	}

/*----------------------------------------------
	4.1 Frontpage Intro
------------------------------------------------*/
	.frontpage-intro__content {
		padding: 3.5rem 2rem;
	}

	.frontpage-intro__content h1 {
		margin-bottom: 1.5rem;
	}

	.frontpage-intro__images img {
		flex: 1 1 0;
		min-width: 0;
		object-fit: cover;
	}

	@media (min-width: 992px) {
		.frontpage-intro__images img {
			min-height: 0;
			height: auto;
		}
	}

	@media (max-width: 767px) {
		.frontpage-intro__content {
			padding: 2.5rem 1.5rem;
		}
	}

/*----------------------------------------------
	5.1 Page Modules
------------------------------------------------*/
	@media (max-width: 992px) {
		.module-content--columns .col {
			flex: 0 0 auto;
			width: 100%;
		}
	}

/*---------------------------------------------- 
	5.2 Module Contact
------------------------------------------------*/
     .module-contact__block {
        padding: 2rem 1.75rem;
    }

    .module-contact__block ul li ,
    .module-contact__block li a ,
    .module-contact__block p ,
    .module-contact__block p a {
        line-height: 2rem;
        color: var(--white);
    }

    .module-contact__block li a:hover ,
    .module-contact__block p a:hover {
        color: var(--green);
    }

/*----------------------------------------------
	7. Footer
------------------------------------------------*/
	.footer {
		color: var(--white);
		background: linear-gradient(to bottom right, var(--light-green) 0%, var(--medium-green) 51%, var(--green) 100%);
	}

	.footer__menu ,
	.footer__contactgegevens {
		line-height: 1.75rem;
	}

	.footer__title {
		margin-bottom: 1rem;
	}

	.footer a:hover {
		color: var(--mint);
	}

	.footer__bottom-links span {
		font-size: 0.7rem;
	}