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

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

/*---------------------------------------------- 
	1.1 Basics
------------------------------------------------*/
	:root {
		--white: #FFF;
		--off-white: #FAF7F4;
		--black: #1A1A1A;
        --blue: #285E9C;
        --light-blue: #93AECE;
		--orange: #DF5A2F;
        --dark-grey: #6E6E6D;
		--grey: #E5E2DF;
	}

	html {
  		font-size: 20px;
	}

	body {
		font-family: "dm-sans", sans-serif;
		font-size: 0.8rem;
	  	line-height: 1.75rem;
		font-weight: 400;
		color: var(--black);
		background: var(--off-white);
		-webkit-font-slothing: antialiased;
  		-moz-osx-font-smoothing: grayscale;
	}

	a, a:hover, .btn, .btn:hover , .transition {
		transition: all 0.3s ease-in-out;
		text-decoration: none;	
	}
	
	p , figure , blockquote , ul {
		margin: 0 !important;
	}

	a {
		color: var(--orange);
	}

	a:hover {
		color: var(--black);
	}

	button:focus ,
	:focus {
		outline: 0 !important;
	}
	
	h1, h2, h3, h4, h5, .h1, .h2, .h3, .h4, .h5 {
		font-family: "fira-sans", sans-serif;
		font-weight: 600;
		line-height: 1.5;
		margin: 0;
		padding: 0;
	}

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

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

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

	.ff-fira-sans {
		font-family: "fira-sans", sans-serif;
	}

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

    .fs-sm {
		font-size: 0.75rem;
        line-height: 1.25rem;
	}

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

	.fw-bold , strong {
		font-weight: 700 !important;
	}

	.rounded {
		border-radius: 20px !important;
	}

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

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

	.list-inline-item:not(:last-child) {
		margin-right: 0.25rem;
	}

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

	@media (min-width: 1200px) {
		.container {
			max-width: 1150px;
		}
		figure.scale-image {
			overflow: hidden;
			position: relative;
			display: block;
			cursor: pointer;
		}
		figure.scale-image img {
			transition: transform 0.4s linear;
		}
		figure.scale-image:hover img,
		.item-categorie:hover figure.scale-image img {
			transform: scale(1.05);
		}
	}

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

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

    @media all and (max-width: 576px) {
    	html {
			font-size: 16px;
		}
        body {
		    font-size: 0.9rem;
        }
        h1, .h1 {
		    font-size: 1.8rem;
	    }
        h2, .h2 {
            font-size: 1.65rem;
	    }
    }

/* Icomoon -------------------------------------- */
	@font-face {
		font-family: 'icomoon';
		src:  url('fonts/icomoon.eot?tgh63w');
		src:  url('fonts/icomoon.eot?tgh63w#iefix') format('embedded-opentype'),
			url('fonts/icomoon.ttf?tgh63w') format('truetype'),
			url('fonts/icomoon.woff?tgh63w') format('woff'),
			url('fonts/icomoon.svg?tgh63w#icomoon') format('svg');
		font-weight: normal;
		font-style: normal;
		font-display: block;
	}

	[class^="icon-"], [class*=" icon-"] {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        speak: never;
        font-style: normal;
        font-weight: normal;
        font-variant: normal;
        text-transform: none;
        line-height: 1;
        /* Better Font Rendering =========== */
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
	}

	.icon-amount:before {
	    content: "\e900";
	}
	.icon-bulb:before {
	    content: "\e901";
	}
	.icon-check:before {
	    content: "\e902";
	}
	.icon-connect:before {
	    content: "\e903";
	}
	.icon-contact:before {
	    content: "\e904";
	}
	.icon-hammer:before {
	    content: "\e905";
	}
	.icon-heart:before {
	    content: "\e906";
	}
	.icon-phone:before {
	    content: "\e907";
	}

/* Buttons -------------------------------------- */
	.btn {
		font-size: 0.8rem;
		font-weight: 700;
		line-height: 1rem;
		padding: 1rem 1.5rem;
		border-radius: 0;
		border: none;
	}

    .btn-sm {
        font-size: 0.75rem;  
        padding: 0.75rem 1.5rem;
    }

	.btn-primary {
		color: var(--white) !important;
		background: var(--orange) !important;
	}

	.btn-secondary {
		color: var(--white) !important;
		background: var(--blue) !important;
	}

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

    .btn-secondary:hover {
		color: var(--white) !important;
		background: var(--orange) !important;
	}

	button:focus ,
	.btn:focus {
		outline: 0 !important;
		box-shadow: none !important;
	}

/*---------------------------------------------- 
	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.5rem !important;
	}

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

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

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

/*---------------------------------------------- 
	1.3 Colors 
------------------------------------------------*/
	.bg-black {
		background: var(--black) !important;
	}

	.bg-blue {
		background: var(--blue) !important;
	}

	.bg-orange {
		background: var(--orange) !important;
	}

	.bg-grey {
		background: var(--grey) !important;
	}

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

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

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

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

/*---------------------------------------------- 
	1.4 Spacing
------------------------------------------------*/
    .py-160 {
        padding: 8rem 0;
    }

    .mb-100 {
        margin-bottom: 5rem;
    }

    .py-70 {
        padding: 3.5rem 0;
    }

    .pb-70 {
        padding-bottom: 3.5rem; 
    }

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

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

    .py-15 {
        padding: 0.75rem;
    }   

/*---------------------------------------------- 
	1.5 Item USP
------------------------------------------------*/
    .item-usp i {
        font-size: 1.25rem;
        color: var(--blue); 
    }

    .item-usp span {
        line-height: 1.5rem;
    }

/*---------------------------------------------- 
	1.6 Item Categorie
------------------------------------------------*/
     .item-categorie::before {
		content: "";
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: var(--black);
        background: linear-gradient(0deg,rgba(26, 26, 26, 0.5) 0%, rgba(26, 26, 26, 0) 100%);
        z-index: 8;
	}	

    .item-categorie__content {
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        padding: 1.5rem;
        z-index: 9;
    }

/*---------------------------------------------- 
	1.7 Item Werkwijze
------------------------------------------------*/
    .item-werkwijze {
        max-width: 8rem;
    }

    .item-werkwijze i {
        font-size: 4.5rem;
        color: var(--blue);
    }

    .item-werkwijze__title {
        line-height: 1.25rem;
    }

/*---------------------------------------------- 
	1.8 Social Media
------------------------------------------------*/
	.social-media li a {
		font-size: 0.9rem !important;
		line-height: 2.25rem !important;
		text-align: center;
		color: var(--white);
		background: var(--orange);
		width: 2.25rem;
		height: 2.25rem;
		border-radius: 0;
		display: block;
	}

	.social-media li.list-inline-item:not(:last-child) {
		margin-right: 0.5rem !important;
	}

	.social-media li a:hover {
		background: var(--black);
	}

/*---------------------------------------------- 
	1.9 Swiper
------------------------------------------------*/
    .swiper-producten { 
		overflow: visible; 
	}

	.swiper-button-next, 
	.swiper-button-prev {
		font-size: 1.1rem;
		height: inherit;
		display: inline-block;
	}

	.swiper-navigation svg {
		display: none;
	}

	.swiper-button-next, 
	.swiper-button-prev {
		color: var(--white);
		background: var(--orange);
        font-size: 0.8rem;
		line-height: 2.25rem;
		height: 2.25rem;
		width: 2.25rem;
		text-align: center;
		position: relative;
		top: 0 !important;
		margin: 0;
		border-radius: 100%;
	}

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

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

/*---------------------------------------------- 
	1.10 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: inherit !important;
		font-weight: 700 !important;
		margin: 0 0 0.5rem 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.75rem;
        color: var(--black) !important;
		border: 0.25px solid var(--grey) !important;
		width: 100% !important;
		border-radius: 0 !important;
	}

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

	.gform_wrapper.gravity-theme .gform_footer {
		margin: 1.5rem 0 0 0 !important;
		padding: 0 !important;
		justify-content: flex-end;
	}

	.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_field  {
		grid-row-gap: 1.25rem !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;
	}


/*---------------------------------------------- 
	2.1 Header
------------------------------------------------*/
	.header {
		padding: 2rem 0;	
        z-index: 99;
	}

    .header__phone i {
        font-size: 1.4rem;
    }

    .header__phone a:hover {
        color: var(--orange) !important;
    }

    .header .btn-primary {
        color: var(--white) !important;
    }

/*---------------------------------------------- 
	2.2 Navigation 
------------------------------------------------*/
    .navigation {
        z-index: 1030 !important;
    }

    .navigation li a {
        font-family: "fira-sans", sans-serif;
		font-size: 0.8rem;
		line-height: 1.25rem;
		font-weight: 500;
		color: var(--black);
		padding: 0.75rem 0;
	}

     .navigation__submenu li a {
	   color: var(--dark-grey);
	}

	.navigation li a:hover,
	.navigation li.active > a {
    	color: var(--orange);
	}

    .navigation li a.dropdown-parent {
       color: var(--black) !important;
    }

    .navigation li a.dropdown-parent i {
        color: var(--orange);
    }

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

/* Megamenu -------------------------------------- */
    .navigation .mega-dropdown {
        border-top: 0.25px solid var(--grey);
        padding: 2.5rem 0 4rem 0;
    }

    .navigation .mega-dropdown ul li a ,
    .navigation .mega-col__header {
        line-height: 2.25rem;
        padding: 0;
    }

    .navigation .mega-dropdown ul li + li {
        margin: 0 !important;
    }

    .navigation .mega-tabs-list li a {
        display: flex;
        align-items: center;
    }

    .navigation .mega-tabs-list li a i {
        color: var(--blue);
        margin-left: auto !important;
    }

    .navigation .mega-tabs-list li + li {
        border-top: 0.25px solid var(--grey);
    }

    .navigation .mega-panel {
        justify-content: space-between !important;
    }

    .navigation .mega-panel ul li a {
        font-weight: 400 !important;
    }

    .mega-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.25);
        z-index: 98;
    }

    .mega-overlay.is-active {
        display: block;
    }

/*---------------------------------------------- 
	2.3 Navigation Mobile
------------------------------------------------*/
     .navigation-mobile {
        padding: 1rem 0;
        z-index: 1050;
        border-bottom: 0.5px solid var(--grey);
    }

	.navigation-mobile .cd-dropdown-trigger {
		display: inline-block;
    	position: relative;
    	padding: 0 !important;
		font-size: 1.1rem;
		text-align: center;
		line-height: 2.5rem;
		height: 2.5rem;
		width: 2.5rem;
		background: var(--black) !important;
		color: var(--white) !important;	
		margin: 0;
		z-index: 99;
		border-radius: 0;
		border: none;
	}

	 .navigation-mobile .cd-dropdown-trigger i {
		margin: 0;	
	}
	
	.navigation-mobile .cd-dropdown-content a {
		font-size: 0.9rem;
		font-weight: 600;
		color: var(--black);
		text-align: left !important;
	}

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

	.navigation-mobile .cd-dropdown {
		background: var(--grey);
		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, 
	.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: var(--white);
    	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 .has-children > a::before, 
	.navigation-mobile .has-children > a::after {
		background: var(--orange) !important;
	}

	.navigation-mobile .cd-dropdown .cd-close::after, 
	.navigation-mobile .cd-dropdown .cd-close::before {
		background: var(--orange) !important;
	}

	.navigation-mobile .go-back a::before, 
	.navigation-mobile .go-back a::after {
		background: var(--orange) !important;	
	}

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

    .navigation-mobile__contact {
		position: absolute;
		bottom: 1.5rem;
		left: 1.5rem;
	}

/*---------------------------------------------- 
	3.1 Frontpage Hero
------------------------------------------------*/
    .frontpage-hero__item {
        height: 35rem;
    }
    
    .frontpage-hero__item::before {
        content: "";
        position: absolute;
        top: 0;
        height: 100%;
        width: 100%;
        background: var(--black);
        background: linear-gradient(90deg,rgba(26, 26, 26, 0.5) 0%, rgba(26, 26, 26, 0) 75%);
    }

    .frontpage-hero__title {
        font-size: 2.5rem;
        line-height: 1.5;
    }

    .frontpage-hero__title strong {
        color: var(--orange);
    }

    @media all and (max-width: 1500px) {
        .frontpage-hero__title {
            font-size: 2.4rem;
        }
    }

    @media all and (max-width: 992px) {
         .frontpage-hero__item {
            height: 30rem;
        } 
    }

    @media all and (max-width: 576px) {
        .frontpage-hero__title {
            font-size: 2rem;
        }
    }

/*---------------------------------------------- 
	3.2 Frontpage Intro
------------------------------------------------*/
    .frontpage-intro__content {
        padding: 4.5rem 3rem 4.5rem 4.5rem;
    }

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

    @media all and (max-width: 1360px) {
       .frontpage-intro__content {
            padding: 4.5rem 3rem;
        }     
    }

    @media all and (max-width: 992px) {
        .frontpage-intro__image {
            height: 25rem;
        }     
    }

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

/*---------------------------------------------- 
	3.3 Frontpage Werkwijze
------------------------------------------------*/
    .frontpage-werkwijze {
        padding: 4rem 0 7rem 0;
    }

    @media (min-width: 992px) {
       .frontpage-werkwijze__column:nth-child(-n+3)::after {
            content: "";
            position: absolute;
            bottom: -1rem;
            right: 0;
            transform: translateX(50%);
            width: 7.9rem;
            height: 4.4rem;
            background-image: url("../images/lines.svg");  
            background-size: 100% 100%;
            background-repeat: no-repeat;
        } 
    }

    @media (max-width: 1360px) {
        .frontpage-werkwijze__column:nth-child(-n+3)::after {
            transform: translateX(50%) scale(0.7);
        }
    }

/*---------------------------------------------- 
	4. Hero
------------------------------------------------*/
    .hero--image .hero__wrapper-content {
        padding: 3rem 3rem 1.5rem 4.5rem;
    }

    .hero__image-wrapper {
        min-height: 26.25rem;
    }

    .hero--default .hero__wrapper-content {
        padding: 3rem;
    }

    @media all and (max-width: 1360px) {
        .hero--image .hero__wrapper-content {
            padding: 3rem;
        }     
    }

    @media all and (max-width: 576px) {
        .hero__image-wrapper {
            min-height: 20rem;
        } 
        .hero--image .hero__wrapper-content {
            padding: 2.5rem 1.5rem;
        }  
    }

/*---------------------------------------------- 
	5.1 Page Modules
------------------------------------------------*/
    .hero + .module ,
    .module-content + .module-veelgestelde-vragen{
        padding-top: 0 !important;
    }

    @media all and (max-width: 992px) {
		.module-content--columns .col {
			flex: 0 0 auto;
			width: 100%;
		}
	}

/*---------------------------------------------- 
	5.2 Module Veelgestelde Vragen
------------------------------------------------*/
	.module-veelgestelde-vragen .accordion {
		width: 100%;
	}

	.module-veelgestelde-vragen .accordion ,
 	.module-veelgestelde-vragen .accordion-item ,
    .module-veelgestelde-vragen .accordion .accordion-button {
		border: 0;
		box-shadow: none;
		border-radius: 0 !important;
	}

	.module-veelgestelde-vragen .accordion-item {
		border: 0.25px solid var(--grey) !important;
		border-radius: 0 !important;
	}

	.module-veelgestelde-vragen .accordion .accordion-button {
		padding-top: 1rem;
		padding-bottom: 1rem;
	}

	.module-veelgestelde-vragen .accordion-item {
		background: var(--white);
	}

	.module-veelgestelde-vragen .accordion-item + .accordion-item {
		margin-top: 0.75rem;	
	}	

	.module-veelgestelde-vragen .accordion .accordion-button.collapsed ,
	.module-veelgestelde-vragen .accordion .accordion-button{
		background: none !important;
	}

    .module-veelgestelde-vragen .accordion .accordion-button .accordion-button__title {
		font-size: 0.8rem;
		color: var(--black);
		font-weight: 600;
		line-height: 1.75rem;
    }

	.module-veelgestelde-vragen .accordion .accordion-button .accordion-button__arrow i {
		color: var(--orange);	
	}

	.module-veelgestelde-vragen .accordion .accordion-button::after {
		display: none;
	}

	 .module-veelgestelde-vragen .accordion .accordion-item .accordion-body {
        font-size: 0.8rem;
		color: var(--black);
        background: none;
		padding: 0 1.25rem 1rem 1.25rem;
		border-radius: 0;
	}

	.module-veelgestelde-vragen .accordion .accordion-button:not(.collapsed) .accordion-button__arrow {
        animation: rotate-90-cw 0.1s ease-in-out both;
    }
    .module-veelgestelde-vragen .accordion .accordion-button.collapsed .accordion-button__arrow {
        animation: rotate-0-ccw 0.1s ease-in-out both;
    }

    @keyframes rotate-90-cw {
        0%   { transform: rotate(0); }
        100% { transform: rotate(90deg); }
    }

    @keyframes rotate-0-ccw {
        0%   { transform: rotate(90deg); }
        100% { transform: rotate(0); }
    }

	@media all and (max-width: 767px) {
		.module-veelgestelde-vragen .accordion .accordion-button span.title {
			font-size: 0.7rem;
		}
	}


/*---------------------------------------------- 
	5.3 Module Contact
------------------------------------------------*/
	.module-contact__wrapper {
		padding: 3rem 2rem;
        border: 0.25px solid var(--grey) !important;
	}

	.module-contact .contactgegevens {
		width: 50%;
	}

	.module-contact__gegevens li a {
		color: var(--black);
	}

	.module-contact__gegevens li a:hover {
		color: var(--orange);
	}

/*---------------------------------------------- 
	7.1 Footer 
------------------------------------------------*/
	.footer {
		padding: 4.5rem 0 3.5rem 0;
	}

    .footer__nieuwsbrief {
        padding: 2rem 1.5rem;
    }

	.footer__contactgegevens li ,
	.footer__contactgegevens li a ,
    .footer__menu li a{
		font-size: 0.7rem;
        color: var(--black);
	}

	.footer__contactgegevens li a:hover,
	.footer__menu li a:hover ,
    .footer__base ul li a:hover {
		color: var(--orange);
	}

    .footer__contactgegevens + .footer__contactgegevens {
        margin-top: 1.75rem !important;
    }

    .footer__base {
        margin-top: 4.5rem;
    }

    .footer__base ul li ,
    .footer__base ul li a {
        font-size: 0.65rem;
        color: var(--black);
    }

    @media all and (max-width: 576px) {
        .footer__contactgegevens li ,
        .footer__contactgegevens li a ,
        .footer__menu li a{
            font-size: 0.85rem; 
        }
    }