/*
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
*/

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

    /* Color variables */
    --clr-primary: #009CDE;
    --clr-primary-50: #A0D6F2;
    --clr-primary-20: #D7ECFB;
    --clr-primary-rgb: 0, 156, 222;
    

    --clr-heading: #000000;
    --clr-text: #000000;

    --clr-dark: #000000;

    --clr-light: #E7F3FB;

    --clr-border: rgba(0, 0, 0, 0.1); 
    
    --clr-danger: #e2401c;
    --clr-info: #3d9cd2;
    --clr-success: #1CB435;

    /* Font variables */
    --font-primary: 'Ubuntu', sans-serif;

    /* Container max-width variables */
    --container-width: 100%;
    --container-width--sm: 540px;
    --container-width--md: 720px;
    --container-width--lg: 960px;
    --container-width--xl: 1140px;
    --container-width--xxl: 1400px;
    --container-width--xxxl: 1560px;

    --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 { font-weight: 500; }
h1, .h1 { --fs: clamp(2.5rem, 4vw, 5rem); --lh: 1.1; font-weight: 400; }
h2, .h2 { --fs: clamp(2rem, 3vw, 3.6rem); --lh: 1.1; color: var(--clr-primary); }
h3, .h3 { --fs: clamp(1.8rem, 2vw, 2.4rem); --lh: 1.1; }
h4, .h4 { --fs: 1.8rem; --lh: 2rem; }

/*** ---------- 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: 3.2rem; }
.wpb-wst--medium { --pt: 3.2rem; }
.wpb-wst--large { --pt: 4rem; }

.wpb-wsb--none { --pb: 0; }
.wpb-wsb--small { --pb: 3.2rem; }
.wpb-wsb--medium { --pb: 3.2rem; }
.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 ---------- ***/
[class*="wpb-bg-clr--primary-"]{ --snap-point: 20rem; --gradient: var(--clr-primary), var(--clr-primary) var(--snap-point), transparent var(--snap-point); }
.wpb-bg-clr--primary-top { background: linear-gradient(to bottom, var(--gradient)); }
.wpb-bg-clr--primary-bottom { background: linear-gradient(to top, var(--gradient)); }

@media (min-width: 768px){
    [class*="wpb-bg-clr--primary-"]{ --snap-point: 18rem; }
}
@media (min-width: 992px){
    [class*="wpb-bg-clr--primary-"]{ --snap-point: 21rem; }
}
@media (min-width: 1200px){
    [class*="wpb-bg-clr--primary-"]{ --snap-point: 28rem; }
}

/*** ---------- Buttons ---------- ***/
.btn, .gform_button, .gform_next_button, .gform_previous_button, .button { --fs: 1.6rem; --lh: 1; --p: 0 2rem; --br: 5rem; font-weight: 500; word-break: break-word; }
.btn.btn--primary, .button { --clr: rgb(255,255,255); --bg-clr: var(--clr-primary); --hover-bg-clr: var(--clr-text); --border: 1px solid transparent; }

/*** ---------- Vimeo ---------- ***/
.wpb-vimeo{ --br: 1.5rem; --aspect-ratio: 177.8%; position: relative; width: 100%; height: 0; padding-bottom: var(--aspect-ratio); overflow: hidden; background-color: #000; border-radius: var(--br); }
.wpb-vimeo iframe{ width: 100%; height: 100%; position: absolute; top: 0; right: 0; bottom: 0; left: 0; border-radius: var(--br); transition: transform var(--ts-25) ease; }
.wpb-vimeo .wpb-vimeo__play{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; justify-content: center; align-items: center; cursor: pointer; }
.wpb-vimeo .wpb-vimeo__play i{ font-size: 4rem; color: #FFFF; transition: transform var(--ts-25) ease; }
.wpb-vimeo:not(.active):hover iframe{ transform: scale(1.05); }
.wpb-vimeo:not(.active):hover .wpb-vimeo__play i{ transform: scale(1.1); }

@media (min-width: 992px){
    .wpb-vimeo{ --br: 2rem; }
}

/*** ---------- Header ---------- ***/
.wpb-header--home{ min-height: min(80dvh, clamp(32rem, 50vw, 68rem)); display: flex; align-items: end; }
.wpb-header--home .wpb-text{ padding-top: clamp(8rem, 10vw, 12rem); }

@media (min-width: 992px){
    .wpb-header--home{ align-items: center; }
}

.by-wux { display: flex; align-items: center; gap: .4rem; text-decoration: none; opacity: .75; }
.by-wux span { font-size: 1.1rem; line-height: 1; }
.by-wux img { width: 4.7rem; height: 1.6rem; }