/**
 * Font System - Nunito, Poppins, Plus Jakarta Sans, Caveat & FontAwesome
 * Local font files from /assets/fonts/
 */


/* ============================================
   CAVEAT FONT FAMILY
   ============================================ */

/* Caveat Regular - 400 */
@font-face {
    font-family: 'Caveat';
    src: url('../fonts/caveat/static/Caveat-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Caveat Medium - 500 */
@font-face {
    font-family: 'Caveat';
    src: url('../fonts/caveat/static/Caveat-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Caveat SemiBold - 600 */
@font-face {
    font-family: 'Caveat';
    src: url('../fonts/caveat/static/Caveat-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Caveat Bold - 700 */
@font-face {
    font-family: 'Caveat';
    src: url('../fonts/caveat/static/Caveat-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}


/* ============================================
   PLUS JAKARTA SANS FONT FAMILY
   ============================================ */

/* Plus Jakarta Sans ExtraLight - 200 */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/static/PlusJakartaSans-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* Plus Jakarta Sans Light - 300 */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/static/PlusJakartaSans-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Plus Jakarta Sans Regular - 400 */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/static/PlusJakartaSans-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Plus Jakarta Sans Medium - 500 */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/static/PlusJakartaSans-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Plus Jakarta Sans SemiBold - 600 */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/static/PlusJakartaSans-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Plus Jakarta Sans Bold - 700 */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/static/PlusJakartaSans-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Plus Jakarta Sans ExtraBold - 800 */
@font-face {
    font-family: 'Plus Jakarta Sans';
    src: url('../fonts/plus-jakarta-sans/static/PlusJakartaSans-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}


/* ============================================
   POPPINS FONT FAMILY
   ============================================ */

/* Poppins Thin - 100 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* Poppins ExtraLight - 200 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* Poppins Light - 300 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Poppins Regular - 400 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Poppins Medium - 500 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Poppins SemiBold - 600 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Poppins Bold - 700 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Poppins ExtraBold - 800 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Poppins Black - 900 */
@font-face {
    font-family: 'Poppins';
    src: url('../fonts/poppins/Poppins-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}


/* ============================================
   NUNITO FONT FAMILY
   ============================================ */

/* Nunito ExtraLight - 200 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* Nunito Light - 300 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Nunito Regular - 400 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Nunito Medium - 500 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Nunito SemiBold - 600 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Nunito Bold - 700 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Nunito ExtraBold - 800 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Nunito Black - 900 */
@font-face {
    font-family: 'Nunito';
    src: url('../fonts/nunito/Nunito-Black.ttf') format('truetype');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}


/* ============================================
   DYNAPUFF FONT FAMILY
   ============================================ */

@font-face {
    font-family: 'DynaPuff';
    src: url('../fonts/dynapuff/DynaPuff-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'DynaPuff';
    src: url('../fonts/dynapuff/DynaPuff-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}


/* ============================================
   FONT AWESOME 5 - LOCAL FILES
   ============================================ */

/* Font Awesome Brands - 400 */
@font-face {
    font-family: 'Font Awesome 5 Brands';
    src: url('../fonts/fontawesome/fa-brands-400.eot');
    src: url('../fonts/fontawesome/fa-brands-400.eot?#iefix') format('embedded-opentype'),
         url('../fonts/fontawesome/fa-brands-400.woff2') format('woff2'),
         url('../fonts/fontawesome/fa-brands-400.woff') format('woff'),
         url('../fonts/fontawesome/fa-brands-400.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
    font-display: block;
}

/* Font Awesome Regular - 400 */
@font-face {
    font-family: 'Font Awesome 5 Free';
    src: url('../fonts/fontawesome/fa-regular-400.eot');
    src: url('../fonts/fontawesome/fa-regular-400.eot?#iefix') format('embedded-opentype'),
         url('../fonts/fontawesome/fa-regular-400.woff2') format('woff2'),
         url('../fonts/fontawesome/fa-regular-400.woff') format('woff');
    font-weight: 400;
    font-style: normal;
    font-display: block;
}

/* Font Awesome Solid - 900 */
@font-face {
    font-family: 'Font Awesome 5 Free';
    src: url('../fonts/fontawesome/fa-solid-900.woff2') format('woff2'),
         url('../fonts/fontawesome/fa-solid-900.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: block;
}

/* Font Awesome Light - 300 (Pro) */
@font-face {
    font-family: 'Font Awesome 5 Pro';
    src: url('../fonts/fontawesome/fa-light-300.woff2') format('woff2'),
         url('../fonts/fontawesome/fa-light-300.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: block;
}


/* ============================================
   FONT AWESOME BASE STYLES
   ============================================ */

.fa,
.fab,
.fad,
.fal,
.far,
.fas {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
}

/* Brands */
.fab {
    font-family: 'Font Awesome 5 Brands';
    font-weight: 400;
}

/* Regular */
.far {
    font-family: 'Font Awesome 5 Free';
    font-weight: 400;
}

/* Solid */
.fa,
.fas {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
}

/* Light (Pro) */
.fal {
    font-family: 'Font Awesome 5 Pro';
    font-weight: 300;
}


/* ============================================
   FONT AWESOME SIZING
   ============================================ */

.fa-xs { font-size: .75em; }
.fa-sm { font-size: .875em; }
.fa-lg { font-size: 1.33333em; line-height: .75em; vertical-align: -.0667em; }
.fa-1x { font-size: 1em; }
.fa-2x { font-size: 2em; }
.fa-3x { font-size: 3em; }
.fa-4x { font-size: 4em; }
.fa-5x { font-size: 5em; }
.fa-6x { font-size: 6em; }
.fa-7x { font-size: 7em; }
.fa-8x { font-size: 8em; }
.fa-9x { font-size: 9em; }
.fa-10x { font-size: 10em; }


/* ============================================
   FONT AWESOME UTILITIES
   ============================================ */

.fa-fw {
    text-align: center;
    width: 1.25em;
}

.fa-ul {
    list-style-type: none;
    margin-left: 2.5em;
    padding-left: 0;
}

.fa-ul > li {
    position: relative;
}

.fa-li {
    left: -2em;
    position: absolute;
    text-align: center;
    width: 2em;
    line-height: inherit;
}

.fa-border {
    border: .08em solid #eee;
    border-radius: .1em;
    padding: .2em .25em .15em;
}

.fa-pull-left {
    float: left;
}

.fa-pull-right {
    float: right;
}

.fa.fa-pull-left,
.fab.fa-pull-left,
.fal.fa-pull-left,
.far.fa-pull-left,
.fas.fa-pull-left {
    margin-right: .3em;
}

.fa.fa-pull-right,
.fab.fa-pull-right,
.fal.fa-pull-right,
.far.fa-pull-right,
.fas.fa-pull-right {
    margin-left: .3em;
}


/* ============================================
   FONT AWESOME ANIMATIONS
   ============================================ */

.fa-spin {
    animation: fa-spin 2s linear infinite;
}

.fa-pulse {
    animation: fa-spin 1s steps(8) infinite;
}

@keyframes fa-spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}


/* ============================================
   FONT AWESOME ROTATIONS & FLIPS
   ============================================ */

.fa-rotate-90 { transform: rotate(90deg); }
.fa-rotate-180 { transform: rotate(180deg); }
.fa-rotate-270 { transform: rotate(270deg); }
.fa-flip-horizontal { transform: scaleX(-1); }
.fa-flip-vertical { transform: scaleY(-1); }
.fa-flip-both { transform: scale(-1); }


/* ============================================
   FONT AWESOME STACKING
   ============================================ */

.fa-stack {
    display: inline-block;
    height: 2em;
    line-height: 2em;
    position: relative;
    vertical-align: middle;
    width: 2.5em;
}

.fa-stack-1x,
.fa-stack-2x {
    left: 0;
    position: absolute;
    text-align: center;
    width: 100%;
}

.fa-stack-1x { line-height: inherit; }
.fa-stack-2x { font-size: 2em; }
.fa-inverse { color: #fff; }


/* ============================================
   SCREEN READER ONLY
   ============================================ */

.sr-only {
    border: 0;
    clip: rect(0, 0, 0, 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}


/* ============================================
   UTILITY CLASSES
   ============================================ */

.nunito-extralight { font-family: 'Nunito', sans-serif; font-weight: 200; }
.nunito-light { font-family: 'Nunito', sans-serif; font-weight: 300; }
.nunito-regular { font-family: 'Nunito', sans-serif; font-weight: 400; }
.nunito-medium { font-family: 'Nunito', sans-serif; font-weight: 500; }
.nunito-semibold { font-family: 'Nunito', sans-serif; font-weight: 600; }
.nunito-bold { font-family: 'Nunito', sans-serif; font-weight: 700; }
.nunito-extrabold { font-family: 'Nunito', sans-serif; font-weight: 800; }
.nunito-black { font-family: 'Nunito', sans-serif; font-weight: 900; }

.poppins-thin { font-family: 'Poppins', sans-serif; font-weight: 100; }
.poppins-extralight { font-family: 'Poppins', sans-serif; font-weight: 200; }
.poppins-light { font-family: 'Poppins', sans-serif; font-weight: 300; }
.poppins-regular { font-family: 'Poppins', sans-serif; font-weight: 400; }
.poppins-medium { font-family: 'Poppins', sans-serif; font-weight: 500; }
.poppins-semibold { font-family: 'Poppins', sans-serif; font-weight: 600; }
.poppins-bold { font-family: 'Poppins', sans-serif; font-weight: 700; }
.poppins-extrabold { font-family: 'Poppins', sans-serif; font-weight: 800; }
.poppins-black { font-family: 'Poppins', sans-serif; font-weight: 900; }

.jakarta-extralight { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 200; }
.jakarta-light { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 300; }
.jakarta-regular { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 400; }
.jakarta-medium { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 500; }
.jakarta-semibold { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600; }
.jakarta-bold { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; }
.jakarta-extrabold { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 800; }

.caveat-regular { font-family: 'Caveat', cursive; font-weight: 400; }
.caveat-medium { font-family: 'Caveat', cursive; font-weight: 500; }
.caveat-semibold { font-family: 'Caveat', cursive; font-weight: 600; }
.caveat-bold { font-family: 'Caveat', cursive; font-weight: 700; }

.dynapuff { font-family: 'DynaPuff', cursive; font-weight: 400; }
.dynapuff-medium { font-family: 'DynaPuff', cursive; font-weight: 500; }


/* ============================================
   GLOBAL FONT SETTINGS
   ============================================ */

:root {
    --font-nunito: 'Nunito', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-poppins: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-jakarta: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
    --font-caveat: 'Caveat', cursive;
}
