/* 
Theme Name: Hopmans Wonen Theme
Theme URI: https://hopmanswonen.nl
Description: Thema hopmanswonen.nl
Author: Studio Code Rood
Author URI: https://studiocoderood.nl
Template: hello-elementor
Version: 1.2.2
*/

/*------------------------
# General Styles
-------------------------*/
body {
  margin: 0;
  overflow-x: hidden; /* Voorkomt horizontale scrolling */
}

/* Typography */
strong, b {
  font-weight: 700 !important;
}

ul, ol li {
  margin-bottom: 20px;
} 

p {
  margin-block-start: 0;
  margin-block-end: .9rem;
}

h1, h2, h3, h4, h5, h6 {
  margin-block-start: .5rem;
  margin-block-end: 1rem;
  line-height: 1.2;
}

/* Accessibility */
body a:focus, 
input[type=text]:focus, 
[type=button]:focus, 
[type=submit]:focus, 
input[type=email]:focus, 
textarea:focus {
  outline-style: dotted !important;
  outline-width: 3px !important;
  outline-color: var(--e-global-color-primary) !important;
}

footer a:focus {
/*    outline-color: black !important;*/
}

.scr-icon .elementor-icon svg {
  width: auto !important;
}

.screen-reader-text:focus {
    background-color: #eee;
    clip: auto !important;
    clip-path: none;
    color: #333;
    display: block;
    font-size: 1rem;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
}

/*------------------------
# Header & Footer
-------------------------*/
/* Sidebar Logo */
.sidebar-logo .elementor-button-link {
  outline-style: none;
  text-decoration: none;
}

.sidebar-logo .elementor-button-icon svg {
  height: 40px;
  width: auto;
}

.sidebar-logo .elementor-button-text {
  line-height: 40px;
}

.sidebar-logo .elementor-button:focus,
.sidebar-logo .elementor-button:active,
.sidebar-logo .elementor-button-icon:focus,
.sidebar-logo .elementor-button-icon:active,
.sidebar-logo .elementor-button-icon svg,
.sidebar-logo .elementor-button-icon svg:focus,
.sidebar-logo .elementor-button-icon svg:active {
    outline: none !important;
    box-shadow: none !important;
}
.sidebar-logo {
  overflow: hidden !important;
}

/* Footer Links */
footer a {
  color: white !important;
  text-decoration: none !important;
}

footer a:hover {
  color: white !important;
  text-decoration: underline !important;
}

/*------------------------
# Navigation
-------------------------*/
/* Main Menu Structure */
.hopmans-menu nav ul {
  padding: 0 0 20px 0;
}

/* Head Menu Components */
.head-menu .elementor-cta--skin-classic .elementor-cta__content {
  background-color: transparent;
}

.head-menu .elementor-cta__icon-wrapper {
  display: flex;
  align-items: center;
  width: auto;
}

.head-menu a.elementor-cta {
  text-decoration: none;
  transition: .1s;
}

.head-menu .elementor-cta__icon {
  margin-right: 10px !important;
}

.head-menu .elementor-cta__title {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  white-space: nowrap; 
}

.head-menu .elementor-cta__content-item {
  width: auto !important; 
  transition: .1s;
}

.head-menu .elementor-cta__title::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 320 512"><path d="M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z"/></svg>');
  background-size: contain;
  background-repeat: no-repeat;
  margin-left: 10px;
}

.head-menu .elementor-cta__description {
  margin-top: 5px !important;
  width: 100% !important;
}

.head-menu .green .elementor-cta__title::after, .head-menu .green .elementor-cta__icon svg {
  filter: invert(100%); /* Maak de pijl wit */
}
.head-menu .elementor-cta__title::after, .head-menu .elementor-cta__icon svg {
  filter: invert(39%) sepia(79%) saturate(2547%) hue-rotate(150deg) brightness(105%) contrast(87%);
}

.head-menu .green a.elementor-cta:hover .elementor-cta__title::after, .head-menu .green a.elementor-cta:hover .elementor-cta__icon svg,
.head-menu a.elementor-cta:hover .elementor-cta__title::after, .head-menu a.elementor-cta:hover .elementor-cta__icon svg  {
  filter: invert(0%); 
}

/* Vacature Count Badge */
.head-menu .vac-count {
  display: inline-block;
  background-color: var(--e-global-color-primary);
  color: white;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  text-align: center;
  line-height: 18px;
  font-weight: 600;
  font-size: 11px;
  position: relative;
  top: -15px;
  left: -5px;
  margin-right: -10px;
}

/* Portal Menu Item */
.portal.menu-item > a::before {
  content: '' !important;
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  margin-right: 10px !important;
  margin-left: 10px;
  vertical-align: middle !important;
  background-image: url("data:image/svg+xml,%3Csvg aria-hidden='true' class='e-font-icon-svg e-fas-user-lock' viewBox='0 0 640 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M224 256A128 128 0 1 0 96 128a128 128 0 0 0 128 128zm96 64a63.08 63.08 0 0 1 8.1-30.5c-4.8-.5-9.5-1.5-14.5-1.5h-16.7a174.08 174.08 0 0 1-145.8 0h-16.7A134.43 134.43 0 0 0 0 422.4V464a48 48 0 0 0 48 48h280.9a63.54 63.54 0 0 1-8.9-32zm288-32h-32v-80a80 80 0 0 0-160 0v80h-32a32 32 0 0 0-32 32v160a32 32 0 0 0 32 32h224a32 32 0 0 0 32-32V320a32 32 0 0 0-32-32zM496 432a32 32 0 1 1 32-32 32 32 0 0 1-32 32zm32-144h-64v-80a32 32 0 0 1 64 0z'%3E%3C/path%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
  filter: invert(39%) sepia(79%) saturate(2547%) hue-rotate(150deg) brightness(105%) contrast(87%) !important;
  color: var(--e-global-color-primary) !important;
  opacity: 1 !important;
  position: relative !important;
}

.hopmans-menu .portal.menu-item > a {
  padding-left: 10px !important;
  color: var(--e-global-color-primary) !important;
  font-weight: 500;
}

.hopmans-menu .portal.menu-item > a:hover {
  color: var(--e-global-color-text) !important;
}

.hopmans-menu .portal.menu-item > a:hover::before {
  filter: none !important;
}

/* Button Style Menu Item */
.hopmans-menu .btn.menu-item > a {
  background-color: var(--e-global-color-secondary) !important;
  color: white !important;
  padding: 8px 15px !important;
  border-radius: 5px !important;
  display: inline-block !important;
  width: auto !important;
  text-align: center !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
  margin-left: 20px;
}

.hopmans-menu .btn.menu-item > a:hover {
  background-color: var(--e-global-color-primary) !important;
  text-decoration: none !important;
}

/*------------------------
# Container shapes
-------------------------*/
.intro-head {
  position: relative !important; /* Establish stacking context */
  background: linear-gradient(
    to right, 
    white calc((100% - 1440px) / 2), 
    var(--e-global-color-primary) calc((100% - 1440px) / 2),
    var(--e-global-color-primary) calc((100% - 1440px) / 2 + 1440px * 0.63),
    white calc((100% - 1440px) / 2 + 1440px * 0.63)
  );
  background-color: white; /* Fallback */
  z-index: 1 !important;
	min-height: 550px !important;
	padding-top: 20px;
}

.intro-head img {
  mix-blend-mode: multiply; /* Blend effect */
  display: block;
  width: 100%;
  height: auto;
}

.multi-img img {
  position: relative;
  mix-blend-mode: multiply; /* Blend effect */
  z-index: 3;
}

.intro-head::before {
    content: '' !important;
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    width: 150px !important;
    height: 80px !important;
    background-color: white;
    clip-path: polygon(0 0, 100% 0, 0 100%);
    z-index: 2;
    pointer-events: none;
}

@media (min-width: 1025px) {
    .intro-head::before {
        left: calc((100% - 1446px) / 2) !important;
        width: 165px !important;
        height: 100px !important;
    }
}

.corner-right-large::after {
    content: '' !important;
    position: absolute !important;
    top: -2px !important;
    right: -2px !important;
    width: 160px !important;
    height: 95px !important;
    background-color: white;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    z-index: 2;
    pointer-events: none;
}

@media (max-width: 1024px) {
    .corner-right-large::after {
        width: 120px !important;
        height: 75px !important;
    }
}

@media (max-width: 767px) {
    .corner-right-large::after {
        width: 80px !important;
        height: 50px !important;
    }
}

.corner-right-small::after {
    content: '' !important;
    position: absolute !important;
    top: -2px !important;
    right: -2px !important;
    width: 70px !important;
    height: 70px !important;
    background-color: white;
    clip-path: polygon(0 0, 100% 0, 100% 100%);
    z-index: 2;
    pointer-events: none;
}
.cornershape-right-small {
  clip-path: polygon(0 0, 90% 0, 100% 20%, 100% 100%, 0 100%)
}

@media (max-width: 767px) {
  .intro-head {
    background: var(--e-global-color-primary);
  }
}

/*------------------------
# Fluentforms Styling
-------------------------*/

/* General styling */
.fluentform select, 
.ffs_modern_l .ff-el-group .ff-el-input--content select {
    height: 50px !important;
    display: block;
    font-size: 16px;
    font-weight: 500;
    color: #444;
    line-height: 1.3 !important;
    padding: .6em 1.4em .5em 1em !important;
    width: 100%;
    max-width: 100%; 
    box-sizing: border-box;
    margin: 0;
    border: 1px solid #aaa;
    box-shadow: 0 1px 0 1px rgba(0,0,0,.04);
    border-radius: 0 !important;
    -moz-appearance: none;
    -webkit-appearance: none;
    appearance: none;
    background: url('data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%23007CB2%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E') no-repeat right .7em top 50%, 0 0 .65em auto, 100%;
    background-size: .65em auto, 100%;
}

.fluentform .ff-el-form-control {
	font-size: 16px !important;
	border-radius:0px !important;
}


/* Step title styling */
.ff-step-titles span, 
.ff-step-titles li:after {
    display: none !important;
}

.ff-step-titles li {
    padding: 0 5px !important;
    vertical-align: middle !important;
}

ul.ff-step-titles {
    width: inherit !important;
    margin: 0 auto !important;
}

.ff-step-titles li.ff_active:before, 
.ff-step-titles li.ff_completed:before {
    background: var(--e-global-color-primary) !important;
    color: #fff !important;
}

.ff-step-titles li:before {
    padding: 10px 0 !important;
    width: 44px !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    border: 2px solid var(--e-global-color-primary) !important;
    color: var(--e-global-color-primary) !important;
    font-weight: 600;
}

/* Multistep styling - buttons */
.ff-btn.ff-btn-prev {
    background-color: transparent !important;
    color: #aaa !important;
    border: 0 !important;
    padding: 10px 20px 10px 5px;
    margin-top: 10px;
    transition: 0.3s;
    text-transform: inherit;
    font-weight: 600 !important;
}

.ff-btn.ff-btn-next {
    background-color: var(--e-global-color-secondary) !important;
    border: 2px solid var(--e-global-color-secondary) !important;
    margin-top: 10px;
    font-size: 15px !important;
    padding: 8px 25px !important;
    font-weight: 600 !important;
    color: #fff !important;
    border-radius: 4px;
}

.ff-btn.ff-btn-next:hover {
    background-color: var(--e-global-color-secondary) !important;
    border-color: var(--e-global-color-secondary) !important;
    opacity: 1 !important;
}

/*------------------------
# Zipcode Form Styling
-------------------------*/
/* Base styles for all zipcode forms */
.fluentform .form_zipcode .ff_street, 
.fluentform .form_zipcode .ff_city, 
.fluentform .form_zipcode .ff_province, 
.fluentform .form_zipcode .ff_municipality {
  display: none;
}

.fluentform .form_zipcode input {
  border: none;
}

.fluentform .form_zipcode .ff_address_full .ff-el-input--label {
  width: 140px;
  padding-top: 6px;
}

.fluentform .form_zipcode button[type="submit"].disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Dark theme styling */
.fluentform .form_zipcode.form_dark p, 
.fluentform .form_zipcode.form_dark a, 
.fluentform .form_zipcode.form_dark .postcode_error_feedback {
  color: #fff;
  font-size: 0.9em !important;
  line-height: 1.6;
}

.fluentform .form_zipcode.form_dark a {
  text-decoration: underline;
}

.fluentform .form_zipcode.form_dark .ff_address_full .ff-el-input--label>label {
  color: #fff !important;
}

.fluentform .form_zipcode.form_dark .ff_address_full .ff-el-input--content {
  margin-left: 140px !important;
}

.fluentform .form_zipcode.form_dark .ff_address_full textarea {
  background-color: transparent !important;
  color: #fff !important;
  border-width: 0px !important;
}

/* Light theme styling */
.fluentform .form_zipcode.form_light .ff_address_full .ff-el-input--label>label {
  color: #000 !important;
}

.fluentform .form_zipcode.form_light .ff_address_full textarea {
  background-color: transparent !important;
  color: #000 !important;
  border-width: 0px !important;
}

/* Orange button for forms */
body .elementor .fluentform-widget-wrapper .fluentform .ff-el-group .ff-btn-submit.orange {
  background-color: var(--e-global-color-secondary) !important;
  border: 0px !important;
}


/*------------------------
# Team
-------------------------*/
.team-lid .elementor-widget-container {
  position: relative;
  overflow: hidden;
}

.team-lid .elementor-widget-container:before {
  content: "";
  position: absolute;
  bottom: 0;
  right: 0;
  border-width: 50px 50px 0 0;
  border-style: solid;
  border-color: transparent #fff #fff transparent;
  z-index: 1;
}



/*------------------------
# Objecten
-------------------------*/

/* Gallery styling */
.object-gallery .gallery-item:nth-of-type(1) img{
	border-radius:0px;
		height:500px !important;
	object-fit:cover;
}
.object-gallery .gallery-item{
	display:none !important;
}
.object-gallery .gallery-item:nth-of-type(1), .object-gallery .gallery-item:nth-of-type(2), .object-gallery .gallery-item:nth-of-type(3), .object-gallery .gallery-item:nth-of-type(4), .object-gallery .gallery-item:nth-of-type(5){
	display:inline-flex !important;
}
.object-gallery .gallery-item:nth-of-type(2), .object-gallery .gallery-item:nth-of-type(3), .object-gallery .gallery-item:nth-of-type(4), .object-gallery .gallery-item:nth-of-type(5){
	max-width:calc(25% - 0px) !important;
}
.object-gallery .gallery-item:nth-of-type(2) img, .object-gallery .gallery-item:nth-of-type(3) img,.object-gallery .gallery-item:nth-of-type(4) img, .object-gallery .gallery-item:nth-of-type(5) img{
	height:245px;
	object-fit:cover;
}
.object-gallery .gallery-item:nth-of-type(1){
	max-width:calc(50% - 0px) !important;
}
.object-gallery .gallery-item:nth-of-type(4){
	margin-left:50% !important;
	margin-top:-255px !important;
}
.object-gallery .gallery-item:nth-of-type(5){
	margin-top:-255px !important;
}

.object-gallery .gallery-item:nth-of-type(1) a:after{
	z-index:10 !important;
	content:"Alle foto's tonen";
	position:absolute;
	font-size:14px;
	font-weight:600;
	bottom:40px;
	right:10px;
	padding:4px 12px;
	background-color:#fff;
	color:#002237;
	border-radius:4px;
	box-shadow:5px 5px 10px 0px rgba(0,0,0,0.4);
}

.object-status-verhuurd {
	opacity: 0.5;
	pointer-events: none;
}

/*------------------------
# Search & filter
-------------------------*/

/* Search fields */
.search-filter-input-text input[type=text].search-filter-input-text__input:hover {
  padding: 10px 15px 10px 15px;
}

.search-filter-component-combobox__listbox-toggle svg {
  fill: var(--e-global-color-primary) !important;
  color: var(--e-global-color-primary) !important;
}

.search-filter-component-range-slider__range-input-progress {
  --range-color: var(--e-global-color-primary) !important;
}

.search-filter-label {
  color: var(--e-global-color-primary) !important;
  font-weight: bold !important;
}

/*------------------------
# Projecten
-------------------------*/
.project-details .dynamic-content-for-elementor-acf {
  display: grid;
  grid-template-columns: 170px auto;
  align-items: start;
}

.project-details .tx-before {
  display: inline-block;
  width: 170px;
}

@media (max-width: 767px) {
  .project-details .dynamic-content-for-elementor-acf {
    display: flex;
    flex-direction: column;
    grid-template-columns: 1fr;
  }
  
  .project-details .tx-before {
    width: 100%;
    margin-top: 15px;
    font-weight: 600;
  }
}