/*
Theme Name: Wux Theme
Author: Wux
Author URI: https://wux.nl/
Description: Wux is het custom wordpress thema van Wux - Internetbureau
Version: 2.0
Requires PHP: 8.3.0
Text Domain: wuxnl-theme
*/

@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;700&display=swap');

/* @font-face {
    font-family: "Switzer";
    src: url('/app/themes/wuxnl-theme/assets/fonts/Switzer-Regular.ttf') format('truetype'),
         url('/app/themes/wuxnl-theme/assets/fonts/Switzer-Regular.woff') format('woff'),
         url('/app/themes/wuxnl-theme/assets/fonts/Switzer-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
} */


:root {
    --fs: 1.4rem;
    --lh: 1.6;
    
    /* Custom beziers */
    --cb--smooth: cubic-bezier(.58,.22,.2,.96);

    --clr-primary: #E30613;
    --clr-primary-light: #ff3d4a;
    --clr-primary-dark: #bc000d;

    --clr-heading: #1E293B;
    --clr-text: #1E293B;

    --clr-dark: #393E41;
    --clr-dark-80: rgb(59, 67, 80);

    --clr-light: #f7ebeb;
    --clr-light-120: #eed7d7;

    --clr-border: #e1c4c4; 
    
    --clr-danger: #e2401c;
    --clr-info: #3d9cd2;
    --clr-success: #1CB435;

    /* Font variables */
    --font-primary: 'Poppins', sans-serif;
    --font-special: 'Teko', serif;

    /* Container max-width variables */
    --container-width: 100%;
    --container-width--sm: 540px;
    --container-width--md: 720px;
    --container-width--lg: 960px;
    --container-width--xl: 1200px;
    --container-width--xxl: 1420px;
    --container-width--xxxl: 1540px;

    --ts-duration: var(--ts-25);
    --ts-function: var(--cb--smooth);
}

@media (min-width: 768px) {
    :root {
        --fs: 1.6rem;
    }
}

body { font-family: var(--font-primary); }

/*** ---------- Typography ---------- ***/
h1, .h1, h2, .h2, h3, .h3, h4, .h4, h5, .h5, h6, .h6 { }
h1, .h1 { --fs: clamp(3.6rem, 6.5vw, 8rem); --lh: 1; }
h2, .h2 { --fs: clamp(2.8rem, 4vw, 4.4rem); --lh: 1; }
h3, .h3 { --fs: clamp(2rem, 3vw, 2.4rem); --lh: 1; }
h4, .h4 { --fs: 1.8rem; --lh: 2rem; }

.wpb-text p:has(+ :is(h1, h2, h3)) em{ --fs: clamp(2.4rem, 1.5vw, 3.2rem); font-family: var(--font-special); font-size: var(--fs); font-style: normal; font-weight: 200; letter-spacing: 3px; color: var(--clr-primary) !important; }
.wpb-text p:has(em) + :is(h1, h2, h3) { --mt: .8rem; }

.wpb-text :is(h1, h2, h3):has(strong){ font-weight: 400; }
.wpb-text :is(h1, h2, h3):has(strong) strong{ font-weight: 900; }

.wpb-text :is(ul){ --bg-clr: var(--clr-light); --mt: 3.2rem; padding: 2rem; background-color: var(--bg-clr); display: grid;  gap: 2.4rem; }
.wpb-text :is(ul) li{ list-style: none; display: flex; align-items: center; gap: 1rem; font-size: 1.6rem; line-height: 1.2; }
.wpb-text :is(ul) li::before{ content: '\f058'; font-family: 'Font Awesome 6 sharp'; font-weight: 900; font-size: 2rem; color: var(--clr-primary); }

@media(min-width: 425px) {
    .wpb-text :is(ul) { grid-template-columns: repeat(auto-fit, minmax(30rem, 1fr)); }
}

:is(.wpb-bg-clr--dark, .wpb-bg-clr--primary) .wpb-text *{ color: #fff; }

/*** ---------- Whitespace ---------- ***/
[class*="wpb-wst"] { --pt: 0; padding-top: var(--pt); }
[class*="wpb-wsb"] { --pb: 0; padding-bottom: var(--pb); }

.wpb-wst--none { --pt: 0; }
.wpb-wst--small { --pt: 1.8rem; }
.wpb-wst--medium { --pt: 2.5rem; }
.wpb-wst--large { --pt: 4rem; }

.wpb-wsb--none { --pb: 0; }
.wpb-wsb--small { --pb: 1.8rem; }
.wpb-wsb--medium { --pb: 2.5rem; }
.wpb-wsb--large { --pb: 4rem; }

@media (min-width: 992px) {
    .wpb-wst--small { --pt: 6.4rem; }
    .wpb-wst--medium { --pt: 8rem; }
    .wpb-wst--large { --pt: 11rem; }
    
    .wpb-wsb--small { --pb: 6.4rem; }
    .wpb-wsb--medium { --pb: 8rem; }
    .wpb-wsb--large { --pb: 11rem; }
}

/*** ---------- Background colors ---------- ***/
.wpb-bg-clr--primary { background-color: var(--clr-primary-dark); }
.wpb-bg-clr--light{ background-color: var(--clr-light); }

/*** ---------- Background assets ---------- ***/
:is(header, section, footer):has(.wpb-bg-assets){ position: relative; }
:is(header, section, footer):has(.wpb-bg-assets) .container{ z-index: 2; }
.wpb-bg-assets{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; pointer-events: none; z-index: 1; }
.wpb-bg-assets .wpb-bg-style{ --size: 40rem; --src: url('/app/themes/wuxnl-theme/assets/img/slotenmaker-bg.svg'); position: absolute; top: 5rem; right: 0; bottom: 0; left: 10%; width: var(--size); height: var(--size); background: var(--src) no-repeat center right/contain; opacity: .075; }
/* .wpb-bg-assets .wpb-bg-style.wpb-bg-style--yellow{ --src: url('/app/themes/wuxnl-theme/assets/img/slotenmaker-bg--yellow.png'); } */



/*** ---------- Header ---------- ***/
.wpb-header { --gc: 1; --gap: 3.2rem; }
.wpb-header .wpb-text p:has(+ :is(h1, h2, h3)) em{ color: #fff !important; }


.wpb-header.wpb-header--home{ min-height: 60vh; }
.wpb-header.wpb-header--home .container .wpb-text{ max-width: 100rem; }
.wpb-header.wpb-header--home .container .wpb-text h1 + p{ font-size: clamp(1.8rem, 2vw, 2.4rem); opacity: .8; }
.wpb-header.wpb-header--home .container .wpb-text .btn-group{ --mt: 4.8rem; }

/*** ---------- Footer ---------- ***/
.wpb-footer {  }
.wpb-footer.wpb-footer--primary {  }


.wpb-footer .wpb-footer__bottom{ background-color: var(--clr-dark); }
.wpb-footer .wpb-footer__bottom *{ color: #fff; }

.by-wux { display: flex; align-items: center; gap: .5rem; text-decoration: none; opacity: 1; transition: opacity var(--ts-duration) ease; }
.by-wux span { font-size: 1.2rem; line-height: 1; pointer-events: none; }
.by-wux img { width: 4.4rem; height: 1.4rem; filter: invert(1); }
.by-wux:hover{ opacity: .8; }