/*
==  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.8rem;
	  	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-12 {
		font-size: 0.6rem;
	}

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

	.fs-14 {
		font-size: 0.7rem;
	}

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

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

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

	.fs-23 {
		font-size: 1.15rem;
	}

	.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-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 all and (max-width: 1500px) {
    	html {
			font-size: 18px;
		}
	}

/* Buttons -------------------------------------- */
	.btn {
		font-size: 0.8rem;
		font-weight: 700;
		line-height: 2rem;
		padding: 0.475rem 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 {
		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;
        font-weight: 600;
        position: relative;
        padding-left: 1.5rem;
    }

	.content-block ul li:before {
		font-family: "Font Awesome 7 Pro";
		content: "\f058";
		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
------------------------------------------------*/
	.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 Product
------------------------------------------------*/
	.item-product {
		display: flex;
		flex-direction: column;
		padding: 1rem 1rem 1.5rem;
	}

	.item-product__footer {
		margin-top: auto;
		padding-top: 1.5rem;
	}

	.item-product__image img {
		aspect-ratio: 1 / 1;
		object-fit: contain;
	}

	.item-product__tags {
		gap: 0.4rem;
	}

	.item-product__tag {
		display: inline-block;
		font-size: 0.6rem;
		font-weight: 600;
		line-height: 1.5rem;
		padding: 0 0.6rem;
		color: var(--white);
		background-color: var(--light-green);
		border-radius: 1.5rem;
	}

	.item-product__price .fs-23 {
		line-height: 1;
	}

	.item-product__link:hover {
		color: var(--green) !important;
	}

/*----------------------------------------------
	1.6 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.7 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;
	}

/*----------------------------------------------
	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);
	}

/*----------------------------------------------
	3. Hero
------------------------------------------------*/
	.hero__image {
		object-fit: cover;
	}

	.hero--frontpage .hero__title {
		font-size: 4rem;
	}

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

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

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

/* Breadcrumbs ---------------------------------- */
	.breadcrumbs {
		gap: 0.5rem;
		color: var(--charcoal);
	}

	.breadcrumbs li + li::before {
		content: '-';
		font-size: 0.8rem;
		font-weight: 300;
		color: var(--light-green);
		margin-right: 0.5rem;
	}

	.breadcrumbs a:hover {
		color: var(--green);
	}

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

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

	.module-tekst-afbeeldingen__content h2 {
		color: var(--white);
		max-width: 34.2rem;
	}

/*----------------------------------------------
	4.2 Product Intro
------------------------------------------------*/
	.product-intro__image {
		padding: 3rem;
	}

	@media (min-width: 992px) {
		.product-intro__image {
			margin-bottom: -4rem;
		}
	}

	.product-intro__label {
		min-width: 7.1rem;
	}

	.product-intro__select {
		width: 13.7rem;
	}

	.product-intro__select select {
		width: 100%;
		height: 2.5rem;
		font-size: 0.8rem;
		color: var(--black);
		background-color: var(--white);
		border: 0.5px solid var(--grey);
		border-radius: 0.25rem;
		padding: 0 2.5rem 0 1.25rem;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		cursor: pointer;
	}

	.product-intro__select i {
		position: absolute;
		top: 50%;
		right: 1rem;
		transform: translateY(-50%);
		font-size: 0.7rem;
		color: var(--dark);
		opacity: 0.5;
		pointer-events: none;
	}

	.product-intro__cart {
		gap: 0.75rem;
	}

	.product-intro__quantity {
		width: 3rem;
		height: 3rem;
		font-size: 0.8rem;
		font-weight: 500;
		text-align: center;
		color: var(--charcoal);
		background-color: var(--white);
		border: 0;
		border-radius: 0.25rem;
		-moz-appearance: textfield;
	}

	.product-intro__quantity::-webkit-outer-spin-button ,
	.product-intro__quantity::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}

/*----------------------------------------------
	4.3 Product Tabs
------------------------------------------------*/
	.product-tabs__nav {
		gap: 1rem;
	}

	.product-tabs__button {
		font-size: 0.7rem;
		font-weight: 600;
		line-height: 1.75rem;
		color: var(--dark);
		background: transparent;
		border: 0.5px solid rgba(16,16,16,0.165);
		border-radius: 0.25rem;
		padding: 0.3rem 1rem;
		transition: all 0.3s ease-in-out;
	}

	.product-tabs__button:hover {
		color: var(--green);
		border-color: var(--green);
	}

	.product-tabs__button.active {
		color: var(--white);
		background-color: var(--green);
		border-color: var(--green);
	}

	.product-tabs .content-block {
		line-height: 1.75rem;
		color: var(--dark);
	}

	.product-tabs__faq {
		gap: 1rem;
	}


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

	.footer__social {
		gap: 0.75rem;
	}

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

	.footer__social-link:hover {
		color: var(--green);
		background-color: var(--white);
	}

	.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;
	}