// Globals /* $container-max-widths: ( sm: 540px, md: 720px, lg: 960px, xl: 1140px, xxl: 1520px ); */ // Imports @import "node_modules/bootstrap/scss/bootstrap"; // Fonts @font-face { font-family: 'Mukta'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/mukta-400.woff2') format('woff2'); } @font-face { font-family: 'Mukta'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/mukta-600.woff2') format('woff2'); } @font-face { font-family: 'Mukta'; font-style: normal; font-weight: 800; font-display: swap; src: url('/fonts/mukta-800.woff2') format('woff2'); } @font-face { font-family: 'Kantumruy Pro'; font-style: normal; font-weight: 400; font-display: swap; src: url('/fonts/kantumruy-400.woff2') format('woff2'); } @font-face { font-family: 'Kantumruy Pro'; font-style: normal; font-weight: 500; font-display: swap; src: url('/fonts/kantumruy-500.woff2') format('woff2'); } @font-face { font-family: 'Kantumruy Pro'; font-style: normal; font-weight: 600; font-display: swap; src: url('/fonts/kantumruy-600.woff2') format('woff2'); } // Defaults $van-emous-blue: #dce4ee; $van-emous-orange: #b95913; $nav-link-color: #212121; $primary: $van-emous-orange; $mukta-font: 'Mukta', system-ui, -apple-system, sans-serif; $kantumruy-font: 'Kantumruy Pro', sans-serif; $font-family-base: $mukta-font; $headings-font-family: $kantumruy-font; $headings-font-weight: 500; $headings-color: #212121; .text-primary { color: $van-emous-orange !important; } .bg-secondary { background-color: $van-emous-blue !important; } body, html { margin: 0; padding: 0; } body { font-family: $font-family-sans-serif; font-weight: 400; line-height: 1.8em;; -webkit-font-smoothing: antialiased; } .row { margin-left: 0; margin-right: 0; } h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6, [class^="display-"] { font-family: $headings-font-family; font-weight: $headings-font-weight; color: $headings-color; } h1, .display-3 { line-height: 1.1; margin-bottom: 1.5rem; letter-spacing: -0.01em; } h2, .h2 { font-size: 2.5rem; margin-bottom: 1.25rem; } h6 { font-size: 20px; line-height: normal; font-weight: 500; letter-spacing: 0.4em; //color: darken($van-emous-blue, 40%) !important; margin: 0; padding-bottom: 20px; display: block; @media (max-width: 991px) { font-size: 14px; letter-spacing: 0.3em; } } p { font-family: $mukta-font; font-size: 18px; line-height: 1.8em !important; font-weight: normal; margin-block-start: 0; margin-block-end: 0; padding-bottom: 20px; a { color:$van-emous-orange; } } .text-dark { color:#212121; } .numbers { font-size: 1.15em; letter-spacing: 0.02em; } .panel { border-radius: 40px; } .bg-primary { background: $van-emous-orange !important; } .bg-light { background: #f0f1ec !important; } .bg-blue { background: $van-emous-blue; } .bg-blue-dark { background: #a8bbd5; } .footer-main { border-radius: 100px 100px 0 0; } .lead { font-weight: 400; } .py-10 { padding: 4em 0 12em 0; } .rounded-img { border-radius: 20px;; } // Menu .top-bar { background-color: #a8bbd5; font-size: 0.9rem; color: white; font-size:18px; font-family: $mukta-font; a { color: white; text-decoration: none; } } .navbar-nav .nav-link { color: $nav-link-color; font-weight: 600; &:hover { color: $van-emous-orange; } } .navbar { transition: all 0.3s ease-in-out; backface-visibility: hidden; } .navbar.sticky-top { position: -webkit-sticky !important; // Voor Safari position: sticky !important; top: 0 !important; z-index: 1030 !important; background-color: rgba(255, 255, 255, 0.9) !important; backdrop-filter: blur(4px); } // Animation [data-aos^="fade"][data-aos^="fade"] { transition-property: opacity, transform; } [data-aos="fade-up"] { transform: translateY(30px) !important; } [data-aos="fade-down"] { transform: translateY(-30px) !important; } [data-aos="fade-left"] { transform: translateX(30px) !important; } [data-aos="fade-right"] { transform: translateX(-30px) !important; } [data-aos].aos-animate { transform: translate(0) !important; opacity: 1; } [data-aos="zoom-in"] { transform: scale(0.9) !important; transition-property: transform, opacity; &.aos-animate { transform: scale(1); } } .dropdown-menu { border: none; box-shadow: 0 10px 30px rgba(0,0,0,0.1); border-radius: 8px; padding: 1rem 0; background-color: $van-emous-orange; .dropdown-item { font-family: $mukta-font; padding: 0.5rem 1.5rem; font-weight: 400; color: #fff; position: relative; transition: all 0.2s ease-in-out; display: flex; align-items: center; &::before { content: "\F285"; font-family: "bootstrap-icons"; position: absolute; left: 0.5rem; opacity: 0; transition: all 0.2s ease-in-out; font-size: 0.8rem; } &:hover { background-color: $van-emous-orange; color: #fff; padding-left: 2.2rem; &::before { opacity: 1; left: 1.2rem; } } &:active { background-color: darken($van-emous-orange, 5%); } } } @media (min-width: 992px) { .nav-item.dropdown { &:hover { > .dropdown-menu { display: block; margin-top: 0; opacity: 1; visibility: visible; animation: fadeIn 0.2s ease-in; } } } } .hero-section { padding-top: 5rem; padding-bottom: 5rem; h1 { color: #222; line-height: 1.1; letter-spacing: -1px; } .lead { font-size: 1.1rem; line-height: 1.6; border-color: $van-emous-orange !important; border-width: 3px !important; } } .hero-image-dynamic { width: 100%; background-position: center center; background-size: cover; background-repeat: no-repeat; border-radius: 40px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); min-height: 400px; @media (min-width: 992px) { min-height: 600px; aspect-ratio: 21 / 9; } } .hero-image-single { width: 100%; background-position: center center; background-size: cover; background-repeat: no-repeat; border-radius: 40px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); min-height: 200px; max-height: 200px; height: 200px; @media (min-width: 992px) { min-height: 300px; max-height: 300px; height: 300px; aspect-ratio: 21 / 9; } } .hero-image-model { width: 100%; background-position: center center; background-size: cover; background-repeat: no-repeat; border-radius: 40px; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); min-height: 300px; max-height: 300px; height: 300px; @media (min-width: 992px) { min-height: 400px; max-height: 400px; height: 400px; aspect-ratio: 21 / 9; } } // Buttons .btn-cta { display: inline-block; position: relative; font-weight: 600; color: #ffffff; background-color: $van-emous-orange !important; padding: 17px 60px 17px 35px; font-size: 16px; line-height: normal; border-radius: 50px; transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); font-family: $mukta-font; border: none; text-decoration: none; &::after { content: ""; background-image: url('/img/chevron.svg'); background-size: contain; background-repeat: no-repeat; display: block; width: 7px; height: 13px; position: absolute; right: 30px; top: 50%; transform: translateY(-50%); transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1); color: #ffffff !important; } &:hover { color: #ffffff !important; padding-right: 80px; &::after { right: 30px; } } } .cta-wrapper { @media (min-width: 992px) { min-width: 320px; display: flex; justify-content: flex-end; } } // Hero .hero-rounded-img { border-radius: 40px; width: 100%; height: auto; box-shadow: 0 10px 30px rgba(0, 0, 0, 0.08); image-rendering: -webkit-optimize-contrast; } .hero-image-container { position: relative; overflow: hidden; animation: imageReveal 1.2s cubic-bezier(0.23, 1, 0.32, 1); } @keyframes imageReveal { from { opacity: 0; transform: translateY(30px) scale(1.02); } to { opacity: 1; transform: translateY(0) scale(1); } } @media (max-width: 768px) { .hero-rounded-img { border-radius: 20px; } } // USPS .usp-bar { .usp-item { .usp-text { font-family: $mukta-font; font-size: 18px; font-weight: 500; color: #1a1a1a; white-space: nowrap; } svg { flex-shrink: 0; } } @media (max-width: 991px) { .row { flex-direction: column; align-items: flex-start; padding-left: 1rem; } } } .card { transition: transform 0.3s ease, box-shadow 0.3s ease !important; &:hover { box-shadow: 0 20px 40px rgba(0, 0, 0, 0.25); transform: translateY(-10px) rotate(.5deg); } } .card-secondary { background-color: $van-emous-blue; border-radius:30px; min-height:200px; padding: 2rem; } .modellen-sectie { .model-card { min-height: 480px; border: none; background-color: #fff; &:hover .model-card-bg { transform: scale(1.05); } } .model-card-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: center; transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1); z-index: 1; } .model-card-overlay { position: relative; height: 100%; width: 100%; z-index: 2; background: linear-gradient(0deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0) 100%); } .price-badge { background: rgba(255, 255, 255, 0.9); display: inline-block; padding: 10px 20px; border-radius: 15px; color: #212121; align-self: flex-start; span:first-child { color: $van-emous-orange; // font-size: 0.7rem; letter-spacing: 0.1em; } } .model-info { text-shadow: 0 2px 4px rgba(0,0,0,0.5); } } // Forms .form-control { padding: 16px 22px; } // Map #col-map { transition: flex 0.6s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.6s cubic-bezier(0.4, 0, 0.2, 1); } #col-results { opacity: 0; transform: translateX(20px); transition: opacity 0.5s ease-out, transform 0.5s ease-out; display: none; } #col-results.animate-in { display: block !important; opacity: 1 !important; transform: translateX(0) !important; } .ol-control { background: none !important; } .ol-zoom { display: none; } .custom-zoom { bottom: 20px; right: 20px; top: auto; left: auto; position: absolute; display: flex; flex-direction: column; background: none; } .custom-zoom button { background-color: #fff !important; color: $van-emous-orange !important; border: none !important; border-radius: 5px !important; margin-bottom: 5px !important; width: 30px !important; height: 30px !important; font-size: 1.2rem !important; cursor: pointer; box-shadow: none; } .custom-zoom button:hover { background-color: $van-emous-orange !important; color: #fff !important; } .ol-attribution { right: 20px !important; bottom: 10px !important; display: none !important; } // Footer .footer-main { .footer-inner { border-radius: 60px 60px 0 0; background-color: #e2eaf0 !important; } .icon-circle { width: 45px; height: 45px; background-color: $van-emous-orange; color: white; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 1.2rem; } .form-control { box-shadow: none; &::placeholder { color: #adb5bd; } } a:hover { color: $van-emous-orange !important; } } // Scrollstops #vergunningscheck, #modellen { scroll-margin-top: 100px; } #map canvas { touch-action: pan-y !important; } .info-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-size: cover; background-position: 50%; transition: transform .6s cubic-bezier(.165,.84,.44,1); z-index: 1; } // SVG .modellen-sectie { position: relative; overflow: hidden; } .svg-bg-container { // position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; pointer-events: none; opacity: 0.15; } .drawing-line { stroke-dasharray: 10000; stroke-dashoffset: 10000; transition: stroke-dashoffset 10s ease-in, opacity 1s ease; opacity: 0; } .is-visible .drawing-line, .is-visible.drawing-line { stroke-dashoffset: 0; opacity: 1; } // Forms .form-control:focus { border-color: #b95913; box-shadow: 0 0 0 0.25rem rgba(185, 89, 19, 0.25); } .form-check-input { border: 1px solid #999 !important; height: 1.2em; width: 1.2em; margin-right: 12px; } .form-check-input:checked { background-color: #b95913; border-color: #b95913 !important; } .form-check-input:focus { border-color: #b95913 !important; box-shadow: 0 0 0 0.25rem rgba(185, 89, 19, 0.25); } #contactModal .btn-primary { background-color: #b95913; border-color: #b95913; color: #fff; } #contactModal .btn-primary:hover, #contactModal .btn-primary:active { background-color: #964810; border-color: #964810; } textarea { resize: none; border-radius: 30px !important; } // Slider #model-splide { padding-bottom: 3rem; .splide__pagination { bottom: 0; &__page { width: 12px; height: 12px; background: darken($van-emous-blue, 20%); border: none; margin: 0 6px; opacity: 0.5; transition: all 0.3s ease; &.is-active { background: $van-emous-orange; transform: scale(1.4); opacity: 1; } &:hover { opacity: 1; background: $van-emous-orange; } } } .splide__track { overflow: visible !important; } .splide__list { cursor: grab; &:active { cursor: grabbing; } } } #gallery-splide { overflow: hidden; padding-bottom: 40px; .splide__slide { transition: transform 0.3s ease; &:hover { } } .splide__arrow { background: $van-emous-orange; color: white; opacity: 1; &:hover { background: darken($van-emous-orange, 10%); } } .splide__pagination { &__page { width: 12px; height: 12px; background: $van-emous-blue; border: none; margin: 0 6px; opacity: 1; transition: all 0.3s ease; &.is-active { background: $van-emous-orange; transform: scale(1.4); opacity: 1; } &:hover { opacity: 1; background: $van-emous-orange; } } } .splide__track { overflow: visible !important; } .splide__list { cursor: grab; &:active { cursor: grabbing; } } } #lightboxModal { .modal-content { background: transparent; } .modal-backdrop.show { opacity: 0.9; } #lightboxImage { max-height: 90vh; box-shadow: 0 0 50px rgba(0,0,0,0.5); } } .gallery-trigger { transition: opacity 0.3s ease; &:hover { opacity: 0.9; } } .btn-lightbox-close { position: absolute; top: -20px; right: -20px; z-index: 1060; width: 45px; height: 45px; border-radius: 50%; border: none; background-color: $van-emous-orange; color: #fff; display: flex; align-items: center; justify-content: center; transition: transform 0.2s; &:hover { transform: scale(1.1); color: #fff; } } #lightbox-splide { .splide__arrow { background-color: $van-emous-orange !important; color: #fff !important; opacity: 1; width: 50px; height: 50px; svg { fill: #fff; } i { font-size: 1.5rem; } } .splide__track { overflow: visible; } } .icon-box { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; background-color: #fff; opacity: .5; border-radius: 10px; color: $van-emous-orange; box-shadow: 0 2px 5px rgba(0,0,0,0.05); i { font-size: 2em; opacity: 1 !important; } } // FAQ .faq-accordion { .accordion-item { border-radius: 25px !important; overflow: hidden; transition: all 0.3s ease; overflow: hidden; border: none; margin-bottom: 1.5rem; } .accordion-button { padding: 2rem 3rem; font-weight: 600; font-size: 1.25rem; color: #212121; background-color: #fff; box-shadow: none; transition: background-color 0.3s, border-radius 0.3s; &::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23212121'%3e%3cpath d='M8 0a1 1 0 0 1 1 1v6h6a1 1 0 1 1 0 2H9v6a1 1 0 1 1-2 0V9H1a1 1 0 0 1 0-2h6V1a1 1 0 0 1 1-1z'/%3e%3c/svg%3e"); background-size: 1.25rem; width: 1.25rem; height: 1.25rem; } &:not(.collapsed) { background-color: $van-emous-orange; color: #fff; border-bottom-left-radius: 0 !important; border-bottom-right-radius: 0 !important; &::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23fff'%3e%3cpath d='M0 8a1 1 0 0 1 1-1h14a1 1 0 1 1 0 2H1a1 1 0 0 1-1-1z'/%3e%3c/svg%3e"); } } &:focus { box-shadow: none; border-color: rgba(0,0,0,.125); } } .accordion-body { background-color: $van-emous-orange; color: #fff; padding: 0 3rem 2rem 3rem; border-bottom-left-radius: 25px; border-bottom-right-radius: 25px; a { color: #fff !important; font-weight: 600; } } .accordion-button { font-size: 1.5rem !important; font-weight:500; } } // Footer .contact-icon-circle { width: 60px; height: 60px; background-color: $van-emous-orange; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; i, img { color: white; font-size: 1.5rem; width: 24px; } } #contact-info { h5 { font-size: 1.25rem; color: #212121; } p { font-size: 1.1rem; } }