/*
Theme Name: Assist FM
Author: Chris Stickland
Description: Theme for Assist FM
Version: 1.0
Tested up to: 5.9
Requires at least: 5.0
Requires PHP: 7.0
Text Domain: assist
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
*/

@import url('https://use.typekit.net/hko6lab.css');

* {
    box-sizing: border-box;
    margin:0;
    padding:0;
    font-family: effra, sans-serif;
}

html {
    font-size: 100%;
    overflow-x: clip;
}


a,
a.btn {
    cursor: url(assets/icons/link-cursor.svg) 24 24, pointer;
}



body {
    /* position: relative; */
    margin: 0;
    border: 0;
    width: 100vw;
    color: var(--color-dark);
    font-family: effra, sans-serif;
    font-size: var(--size-text-mobile);
    letter-spacing: var(--size-text-spacing-mobile);
    line-height: var(--size-text-height-mobile);
    overflow-x: clip;
}


/* Colours */

.c-primary{
    color: var(--color-primary);
}

.c-secondary{
    color: var(--color-secondary);
}

.c-tertiary{
    color: var(--color-tertiary);
}

.c-quarternary{
    color: var(--color-quarternary);
}

.c-dark {
    color: var(--color-dark);
}

.c-primary-light {
    color: var(--color-primary-light);
}

.c-white {
    color: #ffffff;
}

.c-primary-tint {
    color: var(--color-primary-tint);
}

.c-primary-alt {
    color: var(--color-primary-alt);
}
/* Background Colours */

.bg-white {
    background-color: #ffffff;
}

.bg-primary {
    background-color: var(--color-primary);
}

.bg-secondary {
    background-color: var(--color-secondary);
}

.bg-tertiary {
    background-color: var(--color-tertiary);
}

.bg-quarternary {
    background-color: var(--color-quarternary);
}

.bg-dark {
    background-color: var(--color-dark);
}

.bg-primary-light {
    background-color: var(--color-primary-light);
}

.bg-primary-tint {
    background-color: var(--color-primary-tint);
}

.bg-primary-light-tint {
    background-color: var(--color-primary-light-tint);
}

.bg-primary-alt {
    background-color: var(--color-primary-alt);
}
/* Typography */

h1, .h1 {
    font-size: var(--size-heading-2-mobile);
    line-height: var(--size-heading-1-height-mobile);
    letter-spacing: var(--size-heading-1-spacing-mobile);
}

h2, .h2 {
    font-size: var(--size-heading-2-mobile);
    line-height: var(--size-heading-2-height-mobile);
    letter-spacing: var(--size-heading-2-spacing-mobile);
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
}

h3, .h3 {
    font-size: var(--size-heading-3-mobile);
    line-height: var(--size-heading-3-height-mobile);
    letter-spacing: var(--size-heading-3-spacing-mobile);
}

h4, .h4 {
    font-size: var(--size-heading-4-mobile);
    line-height: var(--size-heading-4-height-mobile);
    letter-spacing: var(--size-heading-4-spacing-mobile);
}

h5, .h5 {
    font-size: var(--size-heading-5-mobile);
    line-height: var(--size-heading-5-height-mobile);
    letter-spacing: var(--size-heading-5-spacing-mobile);
}

h6, .h6 {
    font-size: var(--size-heading-6-mobile);
    line-height: var(--size-heading-6-height-mobile);
    letter-spacing: var(--size-heading-6-spacing-mobile);
}

.weight-bold {
    font-weight: 700;
}

.weight-normal {
    font-weight: 400;
}

.underline {
    text-decoration: underline;
}

.hide-mobile {
    display: none;
}

.hide-desktop {
    display: block;
}

.page-width {
    max-width: 88.75rem;
    margin: 0 auto;
}
/* Buttons */

.btn {
    display: block;
    color:#ffffff;
    padding: 1.25rem 2rem;
    text-align: center;
    border-radius: 0.327rem;
    transition: all 0.2s ease-in-out;
    width:-webkit-fit-content;
    width:-moz-fit-content;
    width:fit-content;
    box-sizing: unset;
    font-weight: bold;
    font-size: 1.25rem;
    text-decoration: none;
    cursor: pointer;
}

.btn:disabled {
    cursor: not-allowed;
}

.btn:disabled,
.btn:hover {
    border-radius: 1.875rem 0.375rem;
    border: 1px solid #FFFFFF;
}

.btn-primary {
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    color: #ffffff !important;
}

.btn-primary.btn-outline {
    background-color: #ffffff;
    color: var(--color-primary) !important;
    border: solid 1px var(--color-primary);
}

.btn-primary:disabled,
.btn-primary:hover,
.btn-primary.btn-outline:hover {
    background-color: var(--color-primary-tint);
    border: 1px solid #FFFFFF;
}

.btn-secondary {
    background-color: var(--color-secondary);
    border: 1px solid var(--color-secondary);
    color: #ffffff !important;
}

.btn-secondary.btn-outline {
    background-color: #ffffff;
    color: var(--color-secondary) !important;
    border: solid 1px var(--color-secondary);
}

.btn-secondary:disabled,
.btn-secondary:hover,
.btn-secondary.btn-outline:hover {
    background-color: var(--color-secondary-tint);
    color: #ffffff;
    border: 1px solid #FFFFFF;
}

.btn-tertiary {
    background-color: var(--color-tertiary);
    border: 1px solid var(--color-tertiary);
    color: #ffffff !important;
}

.btn-tertiary.btn-outline {
    background-color: #ffffff;
    color: var(--color-tertiary) !important;
    border: solid 1px var(--color-tertiary);
}

.btn-tertiary:disabled,
.btn-tertiary:hover,
.btn-tertiary.btn-outline:hover {
    background-color: var(--color-tertiary-tint);
    color: #ffffff;
    border: 1px solid #FFFFFF;
}

.btn-quarternary {
    background-color: var(--color-quarternary);
    border: 1px solid var(--color-quarternary);
    color: #ffffff !important;
}

.btn-quarternary.btn-outline {
    background-color: #ffffff;
    color: var(--color-quarternary) !important;
    border: solid 1px var(--color-quarternary);
}

.btn-quarternary:disabled,
.btn-quarternary:hover,
.btn-quarternary.btn-outline:hover {
    background-color: var(--color-quarternary-tint);
    color: #ffffff;
    border: 1px solid #FFFFFF;
}

/* Sections */

section {
    padding-top: var(--section-padding-mobile);
    padding-bottom: var(--section-padding-mobile);
    padding-left: 1.25rem;
    padding-right: 1.25rem;
}

.padding-top-full {
    padding-top: var(--section-padding-mobile);
}

.padding-bottom-full {
    padding-bottom: var(--section-padding-mobile);
}

.padding-top-half {
    padding-top: calc(var(--section-padding-mobile) / 2);
}

.padding-bottom-half {
    padding-bottom: calc(var(--section-padding-mobile) / 2);
}

/* Inputs */

.form-input {
    background: #FFFFFF 0% 0% no-repeat padding-box;
    box-shadow: 0px 3px 6px #00000029;
    border-radius: 6px;
    font-weight: bold;
    font-size: 1.25rem;
    padding: 1.6rem 2rem;
    outline: none;
    border: 0;
}

.form-input::-webkit-input-placeholder {
    color: var(--color-primary-light-tint);

}

.form-input::-moz-placeholder {
    color: var(--color-primary-light-tint);

}

.form-input:-ms-input-placeholder {
    color: var(--color-primary-light-tint);

}

.form-input::-ms-input-placeholder {
    color: var(--color-primary-light-tint);

}

.form-input::placeholder {
    color: var(--color-primary-light-tint);

}

/* Positions */

.top-0 {
    top: 0%;
}

.top-10 {
    top: 10%;
}

.top-20 {
    top: 20%;
}

.top-30 {
    top: 30%;
}

.top-40 {
    top: 40%;
}

.top-50 {
    top: 50%;
}

.top-60 {
    bottom: 40%;
}

.top-70 {
    bottom: 30%;
}

.top-80 {
    bottom: 20%;
}

.top-90 {
    bottom: 10%;
}

.top-100 {
    bottom: 0;
}

.bottom-0 {
    bottom: 0%;
}

.bottom-10 {
    bottom: 10%;
}

.bottom-20 {
    bottom: 20%;
}

.bottom-30 {
    bottom: 30%;
}

.bottom-40 {
    bottom: 40%;
}

.bottom-50 {
    bottom: 50%;
}

.bottom-60 {
    top: 40%;
}

.bottom-70 {
    top: 30%;
}

.bottom-80 {
    top: 20%;
}

.bottom-90 {
    top: 10%;
}

.bottom-100 {
    top: 0;
}

.left-0 {
    left: 0%;
}

.left-10 {
    left: 10%;
}

.left-20 {
    left: 20%;
}

.left-30 {
    left: 30%;
}

.left-40 {
    left: 40%;
}

.left-50 {
    left: 50%;
}

.left-60 {
    right: 50%;
}

.left-70 {
    right: 30%;
}

.left-80 {
    right: 20%;
}

.left-90 {
    right: 10%;
}

.left-100 {
    right: 0;
}

.w-5 {
    width: 5%
}
.w-10 {
    width: 10%;
}
.w-15 {
    width: 15%;
}
.w-20 {
    width: 20%;
}
.w-25 {
    width: 25%;
}
.w-30 {
    width: 30%;
}
.w-35 {
    width: 35%;
}
.w-40 {
    width: 40%;
}
.w-45 {
    width: 45%;
}
.w-50 {
    width: 50%;
}
.w-55 {
    width: 55%;
}
.w-60 {
    width: 60%;
}
.w-65 {
    width: 65%;
}
.w-70 {
    width: 70%;
}
.w-75 {
    width: 75%;
}
.w-80 {
    width: 80%;
}
.w-85 {
    width: 85%;
}
.w-90 {
    width: 90%;
}
.w-95 {
    width: 95%;
}
.w-100 {
    width: 100%;
}
.w-105 {
    width: 105%;
}
.w-110 {
    width: 110%;
}
.w-115 {
    width: 115%;
}
.w-120 {
    width: 120%;
}
.w-125 {
    width: 125%;
}
.w-130 {
    width: 130%;
}
/* Rotation */

.rotate-45 {
    transform: rotate(45deg);
}

.rotate-90 {
    transform: rotate(90deg);
}

.rotate-135 {
    transform: rotate(135deg);
}

.rotate-180 {
    transform: rotate(180deg);
}

.rotate-225 {
    transform: rotate(225deg);
}

.rotate-270 {
    transform: rotate(270deg);
}

.rotate-315 {
    transform: rotate(315deg);
}

/* Borders */

.border-top {
    border-top: solid 1px;
}

.border-bottom {
    border-bottom: solid 1px;
}

.border-both {
    border-bottom: solid 1px;
    border-top: solid 1px;
}

.border-none {
    border: 0;
}

.border-teal {
    border-color: var(--color-primary);
}

.border-white {
    border-color: #ffffff;
}
/* Images */

.full-cover,
.hero-image.full-cover {
    min-width: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    min-height: 100%;
    -o-object-position: 50% 50%;
       object-position: 50% 50%;
}


.play-modal-open {
    border: 4px solid #FFFFFF;
    border-radius: 50%;
    padding: 1rem;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    aspect-ratio: 1;
}
.play-button {
    margin-left: 0.5rem;
    box-sizing: border-box;
    width: 30px;
    height: 30px;
    border-width: 15px 0px 15px 30px;
    border-color: transparent transparent transparent #ffffff;
    border-style: solid;
}
/* Tablet Breakpoint */

@media only screen and (min-width: 48rem) {
    body {
        font-size: var(--size-text-tablet);
        letter-spacing: var(--size-text-spacing-tablet);
        line-height: var(--size-text-height-tablet);
    }

    h1, .h1 {
        font-size: var(--size-heading-1-tablet);
        line-height: var(--size-heading-1-height-tablet);
        letter-spacing: var(--size-heading-1-spacing-tablet);
    }
    
    h2, .h2 {
        font-size: var(--size-heading-2-tablet);
        line-height: var(--size-heading-2-height-tablet);
        letter-spacing: var(--size-heading-2-spacing-tablet);
        margin-top: 2.25rem;
        margin-bottom: 2.25rem;
    }

    h3, .h3 {
        font-size: var(--size-heading-3-tablet);
        line-height: var(--size-heading-3-height-tablet);
        letter-spacing: var(--size-heading-3-spacing-tablet);
    }
    
    h4, .h4 {
        font-size: var(--size-heading-4-tablet);
        line-height: var(--size-heading-4-height-tablet);
        letter-spacing: var(--size-heading-4-spacing-tablet);
    }
    
    h5, .h5 {
        font-size: var(--size-heading-5-tablet);
        line-height: var(--size-heading-5-height-tablet);
        letter-spacing: var(--size-heading-5-spacing-tablet);
    }
    
    h6, .h6 {
        font-size: var(--size-heading-6-tablet);
        line-height: var(--size-heading-6-height-tablet);
        letter-spacing: var(--size-heading-6-spacing-tablet);
    }

    section {
        padding-top: var(--section-padding-tablet);
        padding-bottom: var(--section-padding-tablet);
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .padding-top-full {
        padding-top: var(--section-padding-tablet);
    }
    
    .padding-bottom-full {
        padding-bottom: var(--section-padding-tablet);
    }
    
    .padding-top-half {
        padding-top: calc(var(--section-padding-tablet) / 2);
    }
    
    .padding-bottom-half {
        padding-bottom: calc(var(--section-padding-tablet) / 2);
    }
    .hide-mobile {
        display: block;
    }
    
    .hide-desktop {
        display: none;
    }
}

/* Desktop Breakpoint */

@media only screen and (min-width: 62rem) {
    .align-top {
        align-self: flex-start;
    }
    
    .align-middle {
        align-self: center;
    }
    
    .align-bottom {
        align-self: flex-end;
    }
    .play-modal-open {
        padding: 2rem;
    }
    body {
        font-size: var(--size-text-desktop);
        letter-spacing: var(--size-text-spacing-desktop);
        line-height: var(--size-text-height-desktop);
    }
    
    h1, .h1 {
        font-size: clamp(3.9rem, 2.3901rem + 2.4353vw, 5.3125rem);
        line-height: var(--size-heading-1-height-desktop);
        letter-spacing: var(--size-heading-1-spacing-desktop);
    }
    
    h2, .h2 {
        font-size: var(--size-heading-2-desktop);
        line-height: var(--size-heading-2-height-desktop);
        letter-spacing: var(--size-heading-2-spacing-desktop);
    }
    
    h3, .h3 {
        font-size: var(--size-heading-3-desktop);
        line-height: var(--size-heading-3-height-desktop);
        letter-spacing: var(--size-heading-3-spacing-desktop);
    }
    
    h4, .h4 {
        font-size: var(--size-heading-4-desktop);
        line-height: var(--size-heading-4-height-desktop);
        letter-spacing: var(--size-heading-4-spacing-desktop);
    }
    
    h5, .h5 {
        font-size: var(--size-heading-5-desktop);
        line-height: var(--size-heading-5-height-desktop);
        letter-spacing: var(--size-heading-5-spacing-desktop);
    }
    
    h6, .h6 {
        font-size: var(--size-heading-6-desktop);
        line-height: var(--size-heading-6-height-desktop);
        letter-spacing: var(--size-heading-6-spacing-desktop);
    }

    section {
        padding-top: var(--section-padding-desktop);
        padding-bottom: var(--section-padding-desktop);
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .padding-top-full {
        padding-top: var(--section-padding-desktop);
    }

    .padding-bottom-full {
        padding-bottom: var(--section-padding-desktop);
    }

    .padding-top-half {
        padding-top: calc(var(--section-padding-desktop) / 2);
    }

    .padding-bottom-half {
        padding-bottom: calc(var(--section-padding-desktop) / 2);
    }
}

@media only screen and (min-width: 100rem) {
    section {
        padding-right: 0;
        padding-left: 0;
    }
}


.flex-column {
    flex-direction:column;
}

.card-section .heading-animated {
    max-width: 70%;
}

.card-section .text-animated {
    max-width: 70%;
}

.vimeo-player {
    width: 100%;
    height: 100%;
}

.categories {
    overflow-x: scroll;
    -ms-overflow-style: none; /* for Internet Explorer, Edge */
    scrollbar-width: none; /* for Firefox */
    padding-top: 0;
    padding-bottom: 0;
}

.categories::-webkit-scrollbar {
    display: none; /* for Chrome, Safari, and Opera */
}

