/*
Theme Name:   Woonwerk - Divi Child
Description:  Woonwerk is a premium child theme for Divi, created by Websites with a Heart. It uses Divi as its parent theme and adds additional styles and functionality. To use this child-theme, simply make sure it's activated and that Divi is installed. Divi itself shouldn't be activated; just this child-theme. For questions and support, please get in touch on support@websiteswithaheart.com.
Author:       Websites with a Heart
Author URI:   https://websiteswithaheart.com/
Template:     Divi
Version:      1.2.71.2512072115
*/

/*
General Adjustments
*/

/* prevent site going wider than 2560px [27" screen] so that hero sections don't get stretched too much */
body.ww {
	max-width: 2560px;
	margin: auto;
	background-color: #FAF8F7 !important; /* beige footer 20% */
	background-color: #E2DCD2 !important; /* beige footer */
	background-color: #F1ECE7 !important; /* beige footer 50% */
}
/* ensure navigation stays within the same maximum width */
.ww.et_fixed_nav #main-header {
	max-width: 2560px;
}

/* Menu */
#et-top-navigation {
    font-weight: 300;
}
.et_mobile_menu .menu-item-has-children>a {
    font-weight: initial;
    background-color: initial;
}

/* Headings */
h1, h2, h3, h4, h5, h6 {
	font-weight: 400;
}
h1, h2, h3 {
	padding-bottom: 24px;
}

/* Typography */
sup,
sub {
	font-size: 0.8em;
}
sup {
	bottom: 0.7em;
}
small {
	font-size: smaller;
}

/* custom bulletpoints - in development 
#left-area ul,
.entry-content ul,
.comment-content ul,
body.et-pb-preview #main-content .container ul {
    list-style-type: none;
}
#left-area ul li:before,
.entry-content ul li:before,
.comment-content ul li:before,
body.et-pb-preview #main-content .container ul li:before {
	content: '\2022';
	position: absolute;
	left: 0;
}
#left-area nav ul li:before,
.entry-content nav ul li:before,
.comment-content nav ul li:before,
body.et-pb-preview #main-content .container nav ul li:before {
	content: '';
}
*/

/* Footer */
#main-footer {
    border-top: 1px dotted #eee;
}

/* Input fields */
html body #page-container input {
	-webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important; 
}

/* Sections */
@media (max-width: 980px) {
	.et_pb_section {
		padding: 0;
	}
}

/* Blog */
.comment_area .comment-reply-link {
    display: inline-block;
    position: initial;
    float: right;
    text-align: center;
    width: initial;
}
span.fn, 
span.fn a,
span.comment_date {
	color: #7A7A7A;
}
#comment-wrap .comment_avatar img {
	margin: 0;
}
.comment-body {
    padding: 0 0 0 100px;
}
.et_pb_post .entry-content {
	padding-top: 0;
}
.et_monarch .et_pb_section .et_social_inline_top, 
.et_monarch .et_pb_section .et_social_inline_bottom {
	margin-bottom: 0;
}
.et_post_meta_wrapper #comment-wrap {
	padding-top: 0;
}

#commentform textarea, 
#commentform input[type="text"], 
#commentform input[type="email"], 
#commentform input[type="url"] {
    background-color: #f6f6f6;
    width: 100%;
	font-size: 1.05em;
}

/* prevent top-padding single blogposts build with Divi only */
/*
body.single-post.wwh.et_pb_pagebuilder_layout #main-content .container {
	padding-top: 0;
}
*/
@media (min-width: 980px ) {
	body.single-post.wwh.et_pb_pagebuilder_layout .et_section_specialty .et_pb_column_single {
		padding-top: 0;
	}
}

/* adjust top-padding divi standard blog-overview */
.wwh.et_pb_pagebuilder_layout .et_pb_posts .entry-title,
.wwh.et_pb_pagebuilder_layout .et_pb_posts .et_section_specialty,
.wwh.et_pb_pagebuilder_layout .et_pb_posts div[class*='et_pb_image_'] {
	padding-bottom: 0;
	padding-top: 0;
}

/* 
Module Adjustments 
*/

/* Accordion Module */
.et_pb_accordion .et_pb_toggle_open,
.et_pb_accordion .et_pb_toggle_close {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

/* Blog Module */

/* General */
div[class^="et_pb_"] .post-meta,
div[class^="et_pb_"] .post-meta a,
div[class^="et_pb_"] .post-meta span {
    /*opacity: .7;*/
	margin: 0 0 24px;
}

/* Fullwidth (Normal) Blog */
.et_pb_posts  .post-meta {
    margin-top: -24px;
}
.et_pb_post h2 a {
    font-size: 24px;
    line-height: 1.25;
}
/* Grid Blog */
.et_pb_blog_grid .entry-title {
	letter-spacing: -1px;
}
body .et_pb_blog_grid .post-meta {
	margin-bottom: 12px;
    line-height: 1.5;
}
.et_pb_blog_grid .post-content {
	/*text-align: justify;*/
}
.et_pb_blog_grid .more-link {
	text-align: right;
    display: block;
}
/* Individual Blog Posts */
.et_pb_post .post-meta {
    /* opacity: .7; */
    margin-top: -24px;
	letter-spacing: 1px;
}
.et_pb_posts_nav {
	clear: both;
}
/* Post Title */
.et_pb_fullwidth_section .et_pb_title_container,
.et_pb_fullwidth_section .et_pb_title_featured_container {
	width: 50%;
}
.et_pb_fullwidth_section .et_pb_post_title {
    padding: 12% 0;
}

/* Blurb Module */
.et_pb_blurb_position_left .et_pb_main_blurb_image {
	padding-top: 3px;
}
.et_pb_blurb_position_left .et_pb_blurb_container {
	padding-left: 30px;
}

/* Button Module */
.et_pb_button {
	/*
	width: 100%;
	max-width: 320px;
	margin: 24px auto;
	*/
}
.et_pb_pricing_table_button,
.small_button .et_pb_button,
.et_pb_button.small_button {
	width: initial;
	max-width: initial;
}
.half_button .et_pb_button,
.et_pb_button.half_button{	
	width: 50%;
	max-width: 50%;
}
.third_button .et_pb_button,
.et_pb_button.third_button{	
	width: 33%;
	max-width: 33%;
}
.et_pb_newsletter_button {
	min-width: 100%;
}
.big_button .et_pb_button,
.et_pb_button.big_button{
	max-width: 100%;
	font-size: 1.2em !important;
}
.massive_button .et_pb_button,
.et_pb_button.massive_button{
	max-width: 100%;
	font-size: 6em;
}
.insane_button .et_pb_button,
.et_pb_button.insane_button{
	max-width: 100%;
	font-size: 12em;
}
.et_pb_contact_submit {
	margin: 0 0 0 10px;
    width: 180px;
}
/*
.et-pb-contact-message {
	text-align: center;
    font-size: 1.8em;
    letter-spacing: 1px;
    line-height: 1.2;
    padding: 24px 0 48px;
}
*/

/* Make comment form submit button legible on hover - Divi makes the background almost 100% transparent */
.wwh .form-submit .et_pb_button:hover {
    background-color: lightgrey;
    border-color: lightgrey !important;
    color: #444 !important;
}

/* Divider Module */
#page-container .et_pb_divider {
    margin-bottom: 48px;
}

/* Fullwidth Header Module */
.et_pb_fullwidth_header h1,
.et_pb_fullwidth_header_subhead, 
.et_pb_fullwidth_header p {
	margin-bottom: 24px;
}
.et_pb_fullwidth_header.textonly h1,
.textonly .et_pb_fullwidth_header_subhead, 
.et_pb_fullwidth_header.textonly p,
.et_pb_fullwidth_header.textonly .et_pb_fullwidth_header_container.center .header-content {
	margin: 0 auto;
	padding: 0;
}
.et_pb_fullwidth_header .et_pb_more_button {
	text-align: center;
}
.et_pb_fullscreen .et_pb_fullwidth_header_container {
	min-height: 100vh !important; /* ensures fullscreen module fills whole screen vertically */
}
/* Fullwidth Menu Module */
.fullwidth-menu-nav li.current-menu-ancestor > a,
.fullwidth-menu-nav li.current-menu-item > a {
	text-decoration: underline;
}

/* Image Module */
.wp-caption {
	max-width: 100%;
	padding: 0 !important;
	border: 0;
	background: 0;
}
.imagerow  .et_pb_text,
.imagerow  .et_pb_image {
	margin: 0 auto 12px !important;
}

/* Login Module */
.et_pb_forgot_password {
    text-align: right;
    opacity: .7;
}
.et_pb_login  a[href*="logout"] {
	display: block;
	clear: both;
}

/* Newsletter Module */
#main-content .et_pb_newsletter .et_pb_newsletter_description {
	margin-bottom: 24px;
}
.et_pb_newsletter_form p input {
	font-size: 14px;
}

/* Newsletter Module MailChimp Code Embed START
Optional - uncomment this block to use - Made for MailChimp's Naked Embed Form
Adjust colours #F5907C and #EF6157 to match site */

/*
#mc_embed_signup {
	margin-top: 78px;
}
#mc_embed_signup label {
	display: none;
}
#mc_embed_signup .mc-field-group input {
	width: 100%;
    padding: 14px 4% !important;
    border: none !important;
    color: #666;
    font-size: 14px;
    font-weight: 400;
	margin-bottom: 18px;
}
#mc_embed_signup .button {
	width: 100%;
	padding: 0.3em 1em !important;
    border: none !important;
	color: rgba(255,255,255,0.99) !important;
	font-size: 15px;
    background: #F5907C;
    padding: 14px 4% !important;
    font-weight: normal;
    font-style: normal;
    text-transform: uppercase;
    text-decoration: none;
    letter-spacing: 1px;
	transition: all .2s;
}
#mc_embed_signup .button:hover {
    letter-spacing: 2px;
	cursor: pointer;
	background: #EF6157;
}

#mc_embed_signup .mc-field-group ::-webkit-input-placeholder { 
    color: #666;
}
#mc_embed_signup .mc-field-group ::-moz-placeholder { 
    color: #666;
}
#mc_embed_signup .mc-field-group :-ms-input-placeholder { 
    color: #666;
}
#mc_embed_signup .mc-field-group :-moz-placeholder { 
    color: #666;
}
*/

/* Newsletter Module MailChimp Code Embed END */

/* Newsletter in sidebar START */
/* Optional - uncomment to use - adjust colours to suit */
/*
#sidebar #mc_embed_signup .mc-field-group input,
.et_pb_sidebar_0 #mc_embed_signup .mc-field-group input {
	border: 1px solid #F8F3F2 !important;
}
*/
/* Newsletter in sidebar END */

/* Newsletter Slim Email Optin Start - Not Working with new GDPR settings, needs redeveloping */
/*
#main-content .et_pb_subscribe.slim_email_optin {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin: 0 !important;
	text-align: center;
} 
.et_pb_newsletter.slim_email_optin {
	display: block;
}
#main-content .slim_email_optin .et_pb_newsletter_description {
	width: 100%;
	margin-bottom: 0;
}
.slim_email_optin .et_pb_newsletter_form {
	width: 100%;
}
.slim_email_optin_horizontal .et_pb_newsletter_form {
	width: auto;
	display: inline-block;
}
.slim_email_optin_horizontal .et_pb_newsletter_description {
	width: auto;
	display: inline-block;
}
.slim_email_optin_horizontal .et_pb_newsletter_description .et_pb_module_header {
	padding-top: 7px;
}
.slim_email_optin .et_pb_newsletter_button {
	margin: 0;
}
.slim_email_optin_vertical .et_pb_newsletter_description {
	margin-bottom: 24px !important;
}
.slim_email_optin .et_pb_newsletter_form input {
	width: 240px;
	margin-right: 10px;
    display: inline-block;
}
.slim_email_optin p {
    display: inline-block;
}
@media (max-width:1210px) {
	.slim_email_optin_horizontal .et_pb_newsletter_description, 
	.slim_email_optin_horizontal .et_pb_newsletter_form 	{
		width: 100%;
		padding-left: 0;
	}
}
@media (max-width:990px) {	
	.slim_email_optin_vertical .et_pb_newsletter_form input,
	.slim_email_optin_vertical .et_pb_newsletter_button	{
		width: auto;
		margin-left: 10px;
	}
}
@media (max-width:630px) {
	.slim_email_optin p,
	.slim_email_optin .et_pb_newsletter_form input	{
		display: block;
		width: 100%;
	}
	.slim_email_optin_horizontal h2 {
		padding-bottom: 3px;
	}
	.slim_email_optin_horizontal .et_pb_newsletter_button {
		margin-bottom: 18px;
	}
}
@media (min-width:1280px) {
	.slim_email_optin .et_pb_newsletter_description,
	.slim_email_optin .et_pb_newsletter_form {
		float: none;
	}
}
*/
/* Newsletter Slim Email Optin END */

/* Person Module */
.et_pb_team_member_description h4 {
	text-align: center;
	padding-top: 12px
}
.et_pb_member_position {
    text-align: center;
	padding-bottom: 12px;
}
.et_pb_portfolio_grid .et_pb_portfolio_item.et_pb_grid_item h2 {
    font-size: 13px;
}

/* Portfolio Module */
.et_pb_bg_layout_light .et-pb-arrow-prev,
.et_pb_bg_layout_light .et-pb-arrow-next {
    color: #fff;
}
.et_pb_portfolio_item .post-meta {
    /*display: none;*/
}

.woonwerk .et_pb_portfolio_item .post-meta {
    color: transparent;
    position: absolute;
    right: 0;
    bottom: -52px;
}
.woonwerk .et_pb_portfolio_item .post-meta a {
    color: #0078DC;
    border: 1px solid !important;
    padding: 2px 6px;
    border-radius: 2px;
	cursor: default;
}


/* Post Title Module */
.et_pb_title_container {
    text-align: center;
}
.et_pb_title_container h1 {
    font-size: 26px;
    line-height: 1em;
    padding: 24px 0;
}
.et_pb_post_title.et_pb_featured_bg .et_pb_title_meta_container {
    padding-bottom: 12px;
	font-size: .9em;
}

/* Tabs Module */
ul.et_pb_tabs_controls {
	background: 0;
}

/* Testimonial Module */
.et_pb_testimonial_portrait:before {
	display: none;
}
.wwh .et_pb_testimonial_author {
	margin-top: 12px;
}

/* Testimonial Slider */
.wwh_testimonial_slider {
	overflow: initial;
}
.wwh_testimonial_slider .et-pb-controllers {
	bottom: -24px;
}
.wwh_testimonial_slider .et-pb-controllers a {
	box-shadow: 0 0 1px 0px #999;
}

/* Text Module */

/* NOTE:
We also apply these styles to all pages built with the default WordPress editor. We can target pages built with the default editor with CSS, because they don't get the class 'et_pb_pagebuilder_layout' applied to their body tag (pages built with the Divi Builder DO get this class). 
*/
.et_pb_text  img,
body:not(.et_pb_pagebuilder_layout) #main-content img {
	margin: 24px auto;
}
body #main-content .textwidget img {
	margin: 0 auto;
}
.et_pb_text  .wp-caption,
body:not(.et_pb_pagebuilder_layout) #main-content .wp-caption {
	margin-bottom: 24px;
}
.et_pb_text  .wp-caption img,
body:not(.et_pb_pagebuilder_layout) #main-content .wp-caption img {
	margin-bottom: 0;
}
.et_pb_text  .wp-caption p,
body:not(.et_pb_pagebuilder_layout) #main-content .wp-caption p {
	padding-bottom: 0;
}
.et_pb_text  img.alignleft,
body:not(.et_pb_pagebuilder_layout) #main-content img.alignleft {
	margin-right: 20px;
}
.et_pb_text  img.alignright,
body:not(.et_pb_pagebuilder_layout) #main-content img.alignright {
	margin-left: 20px;
}
#main-content .et_pb_text .gallery img,
body:not(.et_pb_pagebuilder_layout) #main-content .gallery img {
border: 1px solid #eee;
}

/*
Sidebar and widgets
*/
@media (min-width: 981px) {
	.et_right_sidebar #sidebar {
		padding-left: 60px;
	}
	.et_left_sidebar #sidebar {
		padding-right: 60px;
	}
	#main-content .container:before {    
		width: 0;
	}
}

#sidebar .et_pb_widget {
    margin-bottom: 48px;
}

/* Sidebar widget titles */
.et_pb_widget_area h4,
#sidebar h4 {
    border-bottom: 1px dotted #ddd;
    padding: 0 0 3px 0;
    margin: 12px 0;
	font-size: 18px;
}

/* Search Widget */
.widget_search input#s,
.widget_search input#searchsubmit {
    background: #fff;
	color: #7A7A7A;
}
.widget_search input#searchsubmit {
    width: initial;
}

/* About me Widget */
/* Deregistered in our child theme, so not needed, but keeping just in case someone wants to use it for some reason */
.widget_aboutmewidget img#about-image {
    float: none;
    margin: 6px auto;
    display: block;
}

/* Text Widget */
#sidebar .textwidget img {
	margin-bottom: 0;
}

/* Calendar Widget */
#wp-calendar,
#wp-calendar tr td {
	border: 0;
}
#wp-calendar tr {
	padding: 0.857em 0.587em; /* no effect */
}

/* Footer widgets */
#main-footer .footer-widget h4 {
	clear: both;
}
#footer-widgets .footer-widget li:before {
	border-width: 0;	
}
#footer-widgets .footer-widget li {
	padding-left: 0;	
}
/*
#main-footer #footer-widgets .footer-widget li a {
	color: #666;
}
*/
.footer-widget .alignleft {
	width: 100%;
	text-align: left;
}
.footer-widget .aligncenter {
	width: 100%;
	text-align: center;
}
.footer-widget .alignright {
	width: 100%;
	text-align: right;
}

/* Footer credits */
#footer-bottom {
/* prevents credits floating left in any empty widget area if footer is for example 3 columns and only one widget area is used */
    clear: both;
}
#footer-bottom .container {
    width: 100%;
}
#footer-info {
	  
    text-align: center;
    width: 90%;
	margin: auto;
	padding: 12px 0;
}
#footer-info a {
	font-weight: 500;
}

  
@media (max-width: 500px) {
	#footer-info a {
		max-width: 95%;
		margin: auto;
	}
}
*/

/* Make the two custom HTML widgets inside the last footer-widget float to the right */
.footer-widget:last-child .widget_custom_html {
    float: right; /* Float both custom HTML widgets inside the last footer widget */
    clear: both;  /* Clear the previous float (if any) */
}

/* Optional: Ensure that all widgets inside the footer-widget don't overlap */
.footer-widget:last-child .textwidget {
    clear: both;
}

/* To prevent layout issues from floating widgets */
.footer-widget:last-child {
    position: relative;
}

/* Optionally, adjust width for the floated widgets if necessary */
.footer-widget:last-child .widget_custom_html {
    width: 100%;
}


/* 
Extra Functionality
*/

/* Ensure empty paragraphs don't take up space */
p:empty {
	height: 0;
    margin: 0;
    padding: 0;
}
/* WordPress adds empty paragraphs in the editor sometimes. 
Source: http://wordpress.stackexchange.com/questions/13798/remove-empty-paragraphs-from-the-content */

/* Round images */
img.roundimage,
.roundimage img,
.roundimage {
	border-radius: 50%;
}
/* No borders around input fields */
.noborder,
.noborder input {
	border: 0 !important; 
}
/* Center testimonial items */
.center .et_pb_testimonial_portrait {
	display: block;
    float: none;
    margin: 12px auto 24px;
}
.center .et_pb_testimonial_description {
	display: block;
	margin: auto !important;
}
.center .et_pb_testimonial_description_inner {
	margin: auto;
	max-width: 520px;
	width: 100% !important;
	display: block !important;
}
/* Force center social follow items - give class 'center' to module */
.center .et_pb_social_media_follow,
.center.et_pb_social_media_follow { 
	display: block;
	text-align: center;
}
.center .et_pb_social_media_follow li,
.center.et_pb_social_media_follow li,
.et_monarch .center .et_social_networks li, 
.et_monarch .center.widget_monarchwidget .et_social_networks li, 
.et_monarch .center.widget .et_social_networks li, 
.et_monarch .center.widget_text .et_social_networks li {
	display: inline-block;
	float: none;
}

/* Social share icons */
.et_monarch .et_social_autowidth li,
.et_monarch .aligncenter .et_social_networks li,
.et_monarch .aligncenter .widget_monarchwidget .et_social_networks li,
.et_monarch .aligncenter .widget .et_social_networks li,
.et_monarch .aligncenter .widget_text .et_social_networks li {
	display: inline-block;
	float: none;	
}
/*
.et_monarch .et_social_left {
	text-align: center;
}
*/

/* Bottom align items in unequal columns heights
   Requires equal column heights to be set in row
   And class .wwh_row_button_align_bottom set on the row */
.wwh_row_button_align_bottom.et_pb_equal_columns .et_pb_column {
    display: flex;
    flex-flow: column;
}
.wwh_row_button_align_bottom.et_pb_equal_columns .et_pb_button_module_wrapper {
	margin-top: auto !important;
}

/* Force zero spacing below h1, h2, h3 - give class 'wwh_headings_zero_bottom_padding' to text-module to apply  */
.wwh_headings_zero_bottom_padding h1,
.wwh_headings_zero_bottom_padding h2,
.wwh_headings_zero_bottom_padding h3 {
	padding-bottom: 0; 
}

/* WooCommerce */
#page-container .woocommerce-message,
#page-container .woocommerce-error,
#page-container .woocommerce-info {
    color: #747474 !important;
    background: #F8F3F2 !important;
}
.woocommerce .quantity input.qty, .woocommerce-page .quantity input.qty, .woocommerce #content .quantity input.qty, .woocommerce-page #content .quantity input.qty, .woocommerce-cart table.cart td.actions .coupon .input-text {
    color: #747474 !important;
    background: #F8F3F2 !important;
}
.woocommerce #coupon_code::placeholder { 
  color: #747474 !important;
}
.woocommerce #coupon_code::-webkit-input-placeholder { 
  color: #747474 !important;
}
.woocommerce #coupon_code::-moz-placeholder { 
  color: #747474 !important;
}
.woocommerce #coupon_code:-ms-input-placeholder { 
  color: #747474 !important;
}
.woocommerce #coupon_code:-moz-placeholder { 
  color: #747474 !important;
}
body.woocommerce div.product p.price,
body.woocommerce-page div.product p.price {
	color: #303030;
}
*/

/* WooCommerce Layout */
.woocommerce input#coupon_code {
    padding: 12px;
}
.woocommerce .woocommerce-cart-form button[name="update_cart"],
.woocommerce .woocommerce-cart-form button[name="update_cart"]:hover {
	padding: 10px 20px !important;
	border: 1px solid !important;
	font-size: 15px !important;
}

/* *************************************
Optional extras - uncomment to switch on 
************************************* */

/* Dotted borders below links except on video overlays, sliders, audio, images and social icons */

.entry-content a:not(.et_pb_button),
.et_pb_widget a{
	border-bottom: 1px dotted;
}
.entry-content .et_pb_video_overlay_hover a,
.entry-content div[class*="et_pb_image"] a,
.entry-content div[class*="slide"] a:not(.et_pb_button),
.entry-content div[class*="audio"] a,
.entry-content div[class*="social"] a,
.entry-content a.entry-featured-image-url,
.entry-content .entry-title a,
.entry-content .post-meta a,
#main-content .tagcloud a,
.entry-content .more-link,
.et_pb_member_social_links a,
li[class*=et_pb_tab] a,
.et_pb_widget a,
.scroll-down-container,
#main-content .et_social_icons_container a:hover,
#main-content .et_pb_blurb_container .et_pb_module_header a,
.woocommerce table.cart .product-thumbnail a,
.et_pb_gallery_items a,
.et-menu a,
.et_pb_filterable_portfolio a,
.et_pb_portfolio a,
.et_pb_social_icon a.icon,
.wwt_team_cat_tag,
.ww_team_overview_link,
.ww_news_post,
.ww_breadcrumb a {
	border-bottom: 0 !important;
}
.entry-content .et_pb_portfolio_filter a {
	border-bottom: 1px solid #e2e2e2 !important;
}

/* links sidebar */
.et_pb_widget a {
    color: inherit;	
}
/* Make Contact Form 7 look like Divi contact forms */
.wpcf7-text, .wpcf7-textarea, .wpcf7-captchar, .wpcf7-quiz, .wpcf7-date {
	background-color: #F8F3F2 !important;
	border: none !important;
	width: 100% !important;
	-moz-border-radius: 0 !important;
	-webkit-border-radius: 0 !important;
	border-radius: 0 !important;
	font-size: 14px;
	color: #747474 !important;
	padding: 16px !important;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.wpcf7-submit {
	color: #fff !important;
	margin: 8px auto 0;
	cursor: pointer;
	font-size: 20px;
	font-weight: 500;
	padding: 6px 20px;
	line-height: 1.7em;
	background: #841A5D;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-moz-transition: all 0.2s;
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
	border: 0;
    float: right;
    margin-bottom: 24px;
}
.wpcf7-submit:hover {
	letter-spacing: 1px;
	padding: 6px 20px !important; 
}

/* logo bigger on mobile - by default it's 60px high */
/*
@media only screen and (max-width: 980px) {
	#logo {
		max-height: 120px !important;
		}
}
*/

/* *************************************
Special classes for custom styling elements
These are placed in the CSS class fields on the Advanced tabs of modules, rows and sections
There is a reference to these classes in a custom dashboard widget
*/

/* blurb titles */
.wwh_blurb_title_spacing .et_pb_main_blurb_image {
	margin-bottom: 0;
}

/* Round images */
img.roundimage,
.roundimage img,
.roundimage {
	border-radius: 50%;
}

/* No borders around input fields */
.noborder,
.noborder input {
	border: 0 !important; 
}

/* Center testimonial items */
.center .et_pb_testimonial_portrait {
	display: block;
    float: none;
    margin: 12px auto 24px;
}
.center .et_pb_testimonial_description {
	display: block;
	margin: auto !important;
}
.center .et_pb_testimonial_description_inner {
	margin: auto;
	max-width: 520px;
	width: 100% !important;
	display: block !important;
}
/* Force center social follow items - give class 'center' to module */
.center .et_pb_social_media_follow,
.center.et_pb_social_media_follow { 
	display: block;
	text-align: center;
}
.center .et_pb_social_media_follow li,
.center.et_pb_social_media_follow li,
.et_monarch .center .et_social_networks li, 
.et_monarch .center.widget_monarchwidget .et_social_networks li, 
.et_monarch .center.widget .et_social_networks li, 
.et_monarch .center.widget_text .et_social_networks li {
	display: inline-block;
	float: none;
}

/* Center blogpost titles for blogs made with Divi builder */
.center_title .et_post_meta_wrapper {
	text-align: center;
}

/* Reset bottom padding for titles to force zero spacing below h1, h2, h3 */
.wwh .reset_bottom_padding h1,
.wwh .reset_bottom_padding h2,
.wwh .reset_bottom_padding h3 {
	padding-bottom: 0;
}

/* Bottom-aligning the last element in a multi-column row */
.wwh_align_bottom_column .et_pb_column {
	padding-bottom: 48px;
}
.wwh_align_bottom_column .et_pb_button_module_wrapper  {
	position: absolute; 
	bottom: -24px; 
	left: 0; 
	right: 0;
	margin: auto;
}

/* Extra spacing below list-items */
.wwh_spaced_list li {
	margin-bottom: 24px;  
}

/* No animation on slides */
.slide_no_animation .et-pb-active-slide .et_pb_slide_description  {
	-webkit-animation: none !important;
	-moz-animation: none !important;
	-o-animation: none !important;
	-ms-animation: none !important;
	animation: none !important;
}

/* Make an image grayscale (can also be done with filters in design tab */
.grayscale img {
    filter: gray; /* IE */
    -webkit-filter: grayscale(1);
	filter: grayscale(1);
}

/* *************************************
Site Specific Customisations
*/
#main-header {
	-webkit-box-shadow: none;
    box-shadow: none;
}
.ww_underline {
	border-bottom: 1px solid #0078dc;
}
@media screen and (min-width: 981px) {
    .ww.et_header_style_left #et-top-navigation nav > ul > li > a,
	.ww.et_header_style_split #et-top-navigation nav > ul > li > a,
	.ww.et_header_style_left .et-fixed-header #et-top-navigation nav > ul > li > a, 
	.ww.et_header_style_split .et-fixed-header #et-top-navigation nav > ul > li > a {
        padding-bottom: 16px !important;
        padding: 6px 12px;
        /*background: #f2f2f2;*/
    }
	
	.ww.wwh #et-top-navigation .sub-menu {
		top: 35px;
		background-color: rgba(255, 255, 255, 0.95);
	}
	
	
	.ww_light_theme.wwh.et_fixed_nav #et-top-navigation a,
	.ww.single-project.wwh.et_fixed_nav #top-menu a {
		color: #fff !important;
	}
	
	.ww_light_theme.wwh.et_fixed_nav #et-top-navigation .sub-menu a,
	.ww.single-project.wwh.et_fixed_nav #top-menu .sub-menu a {
		color: #1a1a1a !important;
	}	
	.ww_light_theme img#logo,
	.single-project img#logo {
		filter: invert(1);
	}
	

	
	/*
	.ww_light_theme #main-header img.animation-replaceLogo {
		filter: invert(0);
	}
	*/
	.ww_light_theme.ww #et_top_search #et_search_icon:before,
	.single-project.ww #et_top_search #et_search_icon:before {    
		color: #fff !important;
	}
	
	.wwh.woonwerk #logo {
		height: 100%;
		max-height: 100%;
		position: relative;
		top: 12px;
	}
	
	header#main-header.et-fixed-header.show-menu::after {
		content: '';
		display: block;
		width: 100%;
		height: 10px;
		background-color: #fff;
	}
	
	
	
	.ww.et_header_style_left div#et-top-navigation,
    .ww.et_header_style_left .et-fixed-header #et-top-navigation,
	.ww.et_header_style_split .et-fixed-header #et-top-navigation {
		/* padding-top: 9px !important; /* for smaller logo on scroll */
		padding-top: 12px !important; /* for regular logo on scroll */
		/* padding-bottom: 9px !important; /* for smaller logo on scroll */
	}
	
	
.ww #top-menu .menu-item-has-children>a:first-child:after, 
.ww #et-secondary-nav .menu-item-has-children>a:first-child:after {
    right: -5px;
    top: 6px;
}
	
	.et_pb_gutters4.et_pb_footer_columns5 .footer-widget {
        width: 16%;
	}
	.et_pb_gutters4 .footer-widget {
        margin-right: 5%;
	}
	.we_design_footer {
		width: 230px;
		position: relative;
		left: -60px;
	}
	#ww_footer_info {
		text-align: right;
		width: 210px;
		position: relative;
		left: -40px;
		top: 48px;
	}
	
	.wwh .et_pb_gutters4 .footer-widget {
        margin-bottom: 6%;
	}
	
}

#top-menu li {
    padding-right: 10px;
}
#top-menu > li.current-menu-item > a {
    text-decoration: underline;
    text-underline-offset: 4px;
}

/* slight reduction of guttering in footer to allow for office name in column 3 to be on single line */
@media (min-width: 981px) {
    .et_pb_gutters4 .ww_footer .et_pb_column_1_5, .et_pb_gutters4.et_pb_row .et_pb_column_1_5 {
        width: 14%;
    }
	.et_pb_gutters4 .ww_footer .et_pb_column, .et_pb_gutters4.et_pb_row .et_pb_column {
        margin-right: 7.5%;
    }
}

/* ensure footer has breathing space left right on smaller screens */
@media (max-width: 1420px) {
	.ww .ww_footer_row {
		max-width: 95%;
	}
}

#ww_footer_info a {
	font-weight: 500;
}
#ww_footer_info a[rel="nofollow"] {
	text-transform: uppercase;
}

.we_design_footer {
	font-size: 3.9em;
    line-height: 1;
    color: #ADB9BE;
    letter-spacing: -3px;
}

#ww_footer_socials a, 
#ww_footer_menu a {
	display: block;
	font-size: 12px;
}
#ww_footer_socials br {
	display: none;
}
#main-footer.ww_footer a {
	margin-bottom: 10px;
	color: #fff !important;
}
#main-footer.ww_footer h4 {
	font-size: 15px !important;
	padding-bottom: 20px;
}

#main-footer.ww_footer .et_pb_text_inner {
    font-size: 12px;
}

/* Project Pages */
@media (max-width: 600px) {
	.ww_project_post_title_column {
		padding-bottom: 60px;
	}
}
.ww_scroll_4more p::after {
	content: "";
	display: inline-block;
	width: 10px;
	height: 14px;
	background-image: url('./images/scroll.svg');
	background-size: contain;
	background-repeat: no-repeat;
	margin-left: 6px;	
	box-shadow: 0em 0em 0.3em rgba(0, 0, 0, 0.2);
}
/* Scroll hint fade-out */
.ww_scroll_4more {
  opacity: 1;
  transition: opacity .25s ease;
  will-change: opacity;
}
.ww_scroll_4more.is-hidden {
  opacity: 0;
  pointer-events: none; /* avoid hover/click while hidden */
}


/* START project additional info */

.ww_project_info .et_pb_text_inner p {
	text-align: left;
	padding: 12px 0;
	border-top: 1px solid #707070;
	border-bottom: 1px solid #707070;
	line-height: 1.5;
}

.ww_project_info .et_pb_text_inner p strong {
	display: inline-block;
	font-weight: 400;
	color: #ADB9BE;
	/*text-align: left;*/
	float: left;
	clear: both; 
	width: 130px;
	margin-bottom: 10px;
}
.ww_project_info .et_pb_text_inner br {
  clear: both;  
}

/* lines between "cells" - KLUDGE (would need HTML restructuring to do right) */
@media (min-width: 1460px) {
	.ww_project_info .et_pb_text_inner p strong::after {
		content: '';
        padding-top: 6px;
        height: 18px;
        display: block;
        /* 
		width: 530px;
		border-bottom: 1px solid #707070; 
		*/
	}
	/* for items that go to 3 lines, add class "ww_info_extra" on the <strong> tag to increase the height */ 
	/*
	.ww_project_info .et_pb_text_inner p strong.ww_info_extra::after {
        height: 48px;
	}
	*/
}

/*
@media (max-width: 1459px) {
	.ww_project_info .et_pb_text_inner p {
		border-bottom: 1px solid #707070;
	}
}
*/

/* END project additional info */



.ww_architect_person_module .et_pb_team_member_image {
	max-width: 100px;
    float: left;
    margin: 0 15px 0 0;
}
body.ww #main-content .ww_architect_person_module .et_pb_team_member_image img {
	margin: 0;
}
.ww_architect_person_module .et_pb_team_member_description {
    float: left;
    max-width: 380px;
}
.ww_architect_person_module .ww_project_lead_title {
    font-weight: 600;
	font-size: 20px;
	padding-bottom: 10px;
}
.ww_architect_person_module .ww_project_lead_intro {
    color: rgba(26, 26, 26, 0.6);
	font-size: 14px;
	max-height: 80px;
	overflow-y: scroll;
	margin-bottom: 10px;
	padding-right: 20px;
}
.ww_architect_person_module .ww_project_lead_link {
    font-weight: 600;
	font-size: 14px;
}


/* Single rule below can be active on its own once we don't need the development pages anymore */
/*
@media (min-width: 680px) {
	.ww_project_long_description {
		column-count: 2;
		column-gap: 2em;
	}
}
*/

/* Two rules below need to be active as long as we have development pages to look at still */
@media (min-width: 680px) {
	.ww_project_long_description:not(:has(.et_pb_text_inner)),
	.ww_project_long_description .et_pb_text_inner	{
		column-count: 2;
		column-gap: 2em;
	}
}

/* START project share links */
.ww_share {
    background-color: #F2F2F2; 
    padding: 14px 16px 20px;
	max-width: 200px;
}
.ww_share_horizontal {
	max-width: 100%;
}

.ww_share h3 {
    font-size: 20px; 
	font-weight: 500;
}
.ww_share_horizontal h3 {
	padding-bottom: 3px;
}
.ww_share p {
	font-size: 14px;
	opacity: .6;
	margin-bottom: 18px;
}

.ww_share .share-links {
    display: flex;
    flex-direction: column; /* Stack links vertically */
    gap: 10px; /* Space between each link */
}

.ww_share_horizontal .share-links {
    display: flex;
    flex-direction: row; /* Arrange links horizontally */
    justify-content: space-between; /* Spread links evenly across the width */
    align-items: center; /* Vertically center the links */
    gap: 0; /* No extra spacing between links since they are spread evenly */
    width: 100%; /* Ensure the share box spans the full width of its container */
}


.ww_share .share-links a {
    display: flex;
    align-items: center;
    text-decoration: none;
    color: #1A1A1A;
    font-size: 16px;
    padding: 5px;
    transition: all 0.2s;
	border-bottom: 0;
	margin-left: -5px;
}

.ww_share .share-links a:hover {
    color: #000;
	background: #f9f9f9;
}

.ww_share .share-links a::before {
    content: '';
    display: inline-block;
    width: 16px; /* Icon width */
    height: 16px; /* Icon height */
    margin-right: 10px; /* Space between icon and text */
    background-size: contain; /* Ensure the icon fits within the dimensions */
    background-repeat: no-repeat;
}

.ww_share .share-links a#linkedin-share::before {
    background-image: url('./images/share-linkedin.svg'); 
}

.ww_share .share-links a#instagram-share::before {
    background-image: url('./images/share-instagram.svg');
}

.ww_share .share-links a[href="#"]:before {
    background-image: url('./images/share-copy-link.svg');
}
/* END project share links */

/* make divi pixel blog slider align left on screens > 1440px */

@media(min-width:1440px) and (max-width:2560px) {
    .wwh .et_pb_row.ww_slider_container {
       margin-right: auto!important;
    }
}

/* custom sections and rows for fullwidth sliders */
.ww_fullwidth {
	width: 100%;
	padding: 0 calc(50% - 50vw); /* Centers and prevents overflow */
}
.ww_fullwidth .ww_slider_container {
	width: 100%;
	max-width: 2560px;
}

/* Carousel Slider Navigation */

/* Carousel Slider Navigation – works in both Theme Builder and normal builder */

/* For navigation buttons, general selector for both contexts */
/*
body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-prev {
	left: initial !important;
	right: calc(10% + 150px);
    top: -30px;
}
body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-next {
	right: calc(10% + 110px) !important;
    top: -30px;
}
*/


/* carousel navigation buttons fullwidth sliders */
/* Make the "View more" container a right-aligned flex row */
/*
.et_pb_row_1 .ww_slider_carousel_more_link .et_pb_text_inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px;  
}


.et_pb_row_1 .swiper-arrow-button {
  position: static;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}


.et_pb_row_1 .swiper-button-prev { order: 1; }
.et_pb_row_1 .swiper-button-next { order: 2; }
.et_pb_row_1 .ww_slider_carousel_more_link a { order: 3; margin-left: 3px; }

*/


/* -------------------------------------------------
   Slider navigation: arrows + "view more" link
   Shared styling for ALL slider headers
   
   Each slider has:
   → a .ww_slider_container (where Swiper lives)
   → a matching .ww_slider_nav_target above it

   JS moves arrows from container → nav target
   CSS lays them out using flex + order
-------------------------------------------------- */

/* In some headers Divi wraps the link in a <p>; remove its block behavior */
.ww_slider_nav_target .et_pb_text_inner > p {
  display: contents;
  margin: 0;
}


/* Make the nav target a right-aligned flex row */
.ww_slider_nav_target.ww_slider_carousel_more_link .et_pb_text_inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 6px; /* base spacing between items */
}

/* Ensure arrows behave as inline elements (no absolute positioning) */
.ww_slider_nav_target .swiper-arrow-button {
  position: static;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* Explicit ordering:
   1 = previous arrow
   2 = next arrow
   3 = link */
.ww_slider_nav_target .swiper-button-prev {
  order: 1;
}

.ww_slider_nav_target .swiper-button-next {
  order: 2;
}

.ww_slider_nav_target.ww_slider_carousel_more_link a {
  order: 3;
  margin-left: 3px; /* small visual separation from arrows */
}


/* Responsive adjustments */
/*
@media (max-width:1000px) {
    body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-prev {
        left: initial !important;
		right: calc(10% + 150px);
    }
    body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-next {
        left: initial;
		right: calc(10% + 110px) !important;
    }
}
*/

@media (max-width:599px) {
    body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-prev {
        right: 67px;		
        top: -54px;
    }
    body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-next {
        right: 27px !important;
		top: -54px;
		/*left: 84%;*/
    }
    .ww .ww_office_carousel_more_link {
		right: -25px;
	} 
	/* meet the team slider office */
	.ww .ww_office_team h2 {
		max-width: 67%;
	}
}


/* More link */
.ww_slider_carousel_more_link {
    /* left: calc(74% + 80px); */
}
.ww_slider_carousel_more_link .et_pb_text_inner a {
    color: #434343;
}
.ww_slider_carousel_more_link .et_pb_text_inner a:hover {
    color: #0078DC;
}

@media (max-width:510px) {
	.ww_single_project_related_projects_heading span {
		display: block;
	}
	.ww_related_all_projects_link a {
		position: relative;
		top: 40px;
		right: -24px;
	}
}

/* Project cards: general text area layout */
body.ww.woonwerk #page-container .ww_carousel_slider .dipi-post-content {
	padding: 12px 0;
	position: static;
}

/* Project cards: vertical position tweak on single project template */
body.ww.woonwerk.single-project #page-container .ww_carousel_slider .dipi-post-content {
	top: -24px;
}

/* Category container in slider cards:
 * takes full width
 * appears first inside the content area
 * stays on a single line and truncates with ellipsis when too long 
 */
body.ww.woonwerk #page-container .ww_carousel_slider .dipi-post-content .dipi-categories {
	order: 1;
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #007adc;
}

/* Category tags:
 * rendered as pill-style links
 * no floats so text-overflow works on the container 
 */
body.ww.woonwerk #page-container .ww_carousel_slider .dipi-post-content .dipi-categories a {
	display: inline-block;
	float: none;
	border: 1px solid #007adc !important;
	padding: 1px 10px !important;
	margin: 0 5px 5px 0;
	border-radius: 2px;
}

/* Category tags on very small screens:
 * slightly smaller font and padding
 * keeps pills readable on narrow card widths 
 */
@media (max-width: 510px) {
	body.ww.woonwerk #page-container .ww_carousel_slider .dipi-post-content .dipi-categories a {
		font-size: 0.8rem;
		padding: 0 6px !important;
	}
}

/* Swiper navigation icon adjustments, same for both scenarios */
body.ww.woonwerk #page-container [class*=dipi_] .swiper-button-next:after,
body.ww.woonwerk #page-container [class*=dipi_] .swiper-button-prev:after, 
body.ww.woonwerk #page-container .ww_slider .swiper-button-next:after,
body.ww.woonwerk #page-container .ww_slider .swiper-button-prev:after {
    content: "";
    display: block;
    width: 34px;
    height: 34px;
    background-position: center;
    background-repeat: no-repeat;
}

body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-next,
body.ww.woonwerk #page-container .ww_carousel_slider .swiper-button-prev,
body.ww.woonwerk #page-container .ww_slider .swiper-button-next,
body.ww.woonwerk #page-container .ww_slider .swiper-button-prev {
    width: 34px !important;
    height: 34px !important;
    padding: initial !important;
}

body.ww.woonwerk #page-container [class*=dipi_] .swiper-button-next:after,
body.ww.woonwerk #page-container .ww_slider .swiper-button-next:after {
    background-image: url('images/arrow-right.svg');
}
body.ww.woonwerk #page-container [class*=dipi_] .swiper-button-prev:after,
body.ww.woonwerk #page-container .ww_slider .swiper-button-prev:after {
    background-image: url('images/arrow-left.svg');
}


/* Ensure titles on overview pages don't overlap categories */

/*
	body.ww.woonwerk #page-container .dipi-blog-slider-main .dipi-entry-title,
	body.ww.woonwerk #page-container .et_pb_portfolio_items h2 {
		position: absolute;
		top: -40px;
		width: 100%;
		padding: 5px 10px;
		color: #fff !important;
		background: #0a0a0a80;
	}
	body.ww.woonwerk #page-container .ww_carousel_slider .dipi-blog-slider-main .dipi-entry-title,
	body.ww.woonwerk #page-container .ww_team_post_content .dipi-blog-slider-main .dipi-entry-title,
	body.ww.woonwerk #page-container .ww_team_post_content .et_pb_portfolio_items h2 {
		padding: 10px;
	}
	body.ww.woonwerk #page-container .ww_carousel_slider.ww_title_padding_adjust .dipi-blog-slider-main .dipi-entry-title,
	body.ww.woonwerk #page-container .ww_team_post_content.ww_title_padding_adjust .dipi-blog-slider-main .dipi-entry-title,
	body.ww.woonwerk #page-container .ww_team_post_content.ww_title_padding_adjust .et_pb_portfolio_items h2 {
		padding: 5px 10px;
	}
	.page-id-1119427.woonwerk .dipi-blog-slider-main .dipi-entry-title,
	.page-id-1119427.woonwerk .et_pb_portfolio_items h2 {
		top: -30px;
	}
	.woonwerk.wwh .et_pb_portfolio_items h2 {
		top: initial;
		bottom: 0;
		margin-top: 0;
		padding: 6px 10px;
	}
	body.ww.woonwerk #page-container .dipi_blog_slider .dipi-post-content .dipi-categories {
		color: transparent
	}
	body.ww.woonwerk.single-project #page-container .dipi_blog_slider .dipi-post-content .dipi-categories {
		margin-top: 20px;
	}
*/

/* team slider NL and BE labels */
body.ww.woonwerk #page-container .ww_carousel_slider.ww_team_slider .dipi-categories a[href*="netherlands"],
body.ww.woonwerk #page-container .ww_carousel_slider.ww_team_slider .dipi-categories a[href*="belgium"] {
    position: absolute;
    font-size: 0;
    line-height: 0;
    border: 0 !important;
    top: 10px;
    right: 10px;
    background: #fff;
    color: #1a1a1a;
}
/* Injecting new text "NL"/"BE" to create a label */
.ww_carousel_slider.ww_team_slider .dipi-categories a[href*="netherlands"]::after,
.ww_carousel_slider.ww_team_slider .dipi-categories a[href*="belgium"]::after {
    content: "NL";
    /* Restoring visible text properties */
    font-size: 14px;  
    line-height: normal;
	padding: 3px 0;
    display: inline-block;
}
.ww_carousel_slider.ww_team_slider .dipi-categories a[href*="belgium"]::after {
    content: "BE";
}

@media not all { /* disable */ }
	/** 
	 * Changing the display order of the slider
	 * First the image with the NL/BE badge
	 * Then the H2 with the name/title
	 * Then the categories
	 */

	/* Make the post content a flex container */
	body.ww.woonwerk #page-container .ww_carousel_slider .dipi-post-content {
		display: flex;
		flex-direction: column;
	}


	/* Title */
	body.ww.woonwerk #page-container .ww_carousel_slider .dipi-post-content .dipi-entry-title {
		order: 2;
		width: 100%;
	}

	/* Categories */
	body.ww.woonwerk #page-container .ww_carousel_slider .dipi-post-content .dipi-categories {
		order: 1;		
		width: 100%;
		margin-bottom: 0;
	}

 


/* position titles dipi blog slider so that they are rendered inside the image container (not above it), so multi-line titles just grow upward within the shaded bar --> no overlap issues on small screens. */
@media not all { /* temporarily disabled code */ 

	/* 1) Make the image wrapper a positioning context */
	body.ww.woonwerk #page-container .dipi-blog-slider-main .dipi-entry-featured-image-url {
	  position: relative;
	}
	/* 2) Ensure the overlay link spans the image area */
	body.ww.woonwerk #page-container .dipi-blog-slider-main .dipi-entry-featured-image-url .dipi-blog-post-overlay-link {
	  position: absolute;
	  inset: 0;         /* top:0; right:0; bottom:0; left:0 */
	  display: block;
	}
	/* 3) Draw the title over the image, using the link’s aria-label, and mimicking <h2> */
	body.ww.woonwerk #page-container .dipi-blog-slider-main 
	.dipi-entry-featured-image-url .dipi-blog-post-overlay-link::after {
	  content: attr(aria-label);
	  position: absolute;
	  left: 0;
	  right: 0;
	  bottom: 0;
	  padding: 10px;
	  background: #0a0a0a80;
	  color: #fff;
	  font-family: 'Instrument Sans', sans-serif;
	  font-size: 20px !important;
	  letter-spacing: -0.04px !important;
	  font-weight: 400;
	  line-height: normal;
	  display: block;
	}
	/* 4) Visually hide the original H2 (keep it for SEO/a11y) */
	body.ww.woonwerk #page-container .dipi-blog-slider-main .dipi-post-content .dipi-entry-title {
	  position: absolute !important;
	  width: 1px; height: 1px; padding: 0; margin: -1px;
	  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
	}
}



/* filterable portfolio */

/* 2 Column Portfolio */
@media (min-width: 981px) {
	.two-column-portfolio .et_pb_grid_item {
	width: 47.25%!important;
	margin-right: 5.5%!important;
	}
	 
	.two-column-portfolio .et_pb_grid_item:nth-child(3n) {
	margin-right: 5.5%!important;
	}
	 
	.two-column-portfolio .et_pb_grid_item:nth-child(2n) {
	margin-right: 0!important;
	}
	 
	.two-column-portfolio .et_pb_grid_item.et_pb_portfolio_item:nth-child(4n+1) {
	clear: none!important;
	}
	 
	.two-column-portfolio .et_pb_grid_item.first_in_row {
	clear: unset;
	}
}


/* 3 Column Portfolio - DvD 241212 needs testing */
@media (min-width: 981px) {
	.three-column-portfolio .et_pb_grid_item {
	width: 32%!important;
	margin-right: 2%!important;
	}
	 
	.three-column-portfolio .et_pb_grid_item:nth-child(4n) {
	margin-right: 2%!important;
	}
	 
	.three-column-portfolio .et_pb_grid_item:nth-child(3n) {
	margin-right: 0!important;
	}
	 
	.three-column-portfolio .et_pb_grid_item.et_pb_portfolio_item:nth-child(4n+1) {
	clear: none!important;
	}
	 
	.three-column-portfolio .et_pb_grid_item.first_in_row {
	clear: unset;
	}
}

/* Filters */
.woonwerk .et_pb_filterable_portfolio .et_pb_portfolio_filters {
	margin: 0 0 24px;
}
.woonwerk .et_pb_filterable_portfolio .et_pb_portfolio_filters li a {
	border-radius: 2px;
	margin-right: 10px;
	padding: 8px 10px;
}
.woonwerk .et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active {
	background: #0078dc;
    color: #fff;
}
/* Categories */
.woonwerk .ww_single_categories a {
	border-radius: 2px;
	margin-right: 10px;
	padding: 2px 5px;
	color: #fff;
	border: 1px solid;
	display: inline-block;
    margin-bottom: 6px;
}

/**** Fixed menu (dis)appear ****/

/* Ensure header remains fixed */
.et-fixed-header {
    position: fixed;
    width: 100%;
    transition: all 0.3s ease-in-out;
}

/* Keep the logo always visible */
.et-fixed-header .logo_container {
    display: block;
}

/* Hide the menu when scrolling down */
.et-fixed-header.hide-menu #et-top-navigation {
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease-in-out;
}

/* Show the menu when scrolling up */
.et-fixed-header #et-top-navigation {
    opacity: 1;
    transition: opacity 0.3s ease-in-out;
}

/* Default transparent background */
.et-fixed-header .et_menu_container {
    background-color: transparent;
    transition: background-color 0.3s ease-in-out;
}

header#main-header::after {
	content: '';
	display: block;
	width: 100%;
	height: 10px;
	background-color: transparent;
    transition: background-color 0.3s ease-in-out;
}
header#main-header.et-fixed-header.show-menu::after {	
    background-color: rgba(255, 255, 255, 1); /* White with 100% opacity */
}

/* Dark theme background when menu is visible */
body.ww_light_theme .et-fixed-header.show-menu .et_menu_container,
body.ww.single-project .et-fixed-header.show-menu .et_menu_container {
    /* background-color: rgba(26, 26, 26, 0.8); /* Dark with 80% opacity - not using */
    background-color: rgba(255, 255, 255, 1); /* White with 100% opacity */
}

/* Light theme background when menu is visible */
body:not(.ww_light_theme) .et-fixed-header.show-menu .et_menu_container {
    /* background-color: rgba(255, 255, 255, 0.8); /* White with 80% opacity - not using */
    background-color: rgba(255, 255, 255, 1); /* White with 100% opacity */
}

.ww_light_theme.wwh.et_fixed_nav .et-fixed-header.show-menu #et-top-navigation a,
.ww.single-project.wwh.et_fixed_nav .et-fixed-header.show-menu #top-menu a {
	color: #1a1a1a !important;
}
.ww_light_theme.ww.et_fixed_nav .et-fixed-header.show-menu #et_top_search #et_search_icon:before,
.single-project.ww.et_fixed_nav .et-fixed-header.show-menu #et_top_search #et_search_icon:before {    
	color: #1a1a1a !important;
}

.ww_light_theme.wwh.et_fixed_nav .et-fixed-header.show-menu img#logo,
.ww.single-project.wwh.et_fixed_nav .et-fixed-header.show-menu img#logo {
	filter: invert(0);
}

.wwh.woonwerk img#logo {	
	max-height: 60px; /* regular sized logo (includes spacing) */
}
.wwh.woonwerk img#logo.animation-replaceLogo {
	/* max-height: 30px; /* smaller logo on scroll */
	max-height: 50px; /* regular sized logo on scroll */
    top: 12px;
}

@media (min-width: 981px) {
    .wwh.et_fullwidth_nav #main-header .container {
        padding-bottom: 15px; /* extra bottom padding for regular height logo on scroll */
    }
}


/* link boxes */
.ww_link_box .et_pb_text_inner::after {
    background-image: url('./images/external-link.svg'); 
    content: '';
    display: inline-block;
    width: 16px; 
    height: 16px; 
    background-size: contain; 
    background-repeat: no-repeat;
	position: absolute;
	right: 0;
	bottom: 0;
}

/* tags */
.woonwerk .ww_tags a { 
	border: 1px solid;
    border-radius: 2px;
    padding: 5px 10px;
    font-size: 16px;
    margin-right: 10px;
}

/* Team pages */
div[class*="ww_team"]::before,
.ww_office_address p::before {
    content: '';
    display: inline-block;
    width: 12px;
    height: 12px;
    background-size: contain;
    background-repeat: no-repeat;
    float: left;
    margin: 2px 15px 0 0;
}
.ww_office_address p::before {
	margin-top: 7px;
}
.ww_team_phone::before,
.ww_phone::before {
    background-image: url('./images/phone.svg'); 
}
.ww_team_email::before,
.ww_email::before {
    background-image: url('./images/email.svg'); 
}
.ww_team_linkedin::before {
    background-image: url('./images/share-linkedin.svg'); 
}
.ww_team_instagram::before {
    background-image: url('./images/share-instagram.svg'); 
}
.ww_location::before {	
    background-image: url('./images/location.svg');
	margin-bottom: 40px !important;
}

/* Theme pages */
.woonwerk .ww_theme_intro a {
	border-bottom: 0;
	background: #D9E5F0;
	padding: 5px 10px;
}


/* Advanced filter layout (YMC Smart Filter plugin) */
/* START old filter styles */
.woonwerk .ymc-container {
	max-width: initial;
}
.woonwerk .ymc-container .filter-layout1 .filter-entry>.filter-item>.filter-link {
	border-radius: 2px;
	margin-right: 10px;
	padding: 8px 10px;
	font-size: 14px;
	font-weight: 400;
	background: #fff;
	color: #666;
	border: 1px solid #e2e2e2;
	transition: background .2s;
}
.woonwerk .ymc-container .filter-layout1 .filter-entry>.filter-item>.filter-link:hover {
	background: #F4F4F4;
}
.woonwerk .ymc-container .filter-layout1 .filter-entry>.filter-item>.filter-link.active {
	background: #007ADC;
	color: #fff;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .category .cat-inner {
	border-radius: 2px;
	margin: 0 0 6px 6px;
	padding: 2px 5px;
	color: #007ADC;
	border: 1px solid #007ADC;
	background: transparent;
	font-size: 14px;
	float: right;
	
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 {
	border: 0;
	padding: 0;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .media {
	margin: 0;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .media img.size-large {
	margin: 5px 0;
	width: 100%;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .media .media-link {
	border: 0;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1:hover .media img {
	transform: none;
	opacity: .9;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .title a {
	color: #fff;
    border-bottom: 0;
    padding: 5px 10px;
    background: #0078dc;
    width: 100%;
    font-weight: 400;
	line-height: 1.67;	
    /* magic that makes each line get its own 10px pad */
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .title {
	position: absolute;
	top: 10%;
}

.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .date i {
	display: none;
}
.woonwerk .ymc-container .container-posts .post-layout1 .ymc-post-layout1 .date {
    border: 1px solid;
    color: #007adc;
    padding: 2px 10px;
    border-radius: 2px;
	float: right;
	margin-right: 0;	
}

.ww_filter_text_boxes .ymc-container .container-posts .post-custom-layout .post-item {
	border: 1px solid #007adc;
	border-radius: 2px;
	position: relative;
}
.ww_filter_text_boxes .ymc-container .container-posts .post-custom-layout .post-item a {
	text-decoration: none;
	border-bottom: 0;
}
/* END old filter styles */

/**********************************************************************/

/* START new filter styles */
.woonwerk .ymc-container .filter-default-inner .filter-buttons .filter-button {
	border-radius: 2px;
	margin-right: 10px;
	padding: 8px 10px;
	font-size: 14px;
	font-weight: 400;
	background: #fff;
	color: #666;
	border: 1px solid #e2e2e2;
	transition: background .2s;
}
.woonwerk .ymc-container .filter-default-inner .filter-buttons .filter-button:hover {
	background: #F4F4F4;
}
.woonwerk .ymc-container .filter-default-inner .filter-buttons .filter-button.is-active {
	background: #007ADC;
	color: #fff;
}


/* END new filter styles */


/* START Projects overview page cards */
.ww_projects_overview_link {
	border-bottom: 0 !important;
}
.ww_projects_overview_link .ww_project_image_container {
	/*position: relative;*/
	overflow: hidden;
	background: #eee;
}
.ww_project_image_container img {
    display: block;	
}
.ww_projects_overview_link img,
.ww .dipi-entry-featured-image-url img {
	margin: 0 !important;
	transition: transform 0.3s ease, filter 0.3s ease; 
}
.ww_projects_overview_link:hover img {
	transform: scale(1.015);
    filter: brightness(1.03) contrast(1.02);
}
/*
.ww_projects_overview_link h2 {
	position: absolute;
    bottom: 5px;
    color: #fff;
    font-size: 1.5rem;
    background: #0a0a0a80;
    width: 100%;
    padding: 10px;	
	letter-spacing: -0.04px;
}
*/
.ww_projects_overview_link h2 {
	/*
	position: absolute;
    color: #fff;
	background: #007adc;
    padding: 10px 20px 10px 10px;
	top: 10%;
	max-width: 90%;
	*/
    margin-top: 16px;
	font-size: 1.5rem;
    letter-spacing: -0.04px;
	color: #141A2A;
	padding-bottom: 6px;
}

/* temp test */
/*
.ww_projects_alt .ww_projects_overview_link h2 {
	position: static;
    color: initial;
    background: initial;
    padding: 0 0 10px 0;    
    top: initial;
	max-width: initial;
}
.ww_projects_alt .ww_project_cats {
	position: relative;
	right: 0;
	bottom: 0;
}
*/

.ww_project_cats {
	/*float: right;*/
}
.ww_project_cats a[rel="tag"] {
	display: inline-block;
	/*float: right;*/
    border: 1px solid;
    padding: 1px 10px;
    /*margin: 0 0 5px 5px;*/	
    margin: 0 5px 5px 0;
    border-radius: 2px;
}
.ww_project_cats a.ww_cats_ellipsis {
	
}
/* END Projects overview page cards */


/* START News overview page cards */
.ww_news_post img {
	margin: 0;
}
/* END News overview page cards */

.ww_filter_text_boxes .custom-post-link h2 {
	font-size: 20px;
	color: #1a1a1a;
	font-weight: 500;
	margin-left: 10px;
	padding-bottom: 10px;
}
.ww_filter_text_boxes .custom-post-link p {
	font-size: 16px;
	color: #4F4E68;	
	margin-left: 10px;
	width: 80%;
}
.ww_filter_text_boxes .post-year {
	border: 1px solid;
    border-radius: 2px;
    padding: 3px 5px;
    color: #007adc;
    position: absolute;
    right: 20px;
	top: 20px;
}
.ww_filter_text_boxes .link-icon {
    display: inline-block;
    width: 15px;
    height: 15px;
    background-image: url('./images/link-258DE1.svg');
    background-size: contain;
    background-repeat: no-repeat;
	position: absolute;
	right: 20px;
	bottom: 20px;
}

.ww_blurb_textbox_link .et_pb_blurb_content {
	max-width: 100%;
}
.ww_blurb_textbox_link.et_pb_blurb_position_left .et_pb_main_blurb_image {
    padding-top: 0;
    position: absolute;
    right: 30px;
	top: 18px;
}
.ww_blurb_textbox_link.et_pb_blurb_position_left:hover .et_pb_main_blurb_image {
    right: 25px;
}


/* carousel slider */
.ww_carousel_container .ww_carousel_slider {
  display: flex;
  overflow-x: auto;
  scroll-behavior: smooth;
  list-style: none;
  padding: 0;
  margin: 0;
  gap: 15px;
}

.ww_carousel_container .ww_carousel_slider::-webkit-scrollbar {
  display: none; /* Hides scrollbar in Chrome, Safari */
}

.ww_carousel_container .ww_carousel_slider li {
  flex: 0 0 auto; /* Prevents items from stretching */
}

.ww_carousel_container .ww_carousel_slider img {
  height: 547px; /* Default height */
  width: auto;
  object-fit: cover;
  max-height: 80vh; /* Ensures the image never exceeds 80% of the viewport height */
}

.ww_carousel_container .carousel-nav {
  display: flex;
  justify-content: flex-end; /* Aligns buttons to the right */
  gap: 10px;
  margin-bottom: 10px; /* Adds space between buttons and slider */
}

.ww_carousel_container button {
  background: none; /* Removes default button styles */
  border: none;
  padding: 0;
  cursor: pointer;
}

.ww_carousel_container button svg {
  width: 32px; /* Set to 32px square */
  height: 32px;
  opacity: 0.5; /* Default: 50% opacity */
  transition: opacity 0.2s ease-in-out;
}

.ww_carousel_container button:hover svg {
  opacity: 1; /* Fully visible on hover */
}

/* Team filter */
.ww_team_filter .ymc-container .container-posts .post-custom-layout .post-item {
	border: 0;
    position: relative;
}
.ww_team_filter .ymc-container .container-posts .post-custom-layout .post-item a {
	text-decoration: none;
	border-bottom: 0;
	margin: 0;
}
.ww_team_filter h2 {
	font-size: 20px;
	color: #1a1a1a;
	padding: 9px 0 6px;
}
.ww_team_filter .post-role {
	font-size: 17px;
	color: #8e8e8e;
}
.ww_team_filter .post-country {
	font-size: 14px;
	color: #1a1a1a;
	position: absolute;
	top: 10px;
	right: 10px;
	background: #fff;
    padding: 3px 6px;
    border-radius: 2px;
}
.ww_team_filter img {
	margin: 0;
    width: 100%;
    height: auto;
    border-radius: 2px;
}

/* Themes Detail page */

.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post,
.woonwerk #ww_dig_deeper .latest_publications_column .et_pb_ajax_pagination_container .et_pb_post {
	border: 1px solid;
    margin: 0;
    margin-bottom: 20px !important;
    padding: 12px 18px 12px 10px;
	border-radius: 2px;
	position: relative;
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post {
	border: 1px solid #0078e2;
	position: relative;
}

.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .et_pb_image_container {
    margin: initial;
    width: 100px;
    float: left;
    margin-right: 15px;
    height: 120px;
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .et_pb_image_container a {
	display: initial;
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .et_pb_image_container img {
    min-width: initial;
	width: 100px; 
    height: 100%; 
    object-fit: cover; 
    display: block; 
}


.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container h2.entry-title,
.woonwerk #ww_dig_deeper .latest_publications_column .et_pb_ajax_pagination_container h2.entry-title {
	width: 200px;
	max-width: 50%;
    float: left;
	font-weight: 500;
	padding-bottom: 6px;
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container h2.entry-title a,
.woonwerk #ww_dig_deeper .latest_publications_column .et_pb_ajax_pagination_container h2.entry-title a {
	font-size: 20px;
}
.woonwerk #ww_dig_deeper .et_pb_ajax_pagination_container .post-content-inner {
	clear: both;
	max-width: 67%;
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .post-meta,
.woonwerk #ww_dig_deeper .latest_publications_column .et_pb_ajax_pagination_container .et_pb_post .post-meta {
	float: right;	
    border: 1px solid;
    border-radius: 2px;
    padding: 0px 4px;
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .post-meta {
    color: #007adc;	
    border: 1px solid #007adc;
}
@media (max-width:600px) {
	.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .post-meta {
		display: none !important;
	}
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .more-link {
	position: absolute;
	right: 20px;
	bottom: 15px;
	font-size: 16px;
}
.woonwerk #ww_dig_deeper .latest_news_column .et_pb_ajax_pagination_container .et_pb_post .more-link::after,
.woonwerk #ww_dig_deeper .latest_publications_column .et_pb_ajax_pagination_container .et_pb_post .post-content-inner::after {
    background-image: url('./images/link-258DE1.svg'); 
    content: '';
    display: inline-block;
    width: 16px; 
    height: 16px; 
    background-size: contain; 
    background-repeat: no-repeat;
	margin-left: 10px;
}
.woonwerk #ww_dig_deeper .latest_publications_column .et_pb_ajax_pagination_container .et_pb_post .post-content-inner::after {
	background-image: url('./images/external-link.svg');
	position: absolute;
	right: 20px;
	bottom: 15px;
}
.latest_publications_column {
	
}


/* news items */
/*
.ww_news_items .ymc-container .container-posts .post-custom-layout .post-item,
.ww_news_items .ymc-container .container-posts .post-custom-layout .post-item img {
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
}
.ww_news_items .ymc-container .container-posts .post-custom-layout .post-item {
	margin-bottom: 30px;
}
.ww_news_items .ymc-container .container-posts .post-custom-layout .post-item img {
	object-fit: cover;
	height: 250px;
}
.ww_news_items .ymc-container .container-posts .post-custom-layout .post-item a {
	border-bottom: 0;
    color: #258de1;
    text-decoration: none;
    font-size: 14px;
}
.ww_news_items .ymc-container .container-posts .post-custom-layout .post-item h2 {
	font-size: 20px;
    font-weight: 500;
    padding-bottom: 6px;
    line-height: 1.3;
}
.ww_news_items .ymc-container .container-posts .post-custom-layout .post-item .post-date {
	border: 1px solid;
    border-radius: 2px;
    display: inline-block;
    padding: 2px 5px;
}
*/



/* news years filters START */
.ww_news_year_filter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 24px;
}
.ww_news_year_filter a {
	border: 1px solid #0078DC !important;
	border-radius: 2px;
	padding: 3px 6px;
	background: #fff;
	cursor: pointer;
	font-size: 16px;
	text-decoration: none;
	color: #0078DC;
	transition: color 0.2s ease-in-out, background 0.2s ease-in-out;
}
.ww_news_year_filter a:hover {	
	background: #0078DC;
	color: #fff;
}
.ww_news_year_filter a.is-active {
	background: #0078DC;
	color: #fff;
	border-color: #0078DC;
}
/* news years filters END */



/* news layout old START - merge with new after approval  */
.ww_news_items .ymc-container .posts-grid .post-card,
.ww_news_items .ymc-container .posts-grid .post-card img {
	border: 0;
	padding: 0;
	margin: 0;
	width: 100%;
}
.ww_news_items .ymc-container .posts-grid .post-card {
	margin-bottom: 30px;
}
/*
.ww_news_items .ymc-container .posts-grid .post-card img {
	object-fit: cover;
	height: 250px;
}
*/
.ww_news_items .ymc-container .posts-grid .post-card a {
	border-bottom: 0;
    color: #258de1;
    text-decoration: none;
    font-size: 14px;
}
.ww_news_items .ymc-container .posts-grid .post-card h2 {
	font-size: 20px;
    font-weight: 500;
    padding-bottom: 6px;
    line-height: 1.3;
}
.ww_news_items .ymc-container .posts-grid .post-card .post-date {
	border: 1px solid;
    border-radius: 2px;
    display: inline-block;
    padding: 2px 5px;
}
/* Container for title + date */
.ww_news_items .ymc-container .posts-grid .post-card .post-meta {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem; /* space between title and date */
}

/* Make sure the title flexes properly */
.ww_news_items .ymc-container .posts-grid .post-card h2 {
	flex: 1;
	margin: 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
	padding-bottom: 0;
}

/* Keep the date visually small and aligned */
.ww_news_items .ymc-container .posts-grid .post-card .post-date {
	border: 1px solid;
	border-radius: 2px;
	padding: 2px 5px;
	white-space: nowrap;
	font-size: 13px;
	flex-shrink: 0;
}

@media (max-width: 500px) {
  .ww_news_items .ymc-container .posts-grid .post-card .post-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}
/* news layout old END */

/*********** START Layout News items NEW **************/

/* Base grid layout for news items */
.ww_news_items .posts-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;              /* 20px gap horizontally AND vertically */
}

/* Base card & image styling */
.ww_news_items .posts-grid .post-card {
  box-sizing: border-box;
  margin: 0;              /* gap handles spacing */
}

.ww_news_items .posts-grid .post-card img {
  width: 100%;
  height: 250px;          /* default height for smaller screens, overridden on desktop */
  object-fit: cover;
  display: block;
}

/* TYPOGRAPHY & META (kept from previous styles, lightly cleaned) */
.ww_news_items .posts-grid .post-card a {
  border-bottom: 0;
  color: #258de1;
  text-decoration: none;
  font-size: 14px;
}

.ww_news_items .posts-grid .post-card .post-meta {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 1rem;
  margin-top: 0.75rem;
}

/* Title */
.ww_news_items .posts-grid .post-card h2 {
  flex: 1;
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.3;
}

/* Date pill */
.ww_news_items .posts-grid .post-card .post-date {
  border: 1px solid;
  border-radius: 2px;
  padding: 2px 5px;
  white-space: nowrap;
  font-size: 13px;
  flex-shrink: 0;
}

/* Mobile: one column */
@media (max-width: 767px) {
  .ww_news_items .posts-grid .post-card {
    flex: 0 0 100%;
  }

  .ww_news_items .posts-grid .post-card img {
    height: 220px;
  }

  .ww_news_items .posts-grid .post-card .post-meta {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Tablet: simple two-column grid */
@media (min-width: 768px) and (max-width: 1199px) {
  .ww_news_items .posts-grid .post-card {
    flex: 0 0 calc(50% - 10px);  /* 2 columns, accounting for 20px gap */
  }

  .ww_news_items .posts-grid .post-card img {
    height: 320px;
  }
}

/* Desktop: custom 4-row layout with fixed 462px image height */
@media (min-width: 1200px) {

  .ww_news_items .posts-grid .post-card img {
    height: 462px;
  }

  /* Reset default */
  .ww_news_items .posts-grid .post-card {
    flex: 0 0 100%;
  }

  /* ------------------------------------
     ROW 1: 41% / 59%
     ------------------------------------ */
  .ww_news_items .posts-grid .post-card:nth-child(1) {
    flex: 0 0 calc(41% - 10px);
  }
  .ww_news_items .posts-grid .post-card:nth-child(2) {
    flex: 0 0 calc(59% - 10px);
  }

  /* ------------------------------------
     ROW 2: 30% / 40% / 30%
     (2 gaps → each item subtracts ~13px total)
     ------------------------------------ */
  .ww_news_items .posts-grid .post-card:nth-child(3),
  .ww_news_items .posts-grid .post-card:nth-child(5) {
    flex: 0 0 calc(30% - 13.3333px);
  }
  .ww_news_items .posts-grid .post-card:nth-child(4) {
    flex: 0 0 calc(40% - 13.3334px);
  }

  /* ------------------------------------
     ROW 3: 40% / 30% / 30%
     ------------------------------------ */
  .ww_news_items .posts-grid .post-card:nth-child(6) {
    flex: 0 0 calc(40% - 13.3333px);
  }
  .ww_news_items .posts-grid .post-card:nth-child(7),
  .ww_news_items .posts-grid .post-card:nth-child(8) {
    flex: 0 0 calc(30% - 13.3334px);
  }

  /* ------------------------------------
     ROW 4: 59% / 41%
     ------------------------------------ */
  .ww_news_items .posts-grid .post-card:nth-child(9) {
    flex: 0 0 calc(59% - 10px);
  }
  .ww_news_items .posts-grid .post-card:nth-child(10) {
    flex: 0 0 calc(41% - 10px);
  }
}


/*********** END Layout News items NEW **************/


/* news pagination START */
.ww_news_pagination {
	margin-top: 32px;
}

/* Reset list + lay out horizontally */
.ww_news_pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	padding: 0;
	margin: 0;
}

/* Base style for all pagination items (links + spans) */
.ww_news_pagination .page-numbers li a,
.ww_news_pagination .page-numbers li span {
	border: 1px solid #0078DC;
	border-radius: 2px;
	padding: 3px 8px;
	background: #fff;
	font-size: 16px;
	text-decoration: none;
	color: #0078DC;
	display: inline-block;
	transition: color 0.2s ease-in-out, background 0.2s ease-in-out;
}

/* Current page */
.ww_news_pagination .page-numbers li span.current {
	background: #0078DC;
	color: #fff;
	border-color: #0078DC;
}

/* Prev / Next – keep same style but slightly bolder text */
.ww_news_pagination .page-numbers li a.prev,
.ww_news_pagination .page-numbers li a.next {
	font-weight: 500;
}

/* hover state */
.ww_news_pagination .page-numbers li a:hover {
	background: #0078DC;
	color: #fff;
}

/* "..." dots from paginate_links */
.ww_news_pagination .page-numbers li span.dots {
	background: transparent;
	border-color: transparent;
	color: #666;
	padding: 3px 2px;
}
/* news pagination END */



/*

@media (min-width: 1199.98px) {
    .ww_news_items .ymc-container .container-posts .ymc-xl-col-3 {
        grid-template-columns: 40% 28.5% 28.5%;
        row-gap: 1vw;
        column-gap: 1.5%;
    }
}

*/





/* Adjust widths for specific rows */
/*
.ww_news_items article:nth-child(4) { width: 25%; }
.ww_news_items article:nth-child(5) { width: 45%; }
.ww_news_items article:nth-child(6) { width: 30%; }

.ww_news_items article:nth-child(7) { width: 35%; }
.ww_news_items article:nth-child(8) { width: 25%; }
.ww_news_items article:nth-child(9) { width: 40%; }

.ww_news_items article:nth-child(10) { width: 30%; }
.ww_news_items article:nth-child(11) { width: 40%; }
.ww_news_items article:nth-child(12) { width: 30%; }
*/


/* START mobile order 
On the row set the custom_row class
And on the columns, set the order class you want
*/

@media all and (max-width: 980px) {
	
	/*** wrap row in a flex box ***/
	.mobile_custom_row {
	display: flex;
	flex-wrap: wrap;
	}
	 
	/*** custom classes designate the order of columns in the flex box row ***/
	.mobile_order_1 {
		order: 1;
	}
	 
	.mobile_order_2 {
		order: 2;
	}
	 
	.mobile_order_3 {
		order: 3;
	}
	 
	.mobile_order_4 {
		order: 4;
	}
	/*** add margin to last column ***/
	.custom_row:last-child .et_pb_column:last-child {
		margin-bottom: 30px;
	}
 
}
/* END mobile order */

@media only screen and (max-width: 980px) {
    .ww #main-header, .ww #main-header .nav li ul, .ww .et-search-form, .ww #main-header .et_mobile_menu {
        background: #fff;
    }
}

/* 
Add overlay to parallax sections 
source: https://divihacks.com/enable-gradient-overlay-with-parallax-background/
add gradient-overlay in the section’s CSS classes box to activate
*/ 

/*
.gradient-overlay:before { 
	content:""; 
	position:absolute; 
	z-index:1; 
	background:inherit; 
	top:0; 
	bottom:0; 
	width:100%;
} 
.gradient-overlay .et_pb_row { 
	z-index:2 !important; 
} 
.gradient-overlay { 
	background-color: transparent; 
}
*/

/* Story blurbs - for stories overview page */
.ww_stories_blurb {
	display: inline-block;
	margin-right: 20px;
}
.et_pb_column .ww_stories_blurb:last-child {
  margin-right: 0; /* remove margin on last one in column */
}
.ww_stories_blurb .et_pb_blurb_description {
	position: absolute;
    right: 0;
    bottom: 23px;
    border: 1px solid #0078DC;
    border-radius: 2px;
    padding: 0px 5px;
    color: #0078DC;
}
.ww_stories_blurb .et_pb_main_blurb_image {
	margin-bottom: 20px;
}

/* centering submenu items */
@media (min-width:981px) {
	/* Target the parent menu item that has children */
	.ww .menu-item-has-children {
	  position: relative; /* Establish positioning context for absolute children */
	}

	/* Style the sub-menu */
	.ww .sub-menu {
	  position: absolute;
	  left: 50%; /* Start by moving it halfway */
	  transform: translateX(-50%); /* Then pull it back by half its own width */
	  
	  
	}

	/* Style for individual submenu items */
	.sub-menu .menu-item {
	  text-align: center;
	}
}

/* joblistings */
.ww_joblisting {
	border: 1px solid #635050;
	border-radius: 2px;
	padding: 24px;
	position: relative;
}
.ww_joblisting.ww_stage {
	background: #635050;
	color: #fff;
}
.ww_joblisting h3 {
	font-size: 20px;
	letter-spacing: -0.02px;
	font-weight: 500;
}
.ww_joblisting.ww_stage h3 {
	color: #fff;
}
.ww_joblisting p {
	font-size: 16px;	
	letter-spacing: -0.02px;
	max-width: 658px;
}
.ww_joblisting .ww_job_office,
.ww_joblisting .ww_job_hours {
	font-size: 18px;
	display: inline-block;
	color: #635050;
	margin-right: 12px;
	padding: 0;
}
.ww_joblisting.ww_stage .ww_job_office,
.ww_joblisting.ww_stage .ww_job_hours {
	color: #fff;
}
.ww_joblisting .ww_job_office::before,
.ww_joblisting .ww_job_hours::before {
    content: ""; 
    display: inline-block;
    width: 16px; 
    height: 16px;
    margin-right: 12px;
    background-repeat: no-repeat;
    background-size: contain;
}
.ww_joblisting .ww_job_office::before {
    background-image: url('./images/location-635050.svg');
}
.ww_joblisting.ww_stage .ww_job_office::before {
    background-image: url('./images/location-fff.svg');
}
.ww_joblisting .ww_job_hours::before {
    background-image: url('./images/clock-time-icon.svg');
}
.ww_joblisting.ww_stage .ww_job_hours::before {
    background-image: url('./images/clock-time-icon-fff.svg');
}
.ww_joblisting .ww_job_office_label {
	position: absolute;
	top: 0;
	right: 0;
	font-size: 14px;	
	letter-spacing: 0px;
	border: 1px solid #635050;
	border-radius: 2px;
	padding: 3px 6px;
	color: #635050;
}
.ww_joblisting.ww_stage .ww_job_office_label {
	border: 1px solid #fff;
	color: #fff;
}
.ww_joblisting .link-icon {
    content: "";	
    width: 15px;
    height: 15px;
	background-image: url('./images/link-635050.svg');
    background-size: contain;
    background-repeat: no-repeat;
	position: absolute;
	right: 0;
	bottom: 0;
}
.ww_joblisting.ww_stage .link-icon {
    background-image: url('./images/link-fff.svg');
}

/* vacancies box */
.ww_vacature_box {
	
}
.ww_vacature_box h3,
.ww_vacature_box p,
.ww_vacature_box a {
	color: #fff;
	letter-spacing: -0.1px;
}
.ww_vacature_box p {
	font-weight: 400;
	font-size: 16px;
}
.ww_vacature_box a {
	transition: border .3s ease;
}
.ww_vacature_box a:hover {
	border-bottom: 1px dotted #635050;
}
.ww_vacature_box.ww_joblisting .ww_job_office,
.ww_vacature_box.ww_joblisting .ww_job_hours {
	font-size: 16px;
	color: #fff;
	margin-bottom: 12px;
}
.ww_vacature_box.ww_joblisting .ww_job_office {
	margin-top: 18px;
}
.ww_vacature_box.ww_joblisting .ww_job_hours {
	margin-bottom: 18px;
}
.ww_vacature_box.ww_joblisting .ww_job_office::before {
    background-image: url('./images/location-fff.svg');
}
.ww_vacature_box.ww_joblisting .ww_job_hours::before {
    background-image: url('./images/clock-time-icon-fff.svg');
}

/* error messages */
.ww_code_error {
	background: palevioletred;
    padding: 10px !important;
    border: 1px solid darkred;
    color: #fff;
    border-left: 5px solid darkred;
}
.ww_code_error.ww_no_project_lead {
	background: #fff;
    border-color: #007adc;
    color: initial;
}

/* Project Hero Image */
body.ww #main-content .ww_project_hero_header img {
	/* margin: 0; */
}

.ww_hero_header_section {
	height: 100vh;
}
.ww_project_post_title_column {
	
}
/* Make the title row stick inside the hero */
.ww_project_post_title_column {
  position: sticky;
  top: 65vh;        	/* visual position on desktop */
  margin-top: 0;        /* no top-margin --> sticky controls the position */
}

/* project images gallery */
.ww_project_images_gallery {
	text-align: center;
}

/* multilingual styles */
html[lang*="nl"] p[lang*="en"],
html[lang*="en"] p[lang*="nl"],
html[lang*="nl"] a[lang*="en"],
html[lang*="en"] a[lang*="nl"],
html[lang*="nl"] h2[lang*="en"],
html[lang*="en"] h2[lang*="nl"] {
	display: none;
}

/* awards static */
/* ===== Awards (static, no JS) ===== */
.ww_awards_static ul,
.ww_publications_static ul,
.ww_lectures_static ul,
.ww_network_static ul{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 24px;
  list-style: none;
  margin: 0 0 48px;
  padding: 0;
}

@media (max-width: 800px){
  .ww_awards_static ul,
  .ww_publications_static ul,
  .ww_lectures_static ul,
  .ww_network_static ul{
    grid-template-columns: 1fr; /* stack on small screens */
  }
}

/* Card */
.ww_awards_static li,
.ww_publications_static li,
.ww_lectures_static li,
.ww_network_static li{
  border: 1px solid #007adc;
  border-radius: 2px;
  background: #fff;
  padding: 16px 16px 18px;
}
.ww_awards_static br,
.ww_publications_static br,
.ww_lectures_static br,
.ww_network_static br{
  display: none;
}

/* Make whole card clickable when wrapped in <a> */
.ww_awards_static li > a,
.ww_publications_static li > a,
.ww_lectures_static li > a,
.ww_network_static li > a{
  display: block;
  text-decoration: none;
  border-bottom: 0 !important;
}

/* Title */
.ww_awards_static .ww_award_title,
.ww_publications_static .ww_publication_title,
.ww_lectures_static .ww_lt_title,
.ww_network_static .ww_network_title{
  font-size: 20px;
  color: #1a1a1a;
  font-weight: 500;
  margin: 0 0 0 10px;  
  padding: 0 0 10px 0;    
  line-height: 1.3;
}

/* Description */
.ww_awards_static .ww_award_desc,
.ww_publications_static .ww_publication_desc,
.ww_lectures_static .ww_lt_desc,
.ww_network_static .ww_network_desc{
  font-size: 16px;
  color: #4F4E68;
  margin: 0 0 0 10px; 
  max-width: 80%;
  line-height: 1.45;
}

/* Subtle hover/focus affordance for linked cards (optional) */
.ww_awards_static li > a:focus-visible,
.ww_publications_static li > a:focus-visible,
.ww_lectures_static li > a:focus-visible,
.ww_network_static li > a:focus-visible,
.ww_awards_static li > a:hover,
.ww_publications_static li > a:hover,
.ww_lectures_static li > a:hover,
.ww_network_static li > a:hover{
  outline: none;
}
.ww_awards_static li > a:hover .ww_award_title,
.ww_publications_static li > a:hover .ww_publication_title,
.ww_lectures_static li > a:hover .ww_lt_title,
.ww_network_static li > a:hover .ww_network_title{
  text-decoration: underline;
}

/* language switcher */
.ww .menu-item-language a span {
  font-size: 0; /* hides the text */
}
.ww .menu-item-language a span::after {
  font-size: 14px; /* or whatever size you need */
}
.ww .menu-item-language a span[lang="nl"]::after {
  content: 'NL';
}
.ww .menu-item-language a span[lang="en"]::after {
  content: 'EN';
}

/* search menu */
.ww #et_top_search #et_search_icon:before {    
    font-size: 15px;
    top: 2px;
}

/* hide filter counts */
.ww .ymc-container .filter-content .total-results-found, 
.ww .ymc-extra-container .filter-content .total-results-found {
	display: none;
}

/* breadcrumbs */
.ww_breadcrumb a {
    color: #fff !important;
    position: relative;
}
.ww_breadcrumb a::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    border-bottom: 1px dotted #fff;
    opacity: 0;
    transition: opacity .3s;
}
.ww_breadcrumb a:hover::after {
    opacity: 1;
}