/*
Theme Name: Johan Janssen Gevelwerken
Theme URI: https://demo.studiopress.com/
Description: This is the sample theme created for the Genesis Framework.
Author: StudioPress
Author URI: https://www.studiopress.com/

Version: 3.4.3

Tags: accessibility-ready, block-styles, custom-colors, custom-logo, custom-menu, editor-style, featured-images, footer-widgets, full-width-template, left-sidebar, one-column, right-sidebar, rtl-language-support, sticky-post, theme-options, threaded-comments, translation-ready, two-columns, wide-blocks

Template: genesis

License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Text Domain: johan-janssen-gevelwerken
Requires at least: 5.4
Requires PHP: 5.6
*/

/* KJG-DEPLOY-CHECK-001 - if you can read this comment on the live
   site's raw style.css URL, the upload/deploy path works and any
   remaining issue is a browser cache issue, not a deployment issue.
   If you do NOT see this line on the live URL, the file reaching the
   server is not the file being edited here - check the exact path,
   FTP/file manager target folder, and file permissions. */

/* Table of Contents
- HTML5 Reset
	- Baseline Normalize
	- Box Sizing
	- Float Clearing
- Defaults
	- Typographical Elements
	- Headings
	- Objects
	- Gallery
	- Forms
	- Tables
	- Screen Reader Text
- Structure and Layout
	- Site Container
	- Site Inner
- Common Classes
	- Avatar
	- Genesis
	- Search Form
	- Titles
	- WordPress
- Widgets
	- Featured Content
- Plugins
	- Genesis eNews Extended
	- Genesis Simple FAQ
	- WPForms
- Skip Links
- Site Header
	- Title Area
- Site Navigation
	- Responsive Menu
	- Header Menu
	- Footer Menu
- Content Area
	- Entry Content
	- Entry Meta
	- Pagination
	- Entry Comments
- Sidebar
- Footer Widgets
- Site Footer
- Media Queries
	- Min-width: 960px
		- Site Header
		- Genesis Menu
		- Responsive Menu
		- Header Menu
		- Site Inner
		- Content
		- Sidebar
		- Author Box
		- After Entry
		- Column Classes
		- Entry Misc.
		- Footer Widgets
- Print Styles
*/

/* HTML5 Reset
---------------------------------------------------------------------------- */

/* normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css
---------------------------------------------------------------------------- */
/* stylelint-disable */
html{line-height:1.15;-webkit-text-size-adjust:100%}body{margin:0}main{display:block}h1{font-size:2em;margin:.67em 0}hr{box-sizing:content-box;height:0;overflow:visible}pre{font-family:monospace,monospace;font-size:1em}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:.35em .75em .625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{box-sizing:border-box;padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details{display:block}summary{display:list-item}[hidden],template{display:none}
/* stylelint-enable */

/* Box Sizing
--------------------------------------------- */

html {
	box-sizing: border-box;
}

*,
*::before,
*::after {
	box-sizing: inherit;
}

/* Float Clearing
--------------------------------------------- */

.author-box::before,
.clearfix::before,
.entry::before,
.entry-content::before,
.footer-widgets::before,
.nav-primary::before,
.nav-secondary::before,
.pagination::before,
.site-container::before,
.site-footer::before,
.site-header::before,
.site-inner::before,
.widget::before,
.wrap::before {
	content: " ";
	display: table;
}

.author-box::after,
.clearfix::after,
.entry::after,
.entry-content::after,
.footer-widgets::after,
.nav-primary::after,
.nav-secondary::after,
.pagination::after,
.site-container::after,
.site-footer::after,
.site-header::after,
.site-inner::after,
.widget::after,
.wrap::after {
	clear: both;
	content: " ";
	display: table;
}


/* Defaults
---------------------------------------------------------------------------- */

/* Typographical Elements
--------------------------------------------- */

html {
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

body {
	background-color: #fff;
	color: #333;
	font-family: "Source Sans Pro", sans-serif;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.625;
	margin: 0;
	overflow-x: hidden;
}

button,
input:focus,
input[type="button"],
input[type="reset"],
input[type="submit"],
textarea:focus,
.button,
.gallery img {
	transition: all 0.2s ease-in-out;
}

a {
	color: var(--color-primary);
	text-decoration: underline;
	transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out;
}

a:focus,
a:hover {
	color: #333;
	text-decoration: none;
}

p {
	margin: 0 0 28px;
	padding: 0;
}

ol,
ul {
	margin: 0;
	padding: 0;
}

li {
	list-style-type: none;
}

hr {
	border: 0;
	border-collapse: collapse;
	border-bottom: 1px solid currentColor;
	clear: both;
	color: #eee;
	margin: 1.65em auto;
}

b,
strong {
	font-weight: 700;
}

blockquote,
cite,
em,
i {
	font-style: italic;
}

mark {
	background: #ddd;
	color: #333;
}

blockquote {
	margin: 30px;
}

/* Headings
--------------------------------------------- */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: "Source Sans Pro", sans-serif;
	font-weight: 400;
	line-height: 1.2;
	margin: 0 0 20px;
}

h1 {
	font-size: 30px;
}

h2 {
	font-size: 27px;
}

h3 {
	font-size: 24px;
}

h4 {
	font-size: 20px;
}

.entry-content h3,
.entry-content h4 {
	font-weight: 600;
}

.entry-content h4 {
	margin-top: 40px;
}

h5 {
	font-size: 18px;
}

h6 {
	font-size: 16px;
}

/* Objects
--------------------------------------------- */

embed,
iframe,
img,
object,
video,
.wp-caption {
	max-width: 100%;
}

img {
	height: auto;
	vertical-align: top;
}

figure {
	margin: 0;
}

/* Gallery
--------------------------------------------- */

.gallery {
	overflow: hidden;
}

.gallery img {
	border: 1px solid #eee;
	height: auto;
	padding: 4px;
}

.gallery img:focus,
.gallery img:hover {
	border: 1px solid #999;
	outline: none;
}

.gallery-columns-1 .gallery-item {
	width: 100%;
}

.gallery-columns-2 .gallery-item {
	width: 50%;
}

.gallery-columns-3 .gallery-item {
	width: 33%;
}

.gallery-columns-4 .gallery-item {
	width: 25%;
}

.gallery-columns-5 .gallery-item {
	width: 20%;
}

.gallery-columns-6 .gallery-item {
	width: 16.6666%;
}

.gallery-columns-7 .gallery-item {
	width: 14.2857%;
}

.gallery-columns-8 .gallery-item {
	width: 12.5%;
}

.gallery-columns-9 .gallery-item {
	width: 11.1111%;
}

.gallery-columns-2 .gallery-item:nth-child(2n+1),
.gallery-columns-3 .gallery-item:nth-child(3n+1),
.gallery-columns-4 .gallery-item:nth-child(4n+1),
.gallery-columns-5 .gallery-item:nth-child(5n+1),
.gallery-columns-6 .gallery-item:nth-child(6n+1),
.gallery-columns-7 .gallery-item:nth-child(7n+1),
.gallery-columns-8 .gallery-item:nth-child(8n+1),
.gallery-columns-9 .gallery-item:nth-child(9n+1) {
	clear: left;
}

.gallery-item {
	float: left;
	margin: 0 0 30px;
	text-align: center;
}

/* Forms
--------------------------------------------- */

input,
select,
textarea {
	background-color: #fff;
	border: 1px solid #ddd;
	color: #333;
	font-size: 18px;
	font-weight: 400;
	padding: 15px;
	width: 100%;
}

input:focus,
textarea:focus {
	border: 1px solid #999;
	outline: none;
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

:-ms-input-placeholder {
	color: #333;
	opacity: 1;
}

::placeholder {
	color: #333;
	opacity: 1;
}

button,
input[type="button"],
input[type="reset"],
input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form input[type="submit"],
.site-container div.wpforms-container-full .wpforms-form button[type="submit"],
.button {
	background-color: #333;
	border: 0;
	border-radius: 5px;
	color: #fff;
	cursor: pointer;
	font-size: 16px;
	font-weight: 600;
	padding: 15px 30px;
	text-align: center;
	text-decoration: none;
	white-space: normal;
	width: auto;
}

.entry-content .button:focus,
.entry-content .button:hover {
	color: #fff;
}

.button {
	display: inline-block;
}

.site-container button:disabled,
.site-container button:disabled:hover,
.site-container input:disabled,
.site-container input:disabled:hover,
.site-container input[type="button"]:disabled,
.site-container input[type="button"]:disabled:hover,
.site-container input[type="reset"]:disabled,
.site-container input[type="reset"]:disabled:hover,
.site-container input[type="submit"]:disabled,
.site-container input[type="submit"]:disabled:hover {
	background-color: #eee;
	border-width: 0;
	color: #777;
	cursor: not-allowed;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-results-button {
	display: none;
}

/* Tables
--------------------------------------------- */

table {
	border-collapse: collapse;
	border-spacing: 0;
	margin-bottom: 40px;
	width: 100%;
	word-break: break-all;
}

tbody {
	border-bottom: 1px solid #eee;
}

td,
th {
	line-height: 2;
	text-align: left;
	vertical-align: top;
}

td {
	padding: 0.5em;
}

tr {
	border-top: 1px solid #eee;
}

th {
	font-weight: 600;
	padding: 0.5em;
}

/* Screen Reader Text
--------------------------------------------- */

.screen-reader-shortcut,
.screen-reader-text,
.screen-reader-text span {
	border: 0;
	clip: rect(0, 0, 0, 0);
	height: 1px;
	overflow: hidden;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus,
.screen-reader-shortcut:focus,
.widget_search input[type="submit"]:focus {
	background: #fff;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #333;
	display: block;
	font-size: 1em;
	font-weight: 700;
	height: auto;
	padding: 15px 23px 14px;
	text-decoration: none;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}

.more-link {
	display: inline-block;
	position: relative;
	margin-bottom: 30px;
}



/*=========================================================
JJG BASE
=========================================================*/

:root{

    --color-primary:#d35f10;
    --color-dark:#1b1b1b;
    --color-text:#4d4d4d;
    --color-light:#f7f7f7;

    --container:1300px;

}


/*=========================================================
RESET
=========================================================*/

*,
*::before,
*::after{
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{
    overflow-x:hidden;
}


/*=========================================================
GENESIS
=========================================================*/

.site-container{
    overflow:hidden;
}

.site-inner{

    width:100%;
    max-width:none;
    margin:0;
    padding:0;

}

.content{

    width:100%;
    max-width:none;
    margin:0;
    padding:0;

}

.entry,
.entry-content{

    width:100%;
    max-width:none;
    margin:0;
    padding:0;

}


/*=========================================================
PAGINA'S
=========================================================*/

body:not(.home) .entry-title,
body:not(.home) .page-title{

    display:none!important;

}


/*=========================================================
GUTENBERG
=========================================================*/

.alignfull{

    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);

}

.wp-block-cover.alignfull{

    width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);

}


/*=========================================================
SECTIONS
=========================================================*/

.jjg-section{

    padding:110px 0;

}

.jjg-container{

    width:min(var(--container),92%);
    margin:0 auto;

}


/*=========================================================
TYPO
=========================================================*/

body{

    font-family:"Source Sans Pro",sans-serif;
    color:var(--color-text);

}

h1,
h2,
h3,
h4{

    font-family:"Source Sans Pro",sans-serif;
    color:var(--color-dark);

}

p{

    color:var(--color-text);
    line-height:1.8;

}


/*=========================================================
BUTTONS
=========================================================*/

.jjg-btn,
.wp-block-button__link{

    display:inline-flex;
    align-items:center;
    justify-content:center;

    background:var(--color-primary);
    color:#fff!important;

    text-decoration:none;

    border-radius:10px;

    padding:16px 28px;

    transition:.25s;

}

.jjg-btn:hover,
.wp-block-button__link:hover{

    transform:translateY(-2px);

}


/*=========================================================
FORMS
=========================================================*/

.wpforms-form input:not([type=checkbox]):not([type=radio]),
.wpforms-form textarea,
.wpforms-form select{

    width:100%!important;

    border:1px solid #ddd!important;

    border-radius:10px!important;

    padding:16px 18px!important;

    background:#fff!important;

    transition:.25s;

}

.wpforms-form input:focus,
.wpforms-form textarea:focus,
.wpforms-form select:focus{

    border-color:var(--color-primary)!important;
    outline:none;

}


/* checkbox reset */

.wpforms-form input[type=checkbox],
.wpforms-form input[type=radio]{

    border:none!important;
    box-shadow:none!important;
    outline:none!important;

}

/*=========================================================
HEADER
Witte header, zwarte menu-items. .wrap gebruikt dezelfde
--container-breedte als de rest van de site (.jjg-container),
dus logo en menuknop lijnen automatisch uit met de hero-tekst
op elke schermbreedte - geen aparte berekening nodig.
=========================================================*/

.site-header {
	background: #fff;
	box-shadow: 0 2px 10px rgba(0,0,0,0.06);
	position: sticky !important;
	top: 0 !important;
	z-index: 1000 !important;
	padding: 1.1rem 2rem;
}

/* Geen eigen "position" hier - .nav-primary's position:absolute op
   mobiel moet uitlijnen op .site-header (volledige breedte), niet op
   deze smallere, gecentreerde container. */
.site-header > .wrap {
	width: min(var(--container), 92%);
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: nowrap;
}

.title-area {
	flex: 0 0 auto;
	margin: 0;
	padding: 0;
}

.custom-logo {
	display: block;
	height: 56px;
	width: auto;
}

p.site-title {
    display: none;
}

/*=========================================================
INNER PAGES
Universele layout voor alle pagina's behalve Home
=========================================================*/

body:not(.home) .site-inner{

    width:100%;
    max-width:none;
    margin:0;
    padding:0;

}

body:not(.home) .content{

    width:100%;
    max-width:none;
    margin:0;
    padding:0;

}

body:not(.home) .entry,
body:not(.home) .entry-content{

    width:100%;
    max-width:none;
    margin:0;
    padding:0;

}


/*=========================================================
UNIVERSELE CONTENT CONTAINER
=========================================================*/

.jjg-page{

    width:min(1200px,92%);
    margin:0 auto;

    padding:90px 0 110px;

}

.jjg-page-small{

    width:min(900px,92%);
    margin:0 auto;

    padding:90px 0 110px;

}


/*=========================================================
TITELS
=========================================================*/

.jjg-eyebrow{

    display:inline-block;

    margin-bottom:18px;

    color:var(--color-primary);

    font-size:14px;

    font-weight:700;

    letter-spacing:.18em;

    text-transform:uppercase;

}

.jjg-page h1{

    font-size:56px;

    line-height:1.08;

    font-weight:700;

    letter-spacing:-.03em;

    margin:0 0 32px;

    color:#1b1b1b;

}

.jjg-page h2{

    margin:60px 0 24px;

    font-size:34px;

    line-height:1.18;

    font-weight:700;

    color:#1b1b1b;

}

.jjg-page h3{

    margin:40px 0 16px;

    font-size:25px;

    font-weight:700;

}


/*=========================================================
PARAGRAPHEN
=========================================================*/

.jjg-page p{

    font-size:18px;

    line-height:1.85;

    color:#555;

    margin:0 0 24px;

}


/*=========================================================
LIJSTEN
=========================================================*/

.jjg-page ul{

    margin:0 0 40px;

    padding:0;

    list-style:none;

}

.jjg-page li{

    position:relative;

    padding-left:24px;

    margin-bottom:14px;

    line-height:1.7;

}

.jjg-page li::marker{

    content:"";

}

.jjg-page li::before{

    content:"";

    position:absolute;

    left:0;

    top:.72em;

    width:8px;

    height:8px;

    border-radius:50%;

    background:var(--color-primary);

}


/*=========================================================
CONTENT BREEDTES
=========================================================*/

.jjg-text{

    max-width:760px;

}

.jjg-text-wide{

    max-width:900px;

}


/*=========================================================
AFBEELDINGEN
=========================================================*/

.jjg-image{

    border-radius:20px;

    overflow:hidden;

    margin:50px 0;

}

.jjg-image img{

    display:block;

    width:100%;

    height:auto;

}


/*=========================================================
INFO BLOKKEN
=========================================================*/

.jjg-highlight{
    background:#f7f7f7;
    border-left:4px solid var(--color-primary);
    padding:36px;
    border-radius:14px;
    margin:50px 0;
}

.jjg-highlight p:last-child{
    margin-bottom:0;
}

/*=========================================================
CTA
=========================================================*/

.jjg-page-cta{

    background:#1f1f1f;

    color:#fff;

    padding:70px;

    border-radius:22px;

    margin-top:80px;

}

.jjg-page-cta h2{

    color:#fff;

    margin-top:0;

}

.jjg-page-cta p{

    color:rgba(255,255,255,.82);

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1100px){

    .jjg-page{

        width:min(94%,1200px);

    }

}

@media(max-width:768px){

    .jjg-page{

        padding:70px 0;

    }

    .jjg-page h1{

        font-size:40px;

    }

    .jjg-page h2{

        font-size:30px;

    }

    .jjg-page p{

        font-size:17px;

    }

    .jjg-page-cta{

        padding:40px 28px;

    }

}

/*=========================================================
JJG SPLIT SECTION
=========================================================*/

.jjg-split{

    display:grid;

    grid-template-columns:1fr 1fr;

    gap:90px;

    align-items:center;

    margin:110px 0;

}

.jjg-split.reverse{

    direction:rtl;

}

.jjg-split.reverse>*{

    direction:ltr;

}


/*=========================================================
IMAGE
=========================================================*/

.jjg-split-image{

    position:relative;

    overflow:hidden;

    border-radius:22px;

    min-height:560px;

}

.jjg-split-image img{

    width:100%;
    height:100%;

    position:absolute;
    inset:0;

    object-fit:cover;

    transition:.45s;

}

.jjg-split:hover img{

    transform:scale(1.04);

}


/* schuine overlay */

.jjg-split-image::after{

    content:"";

    position:absolute;

    top:0;
    right:-1px;

    width:140px;
    height:100%;

    background:#fff;

    clip-path:polygon(
        100% 0,
        100% 100%,
        0 100%
    )

}


/*=========================================================
TEXT
=========================================================*/

.jjg-split-text{

    max-width:620px;

}

.jjg-split-text h2{

    margin:0 0 24px;

    font-size:42px;

    line-height:1.15;

}

.jjg-split-text p{

    font-size:18px;

    line-height:1.9;

}


/*=========================================================
FEATURES
=========================================================*/

.jjg-features{

    display:grid;

    grid-template-columns:repeat(2,minmax(0,1fr));

    gap:26px;

    margin:55px 0;

}

.jjg-feature{

    background:#f8f8f8;

    border-radius:16px;

    padding:28px;

    transition:.25s;

}

.jjg-feature:hover{

    transform:translateY(-4px);

    box-shadow:0 18px 35px rgba(0,0,0,.08);

}

.jjg-feature h3{

    margin:0 0 12px;

    font-size:21px;

}

.jjg-feature p{

    margin:0;

    font-size:16px;

}


/*=========================================================
PROJECT GALLERY
=========================================================*/

.jjg-gallery{

    display:grid;

    grid-template-columns:2fr 1fr;

    gap:24px;

    margin:100px 0;

}

.jjg-gallery figure{

    overflow:hidden;

    border-radius:18px;

    margin:0;

}

.jjg-gallery img{

    width:100%;
    height:100%;

    object-fit:cover;

    transition:.35s;

}

.jjg-gallery figure:hover img{

    transform:scale(1.05);

}


/*=========================================================
QUOTE
=========================================================*/

.jjg-quote{

    margin:90px 0;

    padding:60px;

    background:#f7f7f7;

    border-left:6px solid var(--color-primary);

}

.jjg-quote p{

    font-size:24px;

    line-height:1.6;

    color:#222;

    margin:0;

}


/*=========================================================
CTA
=========================================================*/

.jjg-service-cta{

    margin-top:120px;

    background:#1f1f1f;

    border-radius:24px;

    text-align:center;

    padding:90px 70px;

    color:#fff;

}

.jjg-service-cta h2{

    color:#fff;

    font-size:46px;

    margin:0 0 22px;

}

.jjg-service-cta p{

    color:rgba(255,255,255,.82);

    max-width:720px;

    margin:0 auto 36px;

}

.jjg-service-cta .wp-block-button{

    margin:0 auto;

}


/*=========================================================
RESPONSIVE
=========================================================*/

@media(max-width:1100px){

.jjg-split{

grid-template-columns:1fr;

gap:55px;

}

.jjg-gallery{

grid-template-columns:1fr;

}

}

@media(max-width:768px){

.jjg-split-image{

min-height:340px;

}

.jjg-split-image::after{

display:none;

}

.jjg-features{

grid-template-columns:1fr;

}

.jjg-service-cta{

padding:55px 30px;

}

.jjg-service-cta h2{

font-size:34px;

}

.jjg-quote{

padding:35px;

}

.jjg-quote p{

font-size:20px;

}

}

/*======================================================
FOOTER
======================================================*/

.jjg-footer{
    padding:90px 0 35px;
    background:#f7f7f5;
    border-top:1px solid #ececec;
}

.jjg-footer-grid{
    display:grid;
    grid-template-columns:1.5fr 1fr 1fr 1fr;
    gap:70px;
	width: min(var(--container), 92%)!important;
    margin: 0 auto!important;
}

.jjg-footer-brand img{
    width:180px;
    height:auto;
    margin-bottom:30px;
}

.jjg-footer-brand p{
    color:#666;
    line-height:1.9;
    max-width:290px;
}

.jjg-footer h4{
    font-size:26px;
    margin-bottom:28px;
    font-weight:500;
}

.jjg-footer ul{
    margin:0;
    padding:0;
    list-style:none;
}

.jjg-footer li{
    margin-bottom:15px;
}

.jjg-footer a{
    color:#555;
    text-decoration:none;
    transition:.25s;
}

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

.jjg-footer-youtube{
    display:inline-flex;
    align-items:center;
    gap:12px;
    margin-top:35px;
    font-weight:600;
}

.jjg-footer-youtube svg{
    width:22px;
    height:22px;
}

.jjg-footer-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-top:70px;
    padding-top:30px;
    border-top:1px solid #e4e4e4;
    color:#777;
}

.jjg-footer-bottom div{

    display:flex;

    gap:18px;

}

@media (max-width:900px){

.jjg-footer-grid{
grid-template-columns:1fr;
gap:50px;
text-align: center;
}

	.jjg-footer-brand,
	.jjg-footer-brand img {
    margin: 30px auto;
}

	 .jjg-footer-bottom{
        flex-direction:column;
        align-items:center;
        justify-content:center;
        text-align:center;
        gap:12px;
    }

    .jjg-footer-bottom div{
        justify-content:center;
        align-items:center;
        flex-wrap:wrap;
        gap:10px;
    }
	
    .jjg-intro {
        padding: 70px 0;
    }
	
	   .jjg-intro {
        padding: 70px 0;
    }
    .jjg-intro-grid {
        grid-template-columns: 1fr!important;
        gap: 40px!important;
    }

}


/* ============================================
   PRIMARY MENU
   ============================================ */

.nav-primary {
    text-align: left;
    margin: 0;
    padding: 0;
    float: none;
    clear: none;
    width: auto;
    flex: 1 1 auto;
    min-width: 0;
    justify-content: flex-end;
}

@media (min-width: 960px) {
    .nav-primary {
        display: flex;
    }
}

.nav-primary .genesis-nav-menu {
    display: flex;
    gap: 2rem;
    list-style: none;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
}

@media (min-width: 960px) {
    .nav-primary .genesis-nav-menu {
        flex-wrap: nowrap;
    }
}

.nav-primary .genesis-nav-menu > li {
    margin: 0;
    padding: 0;
    position: relative;
}

.nav-primary .genesis-nav-menu a {
    color: var(--color-dark);
    text-decoration: none;
    font-weight: 500;
    font-size: 0.95rem;
    transition: color 0.3s;
    display: block;
    padding: 0.5rem 0;
    border: none;
}

.nav-primary .genesis-nav-menu a:hover,
.nav-primary .genesis-nav-menu .current-menu-item > a {
    color: var(--color-primary);
    border-bottom: 2px solid var(--color-primary);
}

/* ============================================
   SUBMENU (DESKTOP ONLY - HOVER)
   ============================================ */

@media (min-width: 960px) {
    .nav-primary .genesis-nav-menu .sub-menu {
        position: absolute;
        top: calc(100% + 0.5rem);
        left: 0;
        background: #fff;
        list-style: none;
        min-width: 220px;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
        border-radius: 4px;
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px);
        transition: all 0.3s ease;
        padding: 0.5rem 0;
        display: flex;
        flex-direction: column;
        z-index: 100;
    }

    .nav-primary .genesis-nav-menu li:hover > .sub-menu {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .nav-primary .genesis-nav-menu .sub-menu li {
        margin: 0;
        padding: 0;
    }

    .nav-primary .genesis-nav-menu .sub-menu a {
        padding: 0.75rem 1.5rem;
        display: block;
        font-weight: 400;
        font-size: 0.9rem;
        border: none;
        color: var(--color-dark);
    }

    .nav-primary .genesis-nav-menu .sub-menu a:hover {
        background: var(--color-light);
        color: var(--color-primary);
    }

	/* ============================================
   menu toggle
   ============================================ */

	/* Responsive Menu
	--------------------------------------------- */

	.menu-toggle,
	.sub-menu-toggle {
		display: none;
		visibility: hidden;
	}
}	
	
	
/* ============================================
   CTA BUTTON (Offerte Aanvragen)
   ============================================ */

.nav-primary .genesis-nav-menu .menu-cta > a {
    background: var(--color-primary);
    color: #fff;
    padding: 0.7rem 1.6rem;
    border-radius: 6px;
    font-weight: 600;
    font-size: 0.9rem;
    margin-left: 0.75rem;
    box-shadow: 0 2px 6px rgba(211, 95, 16, 0.25);
    transition: background-color 0.2s ease, box-shadow 0.2s ease, transform 0.15s ease;
}

.nav-primary .genesis-nav-menu .menu-cta > a:hover,
.nav-primary .genesis-nav-menu .menu-cta > a:focus {
    background: #b84a0a;
    color: #fff;
    box-shadow: 0 4px 10px rgba(211, 95, 16, 0.3);
    transform: translateY(-1px);
}

@media (max-width: 959px) {
    .nav-primary .genesis-nav-menu .menu-cta {
        border-bottom: none;
        padding: 0.75rem 1.5rem 1rem;
    }

    .nav-primary .genesis-nav-menu .menu-cta > a {
        display: block;
        margin-left: 0;
        padding: 0.9rem 1.5rem;
        border-radius: 8px;
        text-align: center;
        font-size: 1rem;
    }

    .nav-primary .genesis-nav-menu .menu-cta > a:hover,
    .nav-primary .genesis-nav-menu .menu-cta > a:focus {
        transform: none;
    }
	 /* Zorgt dat de pijl van .sub-menu-toggle uitlijnt op zijn eigen
       menu-item, niet op het hele (scrollbare) menu - dat veroorzaakte
       de losstaande pijl ergens in het midden van de lijst. */
    .nav-primary .genesis-nav-menu li.menu-item-has-children {
        position: relative;
    }

    /* De oranje onderstreping is een desktop-only "huidige pagina"
       effect dat niet beperkt was tot desktop, en daardoor als volle-
       breedte streep door de mobiele lijst liep. */
    .nav-primary .genesis-nav-menu a,
    .nav-primary .genesis-nav-menu a:hover,
    .nav-primary .genesis-nav-menu a:focus,
    .nav-primary .genesis-nav-menu .current-menu-item > a {
        border-bottom: none !important;
    }
}

/* ============================================
   MOBILE MENU TOGGLE & STRUCTURE
   ============================================ */

.menu-toggle {
    font-size: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 84px;
	width: 84px!important;
    margin: 0;
    padding: 0.7rem 1.2rem;
    background: var(--color-dark);
    border: 2px solid var(--color-dark);
    border-radius: 4px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    flex-shrink: 0;
    cursor: pointer;
}

.menu-toggle [class*="dashicons"],
.menu-toggle::before {
    display: none;
}

.menu-toggle::after {
    content: "MENU";
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    color: #fff;
}

.menu-toggle:hover,
.menu-toggle:focus {
    background: #333;
    border-color: #333;
    outline: none;
}

.menu-toggle.activated {
    background: #fff;
    border-color: #444444;
}

.menu-toggle.activated::after {
    content: "X";
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--color-dark);
}

/* ============================================
   SUBMENU TOGGLE (MOBILE)
   ============================================ */

.sub-menu-toggle {
    font-size: 0;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
    position: absolute;
    right: 0.25rem;
    top: 50%;
    transform: translateY(-50%);
}

.sub-menu-toggle::before {
    display: none;
}

.sub-menu-toggle::after {
    content: "↘";
    font-size: 0.9rem;
    color: var(--color-dark);
    transition: color 0.2s ease;
}

button.sub-menu-toggle.dashicons-before.dashicons-arrow-down-alt2.activated {
    display: none;
}

.sub-menu-toggle:hover::after,
.sub-menu-toggle:focus::after,
.sub-menu-toggle.activated::after {
    color: var(--color-primary);
    outline: none;
}

/* ============================================
   RESPONSIVE: MOBILE LAYOUT (max-width: 959px)
   ============================================ */

@media (max-width: 959px) {
    .site-header > .wrap {
        flex-wrap: nowrap;
    }

    .menu-toggle {
        margin-left: auto;
    }

    /* Genesis's inline display:none/block must override our stylesheet */
    .nav-primary {
        display: none;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        width: 100%;
        background: #fff;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
        z-index: 999;
        max-height: 80vh;
        overflow-y: auto;
    }

    .nav-primary .genesis-nav-menu {
        flex-direction: column;
        gap: 0;
        padding: 0.5rem 0;
    }

    .nav-primary .genesis-nav-menu > li {
        border-bottom: 1px solid #e0e0e0;
    }

    .nav-primary .genesis-nav-menu > li:last-child {
        border-bottom: none;
    }

    .nav-primary .genesis-nav-menu > li.menu-item-has-children > a {
        background: var(--color-light);
    }

    .nav-primary .genesis-nav-menu a {
        padding: 0.95rem 1.75rem;
        font-size: 1rem;
        font-weight: 500;
        color: var(--color-dark);
        transition: background-color 0.15s ease, color 0.15s ease;
    }

    .nav-primary .genesis-nav-menu a:hover,
    .nav-primary .genesis-nav-menu a:focus {
        background: var(--color-light);
        color: var(--color-primary);
    }

    .nav-primary .genesis-nav-menu .sub-menu {
        display: none;
        position: static;
        opacity: 1;
        visibility: visible;
        transform: none;
        box-shadow: none;
        border-radius: 0;
        background: #fff;
    }

    .nav-primary .genesis-nav-menu .sub-menu a {
        padding: 0.8rem 1.75rem 0.8rem 2.75rem;
        font-size: 0.95rem;
        font-weight: 400;
        color: var(--color-dark);
        position: relative;
    }

    .nav-primary .genesis-nav-menu .sub-menu a::before {
        content: "→";
        position: absolute;
        left: 1.75rem;
        color: var(--color-primary);
        font-weight: 700;
    }

    .nav-primary .genesis-nav-menu .sub-menu a:hover,
    .nav-primary .genesis-nav-menu .sub-menu a:focus {
        background: var(--color-light);
        color: var(--color-primary);
    }
}
	
