/*------>>> TABLE OF CONTENTS <<<-------
	- CUSTOM PROPERTIES
    - CUSTOM RESETS
    - FOUNDATION RESETS
    - BASE STYLES
	- COMMON STYLES
*/


/************************************
/*----------------------------------
/* CUSTOM PROPERTIES
/*----------------------------------
/*************************************/


:root {
/*----- Row Width -----*/
    --row-max-width-px:1124px;
    --row-max-width-rem:70.25rem;
/*----- Colors -----*/
/*----- Base  -----*/
    --color-base:#22231e; /* Base Font Color */
    --color-base-rgb:34,35,30;
    --color-white:#fefefe;
    --color-white-rgb:254,254,254;
    --color-black:#0a0a0a;
    --color-black-rgb:10,10,10;
/*----- Primary  -----*/
    --color-primary:#976f21;
    --color-primary-rgb:151,111,33;
    --color-primary-dark:#835d14;
    --color-primary-dark-rgb:131,93,20;
/*----- Secondary  -----*/
    --color-secondary:#395f1f;
    --color-secondary-rgb:57,95,31;
    --color-secondary-dark:#223912;
    --color-secondary-dark-rgb:34,57,18;
/*----- Accents  -----*/
    --color-gray-accent:#f5f2ef;
    --color-gray-accent-rgb:245,242,239;
    --color-gray-accent-dark:#ebe4dc;
    --color-gray-accent-dark-rgb:235,228,220;
    --color-highlight:#fff3cd; /* rgb(255,243,205) | <mark> */
    --color-highlight-alt:#feeaea; /* rgb(254,234,234) | <code> */
/*----- Font Families -----*/
    --font-primary:'Open Sans', sans-serif; /* Variable Font, weights 300 to 700 */
    --font-secondary:'Yeseva One', serif; /* 400 */
    --font-tertiary:'Josefin Sans', sans-serif; /* Variable Font, weights 100 to 700 */
/*----- Font Sizes -----*/
    --font-size-base:1rem; /* 16px | Paragraphs & such */
    --font-size-lead:1.125rem; /* 18px */
    --font-size-small:1rem; /* 16px | Breadcrumbs & Footer */
    --font-size-h6:1rem; /* 16px */
    --font-size-h5:1rem; /* 16px */
    --font-size-h4:1.5rem; /* 24px */
    --font-size-h3:1.75rem; /* 28px */
    --font-size-h2:2.125rem; /* 34px */
    --font-size-h1:3.125rem; /* 50px */
/*----- Border Radius -----*/
    --button-radius:7px;
    /*----- Box Shadow -----*/
    --box-shadow-default:0px 10px 25px 0px rgba(var(--color-black-rgb),0.05);
    --box-shadow-default-015:0px 10px 25px 0px rgba(var(--color-black-rgb),0.15);
}
@media all and (min-width:64rem) { /*- 1024px and up -*/
    :root {
    /*----- Font Sizes -----*/
        --font-size-base:1.125rem; /* 18px */
        --font-size-lead:1.25rem; /* 20px */
        --font-size-h6:1.125rem; /* 18px */
        --font-size-h5:1.125rem; /* 18px */
        --font-size-h4:1.75rem; /* 28px */
        --font-size-h3:1.875rem; /* 30px */
        --font-size-h2:2.375rem; /* 38px */
        --font-size-h1:3.75rem; /* 60px */
    }
}


/************************************
/*----------------------------------
/* CUSTOM RESETS [Building on normalize.css being pulled with Foundation]
/*----------------------------------
/*************************************/


html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    font-size:100%;
    font:inherit;
    vertical-align:baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
    display:block;
}
html {
    -ms-text-size-adjust:100%;
    -webkit-text-size-adjust:100%;
    scroll-behavior: smooth; /* Smooth Scrolling for any Anchor Links */
}
html, html a, body  {
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
}
html, body {
    height:auto;
    min-height:100%;
    overflow-x:hidden;
}
body {
    line-height:1;
    box-sizing:border-box;
    margin:0;
    overflow-x:hidden;
}
blockquote, q {
    quotes:none;
}
blockquote::before, blockquote::after, q::before, q::after {
    content:'';
    content:none;
}
::-moz-focus-inner {
    padding:0;
    border:0;
}
/*---> Box Model Reset <---*/
*, *::before, *::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
/*---> Form Resets <---*/
input, label, select, button, textarea {
    margin:0;
    display:inline-block;
    vertical-align:middle;
    white-space:normal;
    line-height:1;	
    /* Browsers have different default form fonts */
    font-size:13px;
    font-family:inherit;
}
/* These elements are usually rendered a certain way by the browser */
button, input[type=reset], input[type=button], input[type=submit], input[type=checkbox], input[type=radio], select {
    -webkit-box-sizing:border-box;
    -moz-box-sizing:border-box;
    box-sizing:border-box;
}
input[type=search] {
    -webkit-appearance:textfield;
    -webkit-box-sizing:content-box;
    box-sizing: content-box;
}
::-webkit-search-decoration {
    display:none;
}
button, input[type="reset"], input[type="button"], input[type="submit"] {
    /* Fix IE7 display bug */
    overflow:visible;
    width:auto;
}
::-webkit-file-upload-button {	
    padding:0;
    border:0;
    background:none;
}
textarea  {
    vertical-align:top;
    overflow:auto;
}
select[multiple] {
    vertical-align:top;
}


/************************************
/*----------------------------------
/* FOUNDATION RESETS
/*----------------------------------
/*************************************/


.row {
    max-width:var(--row-max-width-px);
    max-width:var(--row-max-width-rem);
}
/*---> Reset Card Styling <---*/
.card {
    display:block;
    margin-bottom:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow: none;
    overflow: initial;
    color: inherit;
}
.card > :last-child {
    margin-bottom:inherit;
}
/*---> Reset Button Styling <---*/
.button {
    display:initial;
    vertical-align:initial;
    margin:0;
    font-family:inherit;
    padding:0;
    -webkit-appearance: none;
    border:0;
    border-radius:0;
    transition:none;
    font-size:inherit;
    line-height:inherit;
    text-align:inherit;
    cursor:inherit;
    background-color:transparent;
    color: inherit;
}
/*---> Reset Callout Styling <---*/
.callout {
    position: relative;
    margin:0;
    margin-bottom:0;
    padding:0;
    border:0;
    border-radius:0;
    background-color:transparent;
    color:inherit;
}
/*---> Reveal Modal Dialog <---*/
.reveal-overlay {
    z-index:10005;
    background-color:rgba(var(--color-base-rgb), 0.85);
}
.reveal {
    margin-left:auto;
    margin-right:auto;
    padding:2.5rem 2.5rem 1.5rem; 
    border:0;
    border-radius:0;
    background-color:var(--color-white);
    box-shadow:none;
    width:90%;
    max-width:1100px;
}
@media screen and (max-width: 39.9375em) {
    .reveal {
        width:100%;
    }
}
.close-button {
    border-radius:0;
    padding:0;
    width:2.5rem;
    height:2.5rem;
    position:absolute;
    top:0;
    right:0;
    font-size:1.5rem;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
    cursor:pointer;
}
.close-button,
.close-button:is(:hover, :active, :focus, :focus-visible) {
    color:var(--color-white);
}
.close-button,
.close-button:is(:focus, :focus-visible) {
    background-color:var(--color-primary);
}
.close-button:is(:hover, :active) {
    background-color:var(--color-primary-dark);
}
.close-button:active {
    -webkit-box-shadow:inset 0 0 0 2px var(--color-primary-dark), inset 0 0 0 4px var(--color-white);
    -moz-box-shadow:inset 0 0 0 2px var(--color-primary-dark), inset 0 0 0 4px var(--color-white);
    box-shadow:inset 0 0 0 2px var(--color-primary-dark), inset 0 0 0 4px var(--color-white);
}
.close-button:is(:focus, :focus-visible) {
    border:0;
    outline:0;
}
.close-button:is(:focus-visible) {
    -webkit-box-shadow:inset 0 0 0 2px var(--color-primary), inset 0 0 0 4px var(--color-white);
    -moz-box-shadow:inset 0 0 0 2px var(--color-primary), inset 0 0 0 4px var(--color-white);
    box-shadow:inset 0 0 0 2px var(--color-primary), inset 0 0 0 4px var(--color-white);
}
.close-button span {
    color:inherit;
    font-size:inherit;
    position:absolute;
    left:0;
    right:0;
    top:50%;
    -webkit-transform:translateY(-50%);
    transform:translateY(-50%);
}
/*- Reveal with Video -*/
.reveal--video-modal {
    background:transparent;
}
.reveal--video-modal .close-button,
.close-button--for-video-modal {
    border-radius:100%;
}
@media all and (min-width:40rem) { /* 640px and up */
    .medium-uncollapse>.columns { 
        padding-right:.625rem;
        padding-left:.625rem;
    }
    .medium-shrink {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        max-width: 100%;
    }
    .medium-expand {
        max-width:100%;
    }
    .medium-align-right {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .medium-align-left {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .medium-align-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .medium-align-justify {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .medium-align-spaced {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .medium-align-top {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .medium-align-self-top {
        -ms-flex-item-align: start;
        align-self: flex-start;
    }
    .medium-align-bottom {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
    .medium-align-self-bottom {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
    .medium-align-middle {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .medium-align-self-middle {
        -ms-flex-item-align: center;
        align-self: center;
    }
    .medium-align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
    .medium-align-self-stretch {
        -ms-flex-item-align: stretch;
        align-self: stretch;
    }
    .medium-align-center-middle {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
    }
}
@media all and (min-width:64rem) { /*- 1024px and up -*/
    .large-uncollapse>.columns { 
        padding-right:.625rem;
        padding-left:.625rem;
    }
    .large-shrink {
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        max-width: 100%;
    }
    .large-expand {
        max-width:100%;
    }
    .large-align-right {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .large-align-left {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
    .large-align-center {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .large-align-justify {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }
    .large-align-spaced {
        -ms-flex-pack: distribute;
        justify-content: space-around;
    }
    .large-align-top {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
    }
    .large-align-self-top {
        -ms-flex-item-align: start;
        align-self: flex-start;
    }
    .large-align-bottom {
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
    }
    .large-align-self-bottom {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
    .large-align-middle {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
    }
    .large-align-self-middle {
        -ms-flex-item-align: center;
        align-self: center;
    }
    .large-align-stretch {
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
    }
    .large-align-self-stretch {
        -ms-flex-item-align: stretch;
        align-self: stretch;
    }
    .large-align-center-middle {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -ms-flex-line-pack: center;
        align-content: center;
    }
}


/************************************
/*----------------------------------
/* BASE STYLES
/*----------------------------------
/*************************************/


body {
    font-family:var(--font-primary);
    font-weight:400;
    font-size:1rem;
    font-size:16px;
    color:var(--color-base);
    line-height:1;
}
/*- Set Vertical Spacing between Block Elements -*/
blockquote, dl, figcaption, form, h1, .like-h1, h2, .like-h2, h3, .like-h3, h4, .like-h4, h5, .like-h5, h6, .like-h6, hr, ol, p, table, ul {
    margin-bottom:1.875rem;
}
a {
    font-weight:700;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
}
a,
a:is(:focus, :focus-visible) {
    color:var(--color-primary);    
}
a:is(:hover, :active){
    color:var(--color-primary-dark);
}
a:is(:active, :focus-visible) {
    text-decoration:underline;
}
a:is(:focus, :focus-visible) {
    outline:0; /* Remove Use Agent outer glow */
}
code {
    background-color:var(--color-highlight-alt);
    color:var(--color-base);
    padding-left:0.313rem;
    padding-right:0.313rem;
}
mark {
    background-color:var(--color-highlight);
    color:var(--color-black);
}
hr {
    margin-top:0; /* Reset from Foundation */
    border-bottom:1px solid var(--color-base);
}
p, dl, ol, ul, table, blockquote, blockquote p,
cite {
    font-size:var(--font-size-base);
    line-height:1.55;
}
blockquote, blockquote p,
cite {
    color:var(--color-base);
}
blockquote {
    padding:0.875rem 0 0.875rem 0.875rem;
    border-left:5px solid var(--color-gray-accent-dark);
}
blockquote::before {
    display:block;
    width:30px;
    height:23px;
    margin-bottom:1.25rem;
    background:var(--color-primary);
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 43.54 32.73' width='30' height='23'%3E%3Cpath d='M31.61,14.76c4.93-.49,9.32,3.11,9.81,8.04,.36,3.66-1.54,7.17-4.81,8.86-8.48,4.38-16.2-5.63-14.49-13.92C23.91,7.85,32.28,.5,42.32,0h.99c.13,0,.23,.1,.23,.23v1.84c0,.13-.11,.23-.23,.24-5.4,1.16-11.35,6.56-11.7,12.46' /%3E%3Cpath d='M9.72,14.76c4.93-.49,9.32,3.11,9.81,8.04,.36,3.66-1.54,7.17-4.81,8.86C6.24,36.04-1.48,26.03,.24,17.74,2.03,7.86,10.39,.5,20.43,0h.99c.13,0,.23,.1,.23,.23v1.84c0,.12-.11,.22-.23,.24-5.4,1.16-11.35,6.56-11.7,12.46' /%3E%3C/svg%3E");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 43.54 32.73' width='30' height='23'%3E%3Cpath d='M31.61,14.76c4.93-.49,9.32,3.11,9.81,8.04,.36,3.66-1.54,7.17-4.81,8.86-8.48,4.38-16.2-5.63-14.49-13.92C23.91,7.85,32.28,.5,42.32,0h.99c.13,0,.23,.1,.23,.23v1.84c0,.13-.11,.23-.23,.24-5.4,1.16-11.35,6.56-11.7,12.46' /%3E%3Cpath d='M9.72,14.76c4.93-.49,9.32,3.11,9.81,8.04,.36,3.66-1.54,7.17-4.81,8.86C6.24,36.04-1.48,26.03,.24,17.74,2.03,7.86,10.39,.5,20.43,0h.99c.13,0,.23,.1,.23,.23v1.84c0,.12-.11,.22-.23,.24-5.4,1.16-11.35,6.56-11.7,12.46' /%3E%3C/svg%3E");
    content:"";
}
i, /* Legacy */
em { /* Replaces Legacy <i> */
    font-style:italic;
}
strong {
    font-weight:bold;
}
small {
    font-size:80%;
}
h1, h2, h3, h4, h5, h6 {
    /*line-height:1.25;*/
    line-height:1.15;
}
h1, h2, h3 {
    font-family:var(--font-secondary);
}
h4 {
    font-family:var(--font-tertiary);
}
h1 {
    font-size:var(--font-size-h1);
}
h2 {
    font-size:var(--font-size-h2);  
}
h3 {
    font-size:var(--font-size-h3); 
}
h4 {
    font-size:var(--font-size-h4);
    font-weight:500;
    letter-spacing:0.05em;
    text-transform:uppercase;
}
h5, h6 {
    font-weight:600;
    letter-spacing:0.135em;
}
h5 {
    font-size:var(--font-size-h5);
}
h6 {
    font-size:var(--font-size-h6);
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
    font-family:var(--font-tertiary);
    font-size:var(--font-size-h6);
    font-weight:700;
    color:inherit;
    line-height:inherit;
    letter-spacing:0.10em;
    text-transform:uppercase;
    display:block;
}
ul, ol {
    margin-left:2.5rem;
}
ul li::marker, 
ol li::marker {
    color:var(--color-primary); 
}
ol li::marker {
    font-weight:bold;
}
dl dt {
    margin-bottom:0; /* Reset from Foundation */
}
dl dd:not(:last-of-type) {
    margin-bottom:0.5rem;
}
label,
fieldset legend {
    font-size:var(--font-size-base);
    font-weight:400;
    line-height:1;
    color:var(--color-base);
}
/* Should I remove the "form" before the selectors? */
form input:is([type=text], [type=email], [type=tel]),
form textarea,
form select,
select { 
    display:block;
    box-sizing:border-box;
    width:100%;
    height:46px;
    margin:0;
    padding:0.688rem 0.875rem;
    font-family:inherit;
    font-size:var(--font-size-base);
    font-weight:400;
    line-height:1;
    color:var(--color-base);
    border-radius:6px;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
    -webkit-appearance:none !important;
    -moz-appearance:none !important;
    appearance:none !important;
}
form input:is([type=radio], [type=checkbox]) {
    margin:0 0.313rem 0.250rem 0;
}
form textarea {
    height:auto;
}
form input:is([type=text], [type=email], [type=tel]),
form input:is([type=text], [type=email], [type=tel]):is(:active, :focus, :focus-visible),
form textarea,
form textarea:is(:active, :focus, :focus-visible),
form select,
form select:is(:active, :focus, :focus-visible),
select,
select:is(:active, :focus, :focus-visible) {
    background-color:var(--color-white);
    box-shadow:none;
}
form input:is([type=text], [type=email], [type=tel]),
form input:is([type=text], [type=email], [type=tel]):is(:focus),
form textarea,
form textarea:is(:focus),
form select,
form select:is(:focus),
select,
select:is(:focus) {
    border:2px solid var(--color-gray-accent-dark);
}
form input:is([type=text], [type=email], [type=tel]):active,
form textarea:active,
form select:active,
select:active {
    border:2px solid var(--color-primary-dark);
}
form input:is([type=text], [type=email], [type=tel], [type=radio], [type=checkbox]):is(:focus, :focus-visible),
form textarea:is(:focus, :focus-visible),
form select:is(:focus, :focus-visible),
select:is(:focus, :focus-visible) {
    outline:0;
}
form input:is([type=text], [type=email], [type=tel]):focus-visible,
form textarea:focus-visible,
form select:focus-visible,
select:focus-visible  {
    border:2px solid var(--color-primary);
}
form select,
form select:is(:focus, :focus-visible),
select,
select:is(:focus, :focus-visible) {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 998 582'%3E%3Cpath d='M998,83c0,8.67-3.33,16.33-10,23l-466,466c-6.67,6.67-14.33,10-23,10s-16.33-3.33-23-10L10,106C3.33,99.33,0,91.67,0,83s3.33-16.33,10-23L60,10C66.67,3.33,74.33,0,83,0s16.33,3.33,23,10L499,403,892,10c6.67-6.67,14.33-10,23-10s16.33,3.33,23,10l50,50c6.67,6.67,10,14.33,10,23Z'/%3E%3C/svg%3E");
    background-position:right center;
    background-repeat:no-repeat;
    background-size:12px 7px;
}
form input:is([type=radio], [type=checkbox]) {
    cursor:pointer;
}
form input:is([type=radio], [type=checkbox]):focus-visible {
    -webkit-box-shadow:0 0 0 2px var(--color-primary);
    -moz-box-shadow:0 0 0 2px var(--color-primary);
    box-shadow:0 0 0 2px var(--color-primary);
}
form input:is([type=radio], [type=checkbox]):active {
    -webkit-box-shadow:0 0 0 2px var(--color-primary-dark);
    -moz-box-shadow:0 0 0 2px var(--color-primary-dark);
    box-shadow:0 0 0 2px var(--color-primary-dark);
}
input:is([type="submit"], [type="button"]),
button {
    display:inline-block;
    width:auto;
    padding:1rem 1.813rem;	
    margin:0;		
    position:relative;
    font-size:var(--font-size-base);
    font-weight:700;
    line-height:1;
    text-align:center;
    border:0;
    border-radius:var(--button-radius);
    box-shadow:none;
    cursor:pointer;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
}
input:is([type="submit"], [type="button"]),
input:is([type="submit"], [type="button"]):is(:hover, :active, :focus, :focus-visible),
button,
button:is(:hover, :active, :focus, :focus-visible) {
    color:var(--color-white);
}
input[type="submit"],
input[type="submit"]:is(:focus, :focus-visible) {
    background-color:var(--color-primary);
}
button,
button:is(:focus, :focus-visible),
input[type="button"],
input[type="button"]:is(:focus, :focus-visible) {
    background-color:var(--color-secondary);
}
input[type="submit"]:is(:hover, :active) {
    background-color:var(--color-primary-dark);
}
button:is(:hover, :active),
input[type="button"]:is(:hover, :active) {
    background-color:var(--color-secondary-dark);
}
input[type="submit"]:active {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
}
button:active,
input[type="button"]:active {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary-dark);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary-dark);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary-dark);
}
input[type="submit"]:focus-visible {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
}
button:focus-visible,
input[type="button"]:focus-visible {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary);
}
input[type="submit"]:is(:focus, :focus-visible),
button:is(:focus, :focus-visible),
input[type="button"]:is(:focus, :focus-visible),
[type="button"]:is(:focus, :focus-visible),
[type="submit"]:is(:focus, :focus-visible) {
    border:0;
    outline:0;
}
/*- Highlighting on Select [Click and Drag] -*/
::-moz-selection,
::selection {
    background-color:var(--color-primary);
    color:var(--color-white);
}


/************************************
/*----------------------------------
/* COMMON STYLES
/*----------------------------------
/*************************************/


/*---> Branding <---*/
.branding-link {
    display:block;
    width:100%;
}
.branding-link:hover {
}
.branding-link:active {
    -webkit-box-shadow:0 0 0 2px var(--color-primary-dark);
    -moz-box-shadow:0 0 0 2px var(--color-primary-dark);
    box-shadow:0 0 0 2px var(--color-primary-dark);
}
.branding-link:is(:focus, :focus-visible) {
    border:0;
    outline:0;
}
.branding-link:is(:focus-visible) {
    -webkit-box-shadow: 0 0 0 2px var(--color-primary);
    -moz-box-shadow: 0 0 0 2px var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-primary);
}
.branding-link__logo {
    display:block;
    width:100%;
    height:auto;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
}
/*---> Buttons <---*/
.btn {
    display:inline-block;
    width:auto;
    padding:1.688rem 1.375rem 1.313rem;	
    margin:0;
    margin-top:0.5rem; /* accommodate line heights?? */
    position:relative;
    font-family:var(--font-tertiary);
    font-size:var(--font-size-base);
    font-weight:700;
    color:var(--color-white);
    line-height:1;
    text-align:center;
    text-transform:uppercase;
    border:1px solid transparent;
    border-radius:var(--button-radius);
    cursor:pointer;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
}
.btn,
.btn:is(:hover, :active, :focus, :focus-visible) {
    color:var(--color-white);
}
.btn:is(:active, :focus, :focus-visible) {
    text-decoration:none;
}
.btn,
.btn:is(:focus, :focus-visible) {
    background-color:var(--color-primary);
}
.btn:is(:hover, :active) {
    background-color:var(--color-primary-dark);
}
.btn:active {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
}
.btn:is(:focus, :focus-visible) {
    outline:0;
}
.btn:is(:focus-visible) {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
}
.btn__icon {
    fill:var(--color-white);
    display:inline-block;
    margin-left:0.5rem;
}
.btn--large {
    padding-top:2rem;
    padding-bottom:1.625rem;
}
.btn--ghost,
.btn--ghost:is(:focus, :focus-visible) {
    background-color:transparent;
}
.btn--ghost:not(:hover, :active) {
    color:var(--color-primary);
    border-color:var(--color-primary);
}
.btn--ghost:not(:hover, :active) .btn__icon {
    fill:var(--color-primary);
}
.btn--alt:not(.btn--ghost) {
    background-color:var(--color-secondary);
}
.btn--alt:is(:hover, :active) {
    background-color:var(--color-secondary-dark);
}
.btn--alt:active {    
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary-dark);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary-dark);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary-dark);
}
.btn--alt:is(:focus-visible) {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-secondary);
}
.btn--alt.btn--ghost:not(:hover, :active) {
    background-color:transparent;
    color:var(--color-secondary);
    border-color:var(--color-secondary);
}
.btn--alt.btn--ghost:not(:hover, :active) .btn__icon {
    fill:var(--color-secondary);
}
/*- Button List -*/
.btn-list {
    margin-left:0;
    /*
        - default bottom margin of elements is 1.875rem or 30px
        - bottom margin of .btn-list__item is 0.625rem or 10px
        - (30px - 10px = 20px) bottom margin of 1.25rem 
    */
    margin-bottom:1.25rem;
    list-style:none;
    display:flex;
    flex-wrap:wrap;    
    align-items:center;
}
.btn-list__item {
    line-height:1;
    margin-bottom:0.625rem;
}
.btn-list__item:not(:last-of-type) {
    margin-right:0.625rem;
}
.btn-list__item::before {
    display:none;
}
.btn-list--align-center {
    justify-content:center;
}
/*---> Video Play Button <---*/
.has-play-btn {
    display:inline-block;
    line-height:0;
    position:relative;
    background:transparent !important;
    isolation:isolate;
}
.has-play-btn:is(:active, :focus-visible) {
    text-decoration:none;
}
.has-play-btn img {
    z-index:1;
}
.has-play-btn::before {
    display:block;
    width:80px;
    height:80px;
    background:var(--color-primary);
    content:"";
    position:absolute;
    left:50%;
    top:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    border-radius:100%;
    overflow:hidden;
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
    z-index:2;
}
.has-play-btn:is(:hover, :active)::before {
    background:var(--color-primary-dark);
}
.has-play-btn:active::before {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
}
.has-play-btn:is(:focus, :focus-visible)::before {
    outline:0;
}
.has-play-btn:is(:focus-visible)::before {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
}
.has-play-btn::after {
    display:block;
    width:27.249px;
    height:30.878px;
    content:"";
    background:var(--color-white);
    -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27.249' height='30.878' viewBox='0 0 27.249 30.878'%3E%3Cpath d='M192.695,186.973l23.422-13.523a1.914,1.914,0,0,0,0-3.315l-23.422-13.523a1.914,1.914,0,0,0-2.871,1.657v27.045a1.914,1.914,0,0,0,2.871,1.657' transform='translate(-189.824 -156.354)' /%3E%3C/svg%3E%0A");
    mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27.249' height='30.878' viewBox='0 0 27.249 30.878'%3E%3Cpath d='M192.695,186.973l23.422-13.523a1.914,1.914,0,0,0,0-3.315l-23.422-13.523a1.914,1.914,0,0,0-2.871,1.657v27.045a1.914,1.914,0,0,0,2.871,1.657' transform='translate(-189.824 -156.354)' /%3E%3C/svg%3E%0A");
    position:absolute;
    left:calc(50% + 0.188rem);
    top:50%;
    -webkit-transform:translate(-50%,-50%);
    transform:translate(-50%,-50%);
    z-index:3;
}
/*---> Social List <---*/
.social-list {
    margin-left:0;
    display:flex;
    flex-flow:row wrap;
    list-style:none;
}
.social-list__item {
    line-height:1;
}
.social-list__item:not(:last-of-type) {
    margin-right:2rem;
}
.social-list__item::before {
    display:none;
}
.social-link {
    display:inline-block;
}
.social-link:active {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary-dark);
}
.social-link:is(:focus, :focus-visible) {
    border:0;
    outline:0;
}
.social-link:is(:focus-visible) {
    -webkit-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    -moz-box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
    box-shadow: 0 0 0 2px var(--color-white), 0 0 0 4px var(--color-primary);
}
.social-link__icon {
    fill:var(--color-base);
    transition:all 200ms ease-in-out;
    -webkit-transition:all 200ms ease-in-out;
}
.social-link:is(:hover, :active) .social-link__icon {
    fill:var(--color-primary-dark);
}
/* Alternate Circle Social Links */
.social-list__item--has-round:not(:last-of-type) {
    margin-right:0.625rem;
}
.social-link--is-round {
    width:50px;
    height:50px;
    border-radius:100%;
    background-color:var(--color-base);
    position:relative;	
}
.social-link--is-round:is(:hover, :active) {
    background-color:var(--color-primary-dark);
}
.social-link__icon--for-round {
    position:absolute;
    inset:0;
    margin:auto;
}
.social-link__icon--for-round,
.social-link--is-round:is(:hover, :active, :focus, :focus-visible) .social-link__icon--for-round {
    fill:var(--color-white);
}
/*---> Style Guide Specific <---*/
.anchor {
    font-weight:inherit;
    color:inherit;
    pointer-events:none;
}
.style-guide-header {
    position:relative;
    padding:2rem 0 0.5rem;
    margin-bottom:1.875rem;
}
.style-guide-header:before {
    display:block;
    margin:0 auto;
    width:100vw;
    height:100%;
    content:"";
    position:absolute;
    top:0;
    left:-50vw;
    right:-50vw;
    background-color:var(--color-gray-accent);
    z-index:-1;
}
.code-block {
    margin-bottom:1.875rem;
}
.code-block-live,
.code-block-color {
    border:1px dotted var(--color-base);
    margin-bottom:1.875rem;
    -webkit-box-shadow:0px 10px 25px 0px rgba(0,0,0,0.15);
    -moz-box-shadow:0px 10px 25px 0px rgba(0,0,0,0.15);
    box-shadow:0px 10px 25px 0px rgba(0,0,0,0.15);  
}
.code-block-live {
    padding:2rem 1.5rem 0.5rem;
}
.code-block-color {
    padding:0 1.5rem 0.5rem;
}
.code-block-color div[class^="background"] {
    margin-left:-1.5rem;
    margin-right:-1.5rem;
    margin-bottom:1.875rem;
}
.code-block-color div.background-white {
    border-bottom:1px solid var(--color-gray-accent);
} 
pre[class*="language-"]::after, pre[class*="language-"]::before {
    display:none !important;
}
.dev-hint {
    background-color:#e8f5e1;
    border:1px solid #ADDB94;
    padding:3rem 1.5rem 1rem;
    margin-bottom:1.875rem;
}
.dev-hint h6,
.dev-hint p,
.dev-hint a:not(:hover),
.dev-hint dt,
.dev-hint dd {
    color:#244116;
}
.dev-hint h6 {}
.dev-hint a:not(.anchor) {
    text-decoration:underline;
    text-decoration-style:dashed;
}
.dev-hint code {
    background-color:rgba(36,65,22,0.15);
}