  /*
Theme Name: ÌìÃÀÊÓÆµ
Description: A completely new, custom site for ÌìÃÀÊÓÆµ built by the Marketing team in collaboration with our community in the late summer/early fall of 2017.
Author: Derek Long
Author URI: http://theseattleschool.edu
Version: 2.0

*/


/* --------------------------------------------------------------------------

Colors:
------

blue: #1f353b
secondary blue: #69c2d3
tertiary blue: #b8dbd9

white: #edf2fa
pure white: #fff

salmon: #d8775f
purple: #62648b
green: #529077
gold: #e3a153



Fonts
------

Leitura News: leitura-news - 400, 600

Scala Sans: ff-scala-sans-web - 400, 700




----------------------------------------------------------------------------- */


/* --------------------------------------------------------------------------

   Foundation

----------------------------------------------------------------------------- */

* { -webkit-font-smoothing: auto !important; }

*,
*:after,
*:before { -webkit-box-sizing: border-box; box-sizing: border-box; }

html {
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    scroll-behavior: smooth;
}

body {
    margin: 0 auto;
    padding: 0;
}

main { display: block; }

h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0;
    font-size: inherit;
}

p,
blockquote,
figure,
ol,
ul {
    margin: 0;
    padding: 0;
}

a {
    text-decoration: none;
    color: inherit;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

img {
    max-width: 100%;
    height: auto;
    border: 0;
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea { resize: vertical; }




/* --------------------------------------------------------------------------

   Base Styles

----------------------------------------------------------------------------- */

/*
 *
 * 1. 150% = 24px base font size. Used for all other font sizes and proportions.
 *
 * 2. 42px is our magic number used to maintain vertical rhythm.
 *
 */

html {
    color: #1f353b;
	font-family: 'leitura-news', Georgia, serif;
	font-size: 150%;  /* 1 */
	line-height: 1.75; /* 2 */
    font-variant-numeric: lining-nums; /* use numeric glyphs that are aligned by their baseline */
}

body {
    max-width: 1920px;
    background-color: #fff;
}

::-moz-selection {
    background: #b8dbd9;
    text-shadow: none;
}

::selection {
    background: #b8dbd9;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #bbbfc7;
    margin: 1em 0;
    padding: 0;
}




/* --------------------------------------------------------------------------

   Typography

   Scale: 1.25 http://www.modularscale.com/?1&em&1.25

   59px - 2.458em
   47px - 1.958em
   38px - 1.583em
   30px - 1.25em
   24px - 1em
   19px - 0.8em
   15px - 0.64em
   12px - 0.512em

----------------------------------------------------------------------------- */


/* Common margin-bottom for vertical rhythm based on our base line-height */

ul,ol,dl,
fieldset,
p,
table,
pre,
hr {
    margin-bottom: 1.75rem;
}

/* the-content is used anytime we want normal content output (btn, ul, h1) */
.the-content ul,
.the-content ol {
    margin-left: 1.75rem;
}

/* Headings */

h1, h2, h3, h4, h5, h6 { margin-bottom: 0; }

h1, h2 {
    font-family: 'leitura-news', serif;
    font-weight: 600;
}

h3, h4, h5, h6 {
    font-family: 'ff-scala-sans-web', sans-serif;
    font-weight: 700;
}

h1, .hsize1 { font-size: 1.958em; line-height: 1.15; margin-bottom: 0.638em; }
h2, .hsize2 { font-size: 1.583em; line-height: 1.105; margin-bottom: 0.568em; }
h3, .hsize3 { font-size: 1.250em; line-height: 1.4; }
h4, h5, h6, .hsize4  { font-size: 1.000em; line-height: 1.4; font-weight: 400; }


/* page title headers */

.sub-page-title {
    margin-bottom: .88rem;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-weight: 400;
    font-size: 1em;
    text-transform: uppercase;
    letter-spacing: 0.042em;
    line-height: 1.15;
    color: #69c2d3;
}

.page-title {
    font-size: 2.458em;
    line-height: 1.2;
    margin-bottom: 1.75rem;
}

.page-home .page-title { font-size: 2.17em; }

/* override the default */

.sans-heading {
    font-family: 'ff-scala-sans-web', sans-serif;
    font-weight: 700;
}

.serif-heading {
    font-family: 'leitura-news', serif;
    font-weight: 600;
}


/* different paragraph text */

.p-small { font-size: 0.8em; }

/* prevent small buttons */
.p-small .btn { font-size: 0.64rem; }

.sans { font-family: 'ff-scala-sans-web', sans-serif; }

.serif { font-family: 'leitura-news', serif; }

.dek {
    font-style: italic;
    color: #485f65;
}


/* decorative typography */

.heading-line {
    text-transform: uppercase;
    color: #69c2d3;
}

.heading-line:after {
    content: '';
    display: block;
    margin-top: .4rem;
    width: 40px;
    height: 2px;
    background-color: #485f65;
}

.align-center .heading-line:after,
.align-center.heading-line:after {
    margin-left: calc(50% - 20px);
}

.p-column {
    -webkit-column-count:2;
            column-count:2;
    -webkit-column-gap: 3.5rem;
            column-gap: 3.5rem;
    -webkit-column-width: 450px;
            column-width: 450px;
}

.section-header { margin-bottom: 1.75rem; }


/* color overrides for text */

.blue-text   { color: #1f353b !important; }
.purple-text { color: #62648b !important; }
.salmon-text { color: #d8775f !important; }
.green-text  { color: #529077 !important; }



/* --------------------------------------------------------------------------

   Links

----------------------------------------------------------------------------- */

a {
    -webkit-transition: .15s;
    transition: .15s;
}

.the-content a:not(.btn):not(.video-modal),
.post-meta a {
    -webkit-box-shadow: inset 0 -.5em 0 #b8dbd9;
            box-shadow: inset 0 -.5em 0 #b8dbd9;
    -webkit-transition: box-shadow .1s cubic-bezier(.33,.66,.66,1);
    -webkit-transition: -webkit-box-shadow .1s cubic-bezier(.33,.66,.66,1);
    transition: -webkit-box-shadow .1s cubic-bezier(.33,.66,.66,1);
    transition: box-shadow .1s cubic-bezier(.33,.66,.66,1);
    transition: box-shadow .1s cubic-bezier(.33,.66,.66,1), -webkit-box-shadow .1s cubic-bezier(.33,.66,.66,1);
    transition: box-shadow .1s cubic-bezier(.33,.66,.66,1), -webkit-box-shadow .1s cubic-bezier(.33,.66,.66,1);
}

.post-meta a {
    -webkit-box-shadow: inset 0 -.25em 0 #b8dbd9;
            box-shadow: inset 0 -.25em 0 #b8dbd9;
}

.the-content h1 a,
.the-content h2 a,
.the-content h3 a{
    -webkit-box-shadow: inset 0 -.25em 0 #b8dbd9 !important;
            box-shadow: inset 0 -.25em 0 #ffa78d !important;
}

.the-content h1 a:hover,
.the-content h2 a:hover,
.the-content h3 a:hover {
    -webkit-box-shadow: inset 0 -1em 0 #b8dbd9 !important;
            box-shadow: inset 0 -1em 0 #ffa78d !important;
}

.the-content a:not(.btn):not(.video-modal):hover,
.post-meta a:hover  {
    -webkit-box-shadow: inset 0 -1.5em 0 #b8dbd9;
            box-shadow: inset 0 -1.5em 0 #b8dbd9;
}

a[href$=png],
a[href$=jpg] {
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
}


/* buttons */

.btn {
    display: inline-block;
    min-width: 210px;
    background-color: #e3a153;
    border: 2px solid #e3a153;
    padding: .8em 1.5em .6em;
    color: #fff;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
    font-size: 0.64em;
    border-radius: 2px;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    -webkit-transition: all .15s;
    transition: all .15s;
    cursor: pointer;
}

.the-content .btn { margin-bottom: 1.75rem; }

.the-content p > .btn { margin-bottom: 0; }

.btn:after {
    content: '\203A';
    font-size: 1.4em;
    line-height: 0;
    padding-left: 7px;
}

.btn-small {
    min-width: 0;
}

.btn-secondary {
    background-color: #edf2fa;
    border-color: #edf2fa;
    color: #1f353b;
}

.btn-secondary:after,
.btn-no-arrow:after { content: none; }


/* btn-clear - transparent button with a border */

.btn:hover,
.btn-clear,
.btn-clear-light {
    background-color: transparent !important; /* override component */
    color: inherit;
    border-color: inherit;
}

/* btn-text - button style with no background, border, or padding */

.btn-text {
    display: block;
    text-align: left;
    border: none;
    background-color: transparent;
    color: inherit;
    padding-left: 0;
    min-width: 0;
}

.btn-text:hover { color: #69c2d3; }

.btn-text + .btn:not(.btn-text) { margin-top: .88rem; }


/* btn-clear-light - dark text, white border */

.btn-clear-light {
    border-color: #fff;
    color: #fff;
}

.btn-clear:hover,
.btn-clear-light:hover { opacity: .7;}



/* push to the right - found on home page */

.btn-right { float: right; }


/* a brief description preceeding a button (found on program template) */

.btn-desc {
    display: block;
    margin-bottom: .88rem;
    font-family: 'ff-scala-sans-web', sans-serif;
    text-transform: uppercase;
    font-size: .8em;
    color: #62648b;
}

.btn-desc + .btn {
    background-color: #62648b;
    border-color: #62648b;
}

/* a more button */

.btn-more:after {
    content: '+';
}

/* a group of buttons - found on podcast */

.btn-group .btn {
    margin-bottom: 0.44rem ;
    background-color: #b8dbd9;
    border-color: #b8dbd9;
    color: #1f353b;
}

.btn-group .btn-small { font-size: 0.512em; }

.btn-group .btn:after { content: none; }

.btn + .btn:not(.video-next):not(.btn-text)  { margin-left: .44rem; }

/* toggle elements (added with js) */

.toggle + * {
    display: none;
    padding-top: 1.75rem;
}

.toggle + * + *:not(.toggle) {
    padding-top: 3.5rem;
}

.toggle-content + .toggle {
    margin-top: 1.75rem;
}

.toggle:not(.toggle-title):not(.toggle-btn) {
    position: relative;
    height: 4px;
    display: block;
    background-color: #62648b;
    width: 100%;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
}

.toggle:not(.toggle-title):not(.toggle-btn):before,
.toggle-title:after {
    content: '+';
    position: absolute;
    display: inline-block;
    width: 40px;
    height: 40px;
    top: -19px;
    left: 40px;
    background-color: #fff;
    border: 2px solid;
    border-radius: 50%;
    font-size: 40px;
    text-align: center;
    line-height: 31px;
    color: #62648b;
}

.toggle:not(.toggle-title):not(.toggle-btn).active:before,
.toggle-title.active:after { content: '-'; }

.toggle-title {
    position: relative;
    display: inline-block;
    padding-right: 50px;
    width: 100%;
    border-left: 5px solid #62648b;
    padding-left: .88rem;
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    cursor: pointer;
}

.toggle-title:after {
    left: auto;
    right: 0;
    top: calc(50% - 20px );

}

.toggle:not(.toggle-title):hover:before,
.toggle-title:hover:after { background-color: #edf2fa; }

.toggle-title:hover { opacity: .8; }

.toggle-btn.btn-more.active:after { content: '-'; }




/* --------------------------------------------------------------------------

   Forms - several overrides for Form Assembly

----------------------------------------------------------------------------- */

input,
textarea,
select {
    background: transparent !important;
    border-color: inherit !important;
    border: 1px solid;
    border-radius: 0;
    background-color: #fff;
    outline: none;
    border-radius: 2px;
    font-size: .8em !important;
    -webkit-transition: all .15s;
    transition: all .15s;
}

input[type="text"],
input[type="submit"],
input[type="email"],
input[type="button"],
input[type="search"],
textarea {
    width: 100% !important;
    padding: .8em 1em .6em !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

input[type="file"] { border: none; }

label {
    width: 100% !important;
    font-size: .8em !important;
}

input[type="checkbox"] + label,
input[type="radio"] + label {
    font-family: 'ff-scala-sans-web', sans-serif !important;
    vertical-align: bottom !important;
    padding: 0 .88rem 0 .22rem;
}


input[type="button"],
input[type="submit"] {
    display: inline-block;
    width: auto !important;
    font-family: 'ff-scala-sans-web', sans-serif !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    text-align: center;
    cursor: pointer;
    box-shadow: none !important;
    border-color: inherit !important;
    border-radius: inherit !important;
    background-image: none !important;
}

input[type="submit"] { padding: 1em 2em .8em !important }

input[type="submit"],
input[type="button"]:hover {
    background-color: #e3a153 !important;
    color: #fff;
}

input[type="submit"]:hover {
    background-color: #69c2d3 !important;
}

/* placeholder text */

::-webkit-input-placeholder { color: #5e6360; }
          :-moz-placeholder { color: #5e6360; }
         ::-moz-placeholder { color: #5e6360; }
     :-ms-input-placeholder { color: #5e6360; }


/* Form Assembly classes */

.wForm {
    padding: 0 !important;
}

.wFormContainer {
    max-width: none !important;
    font-family: inherit !important;
    font-size: inherit !important;
    line-height: inherit !important;
    border: none !important
}

.wForm fieldset { padding: 0 8px 15px 8px !important; }

.wForm .inputWrapper { width: 100% !important; }

.hint,
.lengthIndicator,
.duplicateLink,
.wForm .applycode,
.wFormContainer .supportInfo a {
    font-size: .64rem !important;
    font-family: 'ff-scala-sans-web', sans-serif !important;
    box-shadow: none !important;
}

.wForm .applycode {
    background-color: #1f353b;
    padding: 10px;
    color: #fff;
    cursor: pointer;
}

.wForm .applycode:hover { background-color: #69c2d3; }

.wfPagingButtons input[type="button"] {
    background-color: #69c2d3 !important;
    border-color: #69c2d3 !important;
    color: #fff;
}

input[type="button"].secondaryAction {
    border-color: #1f353b !important;
}

.wfPagingButtons input[type="button"]:hover,
input[type="button"].secondaryAction:hover {
    background-color: #1f353b !important;
    border-color: #1f353b !important;
}

.wForm fieldset { border-color: #bbbfc7 !important; }

.wForm input[value="Reset"] { display: none; }

.wFormContainer .supportInfo { display: none; }

.wForm .column {
    display: block; /* fixes a conflict with our column class */
}

/* newsletter form */

.newsletter p { color: #1f353b; }

.newsletter .wFormContainer {
    margin: 0 auto;
    text-align: center;
    margin-bottom: 3.5rem;
}

.newsletter .wForm .label.reqMark:after { color: #d8775f !important; }

.newsletter {
    background-color: #529077;
    color: #fff;
    font-family: 'ff-scala-sans-web', sans-serif !important;
}

.newsletter form { text-align: center !important; }

.newsletter label {
    text-align: left;
    font-weight: normal !important;
    font-size: .64em !important;
    letter-spacing: 1px;
    color:#1f353b !important;
}
/*
.newsletter .supportInfo { display: none; }

.newsletter .field-container-D,
.newsletter .group,
.newsletter .actions { display: inline-block; }

.newsletter .wForm .inline div.oneField { vertical-align: baseline !important; }

.newsletter input[type="text"],
.newsletter input[type="email"] {
    border-top: 0 !important;
    border-right: 0 !important;
    border-left: 0 !important;
    border-width: 2px !important;
    border-color: #fff !important
}

.newsletter input:focus { border-color: #23624b!important; }

.newsletter input[type="submit"] {
    margin-top: 35px;
    background-color: transparent !important;
    border: 2px solid !important;
}

.newsletter input[type="submit"]:hover {
    border-color: #23624b!important;
    color: #23624b;
}
*/




/* element newsletter & cta on program pages */
.newsletter .mat-mdc-card-header-text {
    width: 100% !important;
    color: #fff !important;
}

.newsletter .elm-dynamic-fg-primary-wysiwyg-wrapper h3, 
.newsletter .elm-dynamic-fg-primary-wysiwyg-wrapper h3 {
    color:#1f353b;
}

.newsletter .mdt .mat-mdc-raised-button.mat-primary {
    background-color: #1f353b !important;
}

.newsletter .elm-recaptcha-branding,
.form-program .elm-recaptcha-branding { text-align: center !important; }

.newsletter .lum-df-field-full,
.form-program .lum-df-field-full {
    /* make the confirmation email on the same row */
    padding-left: 0;
    padding-right: 0;
}

.newsletter .lum-df-field-full .lum-df-form-email-field,
.newsletter .lum-df-field-full .lum-df-form-email-confirmation-field,
.form-program .lum-df-field-full .lum-df-form-email-field,
.form-program .lum-df-field-full .lum-df-form-email-confirmation-field {
    flex: 0 0 50%;
    max-width: 50%;
    padding-top: 0;
    padding-left: 12px;
    padding-right: 12px;
}

.newsletter .lum-df-field-full .lum-df-form-email-confirmation-field .mat-mdc-form-field-hint-wrapper,
.form-program .lum-df-field-full .lum-df-form-email-confirmation-field .mat-mdc-form-field-hint-wrapper { padding: 16px; }

.form-program .mat-mdc-card-header { justify-content: center; }

@media (max-width: 960px) {
    .newsletter .lum-df-field-full .lum-df-form-email-field,
    .newsletter .lum-df-field-full .lum-df-form-email-confirmation-field,
    .form-program .lum-df-field-full .lum-df-form-email-field,
    .form-program .lum-df-field-full .lum-df-form-email-confirmation-field {
        display: block !important;
        max-width: 100% !important;
        flex: 100% !important;
    }

}

/* Search Form */

#searchform input {
    display: inline-block;
    width: auto !important;
    font-size: .64rem !important;
    font-family: 'ff-scala-sans-web', sans-serif !important;
    margin-bottom: .88rem;
}

#searchform input[type="search"] { min-width: 300px; }

/* library search form */

.library-form {
    margin-top: 1.75rem;
    margin-bottom: 3.5rem;
}

.library-form select,
.library-form input[type="text"] { margin-bottom: 0.875rem; }


/* Gravity forms - IT Form */

.gform-theme--framework .gform-field-label,
.gform_required_legend { font-family: 'ff-scala-sans-web', sans-serif !important; }


/* --------------------------------------------------------------------------

   Icons

----------------------------------------------------------------------------- */

.icon {
    width: 40px;
    height: 40px;
    fill: #1f353b;
    vertical-align: middle;
}

.card .icon {
    position: absolute;
    top: .66rem;
    right: .66rem;
    width: 20px;
    height: 20px;
    fill: #7a807b;
}


/* --------------------------------------------------------------------------

   Tables

----------------------------------------------------------------------------- */


table {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-top: 0;
    border-collapse: collapse;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
}

tr:nth-of-type(even){
    background-color: #edf2fa;
}

th {
    background: #485f65;
    color: #edf2fa;
    text-transform: uppercase;
    font-size: 0.64em;
    text-align: left;
}

td { font-size: 0.8em; }


th,
td { padding: 5px 10px; }




/* --------------------------------------------------------------------------

   RESPONSIVE VIDEO / OEMBEDS

   A wrapper is added in functions.php to videos.

----------------------------------------------------------------------------- */

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin-bottom: 32px;
}

.video-container > * {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}




/* --------------------------------------------------------------------------

   Slider - every site needs one right?

----------------------------------------------------------------------------- */

.slick-slider {
    position: relative;
    display: block;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list {
    position: relative;
    display: block;
    overflow: hidden;
    margin: 0;
    padding: 0;
}

.slick-list:focus,
.video-next { outline: none; }

.slick-list.dragging {
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    margin-left: auto;
    margin-right: auto;
}

.slick-track:before,
.slick-track:after {
    display: table;
    content: '';
}
.slick-track:after { clear: both; }

.slick-loading .slick-track { visibility: hidden; }

.slick-slide {
    display: none;
    float: left;
    height: 100%;
    min-height: 1px;
}

[dir='rtl'] .slick-slide { float: right; }

.slick-slide img { display: block; }

.slick-slide.slick-loading img { display: none; }

.slick-slide.dragging img { pointer-events: none; }

.slick-loading .slick-slide { visibility: hidden; }

.slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent;
}
.slick-arrow.slick-hidden { display: none; }

/* slider arrows - found on the quote slider */

.slick-prev { display: none !important; }

.slick-next {
    font-size: 0;
    position: absolute;
    top: 50%;
    display: block;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 2px solid #1f353b;
    border-radius: 100%;
    background: #1f353b;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    cursor: pointer;
    outline: none;
    text-decoration: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    z-index: 1000;
    -webkit-transition: .15s;
    transition: .15s;
}

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
    outline: none;
}

.slick-next { right: 1.5%; }

.slick-next:after {
    content: '\203A';
    display: inline-block;
    width: 48px;
    height: 50px;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-variant-numeric: lining-nums;
    font-feature-settings: "lnum", "tnum";
    font-size: 44px;
    line-height: 45px;
    color: #edf2fa;
    -webkit-transition: .15s;
    transition: .15s;
}

.slick-next:hover { background:transparent; }

.slick-next:hover:after { color: #1f353b; }


 /* --------------------------------------------------------------------------

    Modal

 ----------------------------------------------------------------------------- */

.video-modal { outline: 0; }

.column-half .video-modal {
    position: absolute;
    top: calc(50% - 50px);
    right: calc(50% - 50px);
}

.video-modal .icon-play {
    fill: #fff;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    border: 3px solid #fff;
    padding-left: 8px;
}

.video-modal .icon-play:hover { border-color: #69c2d3; }
.video-modal .icon-play:hover { fill: #69c2d3; }

.modaal-noscroll {
  overflow: hidden; }

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px);
  /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden; }

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0; }

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out; }
  .modaal-wrapper * {
    box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden; }
  .modaal-wrapper .modaal-close {
    border: none;
    background: transparent;
    padding: 0;
    -webkit-appearance: none; }
  .modaal-wrapper.modaal-start_none {
    display: none;
    opacity: 1; }
  .modaal-wrapper.modaal-start_fade {
    opacity: 0; }
  .modaal-wrapper *[tabindex="0"] {
    outline: none !important; }
  .modaal-wrapper.modaal-fullscreen {
    overflow: hidden; }

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%; }
  .modaal-fullscreen .modaal-outer-wrapper {
    display: block; }

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px; }
  .modaal-fullscreen .modaal-inner-wrapper {
    padding: 0;
    display: block;
    vertical-align: top; }

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto; }
  .modaal-container.is_loading {
    height: 100px;
    width: 100px;
    overflow: hidden; }
  .modaal-fullscreen .modaal-container {
    max-width: none;
    height: 100%;
    overflow: auto; }

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: transparent;
  border-radius: 100%;
  transition: all 0.2s ease-in-out; }
  .modaal-close:focus, .modaal-close:hover {
    outline: none;
    background: #fff; }
    .modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
      background: #69c2d3; }
  .modaal-close span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-close:before, .modaal-close:after {
    display: block;
    content: " ";
    position: absolute;
    top: 14px;
    left: 23px;
    width: 4px;
    height: 22px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out; }
  .modaal-close:before {
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .modaal-close:after {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }
  .modaal-fullscreen .modaal-close {
    background: #afb7bc;
    right: 10px;
    top: 10px; }

.modaal-content-container {
  padding: 30px; }

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0; }

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent; }
  .modaal-confirm-btn.modaal-ok {
    padding: 10px 15px;
    color: #fff;
    background: #555;
    border-radius: 3px;
    transition: background 0.2s ease-in-out; }
    .modaal-confirm-btn.modaal-ok:hover {
      background: #2f2f2f; }
  .modaal-confirm-btn.modaal-cancel {
    text-decoration: underline; }
    .modaal-confirm-btn.modaal-cancel:hover {
      text-decoration: none;
      color: #2f2f2f; }

@keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

@-webkit-keyframes instaReveal {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important; }

.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent; }

.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important; }

.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  -webkit-animation: instaReveal 1s linear forwards;
          animation: instaReveal 1s linear forwards; }

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px; }

.modaal-image .modaal-container {
  width: auto;
  max-width: 100%; }

.modaal-gallery-wrap {
  position: relative;
  color: #fff; }

.modaal-gallery-item {
  display: none; }
  .modaal-gallery-item img {
    display: block; }
  .modaal-gallery-item.is_active {
    display: block; }

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff; }
  .modaal-gallery-label:focus {
    outline: none; }

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: transparent;
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out; }
  .modaal-gallery-control.is_hidden {
    opacity: 0;
    cursor: default; }
  .modaal-gallery-control:focus, .modaal-gallery-control:hover {
    outline: none;
    background: #fff; }
    .modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
      background: #afb7bc; }
  .modaal-gallery-control span {
    position: absolute !important;
    clip: rect(1px 1px 1px 1px);
    /* IE6, IE7 */
    clip: rect(1px, 1px, 1px, 1px);
    padding: 0 !important;
    border: 0 !important;
    height: 1px !important;
    width: 1px !important;
    overflow: hidden; }
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    display: block;
    content: " ";
    position: absolute;
    top: 16px;
    left: 25px;
    width: 4px;
    height: 18px;
    border-radius: 4px;
    background: #fff;
    transition: background 0.2s ease-in-out; }
  .modaal-gallery-control:before {
    margin: -5px 0 0;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .modaal-gallery-control:after {
    margin: 5px 0 0;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }

.modaal-gallery-next {
  left: 100%;
  margin-left: 40px; }

.modaal-gallery-prev {
  right: 100%;
  margin-right: 40px; }
  .modaal-gallery-prev:before, .modaal-gallery-prev:after {
    left: 22px; }
  .modaal-gallery-prev:before {
    margin: 5px 0 0;
    -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
            transform: rotate(-45deg); }
  .modaal-gallery-prev:after {
    margin: -5px 0 0;
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg); }

.modaal-video-wrap {
  margin: auto 50px;
  position: relative; }

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto; }
  .modaal-video-container iframe,
  .modaal-video-container object,
  .modaal-video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%; }

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block; }

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px; } }

@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px; }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    background: rgba(0, 0, 0, 0.7); }
    .modaal-gallery-control:before, .modaal-gallery-control:after {
      background: #fff; }
  .modaal-gallery-next {
    left: auto;
    right: 20px; }
  .modaal-gallery-prev {
    left: 20px;
    right: auto; } }

@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; } }

@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important; } }

@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px; }
  .modaal-instagram iframe {
    width: 600px !important; } }

@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important; }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px; } }

@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important; } }

@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none; } }

.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  -webkit-transform: scale(0.25);
      -ms-transform: scale(0.25);
          transform: scale(0.25); }

@-webkit-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1); } }

@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5); }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1); } }

.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute; }

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff; }

.modaal-loading-spinner > div:nth-of-type(1) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: 0s;
  animation-delay: 0s; }

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(1) {
  -ms-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(2) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
          animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .12s;
  animation-delay: .12s; }

.modaal-loading-spinner > div:nth-of-type(2) {
  -ms-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(3) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
          animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .25s;
  animation-delay: .25s; }

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(3) {
  -ms-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(4) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
          animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .37s;
  animation-delay: .37s; }

.modaal-loading-spinner > div:nth-of-type(4) {
  -ms-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(5) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
          animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .5s;
  animation-delay: .5s; }

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite; }

.modaal-loading-spinner > div:nth-of-type(5) {
  -ms-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(6) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
          animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .62s;
  animation-delay: .62s; }

.modaal-loading-spinner > div:nth-of-type(6) {
  -ms-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(7) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
          animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .75s;
  animation-delay: .75s; }

.modaal-loading-spinner > div:nth-of-type(7) {
  -ms-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0); }

.modaal-loading-spinner > div:nth-of-type(8) > div {
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation-delay: .87s;
  animation-delay: .87s; }

.modaal-loading-spinner > div:nth-of-type(8) {
  -ms-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  -webkit-transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0); }


/* --------------------------------------------------------------------------

   Containers

   Keeps site contained, consistent padding/margins, limits copy to an appropriate number of characters per line.

----------------------------------------------------------------------------- */

/* encloses anything that doesn't go all the way to the edge */

.container {
    padding-right: 7rem;
    padding-left: 7rem;
    margin-right: auto;
    margin-left: auto;
    position: relative;
}

/* constrain copy, use within or on same element as .container */

.container-content {
    max-width: 57.17rem;
    margin-right: auto;
    margin-left: auto;
}

.container-content-narrow {
    max-width: 42rem;
    margin-right: auto;
    margin-left: auto;
}


/* the main wrapper for pages */

.main {
    padding-top: 3.5rem;
    padding-bottom: 5.25rem;
}


/* smaller sections within pages */

.section {
    padding-top: 7rem;
    padding-bottom: 7rem;
}

.section-small {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
}

.main > .section-small:first-child { padding-top: 0; }

.section .section:last-of-type,
.section .section-small:last-of-type,
.section-small .section-small { padding-bottom: 0; }




/* --------------------------------------------------------------------------

   Header - The main header of the site that wraps the navigation

----------------------------------------------------------------------------- */

.header-main {
    position: relative;
    width: 100%;
    padding: .44rem 1.75rem .88rem;
    padding-bottom: .88rem;
    background-color: #1f353b;
    font-family: 'ff-scala-sans-web', sans-serif;
    color: #b8dbd9;
    -webkit-box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
            box-shadow: 0 0 15px 0 rgba(0, 0, 0, 0.15);
    z-index: 10;
}


/* clear the .nav-container */

.header-main:after {
    content: '';
    display: table;
    clear: both;
}

.header-logo {
    width: 300px;
    padding-top: 16px;
}

.header-search {
    display: inline-block;
    width: 36px;
    height: 36px;
    padding: 4px 3px 3px;
    border-radius: 50%;
    background-color: rgba(184, 219, 217, 0.5);
    text-align: center;
    vertical-align: bottom;
}

.header-search .icon {
    width: 20px;
    height: 20px;
    fill: #1f353b;
}

.header-search:hover { background-color: #69c2d3; }


/* header alter message */

.header-alert {
    position: relative;
    background-color: #d8775f;
    font-size: .64em;
    padding: .66rem;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
    font-feature-settings: "lnum", "tnum";
    text-align: center;
    z-index: 100;
}

.header-alert span {
    text-transform: uppercase;
    font-weight: 700;
    letter-spacing: 1px;
}

.header-alert a { text-decoration: underline; }


/* --------------------------------------------------------------------------

   Navigation - All navigation site wide

----------------------------------------------------------------------------- */


.nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav li { display: inline-block; }

.nav-container { float: right; }


/* main navigation */

.nav-main,
.nav-secondary {
    font-size: 0.64em;
    text-transform: uppercase;
}

.nav-main li { position: relative; }

.nav-main li.current-menu-ancestor > a,
.nav-main li.current-menu-item > a,
.nav-main .nav > li:hover > a { color: #69c2d3; }

.nav-main .nav > li:not(:last-of-type) {
    margin-right: 1.75rem;
    vertical-align: text-top;
}

.nav-main .sub-menu {
    display: none;
    position: absolute;
    left: -1em;
    margin: 0;
    padding: 0;
    min-width: 200px;
    font-size: 0.8em;
    background-color: #1f353b;
}

.nav-main .sub-menu li,
.nav-main .sub-menu a { display: block; }

.nav-main .sub-menu a {
    padding: .9em 1em .8em;
    line-height: 1.2;
}

.nav-main li:hover > .sub-menu { display: block; }

.nav-main .nav-more > .sub-menu {
    left: auto;
    right: -1em;
    min-width: 150px;
}

.nav-main .sub-menu a:hover {
    background-color: #b8dbd9;
    color: #1f353b;
}

.nav-main .sub-menu { padding-top: 1rem; }

.nav-main .sub-menu .sub-menu {
    left: 100%;
    font-size: 1em;
    top: 0;
    padding-top: 0;
}

/* this prevents the menus on the right of the nav from going off the screen */
.nav-main li:nth-last-child(2) .sub-menu .sub-menu  {
    left: auto;
    right: 100%;
}

/* if this class is added to the nav menu you get 3 dots svg icon */

.nav-more > a {
    display: block;
    width: 38px;
    height: 38px;
    padding: 3px;
    background-image: url('/wp-content/themes/the-seattle-school/images/icons/more.svg');
    background-size: 22px;
    background-repeat: no-repeat;
    background-position: center;
    text-indent: -9999999px;
    border-radius: 50%;
    border: 2px solid #b8dbd9;
}

.nav-more > a:hover { border-color: #69c2d3; }


/* secondary navigation (top) */

.nav-secondary {
    margin-bottom: .66rem;
    text-align: right;
    color: #fff;
}

.nav-secondary ul { display: inline-block; }

.nav-secondary li { margin-right: 1.75rem; }

.nav-secondary li.current-menu-item > a,
.nav-secondary a:hover { color: #69c2d3; }


/* taxonomy navigation */

.nav-taxonomy {
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64em;
    text-transform: uppercase;
    font-weight: 700;
    margin-bottom: 3rem;
    text-align: center;
}

.nav-taxonomy ul:not(:last-child) { margin: 0 1.75rem 1.75rem; }

.nav-taxonomy li:not(:last-child):after {
    content: '/';
    opacity: .5;
    margin: 0 .44rem;
}

.nav-taxonomy a { color: #3291a2; }

.nav-taxonomy a:hover,
.nav-taxonomy .current-cat a { color: #69c2d3; }


/* footer navigation */

.nav-footer {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    color: #b8dbd9;
}

.nav-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
}

.nav-footer div {
    width: 33.33%;
    padding: 1.75rem;
}

.nav-footer-heading {
    color: #edf2fa;
    margin-bottom: .44rem;
    padding-bottom: .22rem;
    font-size: 0.8rem;
    letter-spacing: 1px;
    border-bottom: 2px solid rgba(72, 95, 101, 0.5);
}

.nav-footer li {
    padding: .33rem 0;
    line-height: 1.2;
}

.nav-footer .cta { color: #69c2d3; }

.nav-footer .cta:after {
    content: 'â€º';
    font-size: 1.4em;
    line-height: 0;
    padding-left: 7px;
}

.nav-footer a:hover { color: #fff; }


/* if .nav-social class is add to menu items */

.nav-social { display: inline-block; }

.nav-social a {
    display: inline-block;
    text-indent: -99999px;
    text-align: left;
    width: 26px;
    height: 26px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 20px;
}

.nav-social a:hover { opacity: .8; }

.nav-social a[href^="https://www.facebook.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/facebook.svg'); }
.nav-social a[href^="https://twitter.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/twitter.svg'); }
.nav-social a[href^="https://www.linkedin.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/linkedin.svg'); }
.nav-social a[href^="https://vimeo.com/"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/vimeo.svg'); }
.nav-social a[href^="https://www.instagram.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/instagram.svg'); }
.nav-social a[href^="https://www.youtube.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/youtube.svg'); }



/* social sharing on the posts */

.social-share * {
    display: inline-block;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64em;
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-right: 5px;
    vertical-align: middle;
}

.social-share a {
    text-indent: -99999px;
    text-align: left;
    width: 32px;
    height: 32px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 26px;
}

.social-share a[href^="https://www.facebook.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/facebook-social.svg'); }
.social-share a[href^="https://twitter.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/twitter-social.svg'); }
.social-share a[href^="https://plus.google.com"] { background-image: url('/wp-content/themes/the-seattle-school/images/icons/google+-social.svg'); }

.social-share a:hover { opacity: .8; }


/* Pagination */

.pagination {
    margin-top: 3.5rem;
    text-align: center;
    font-family: 'ff-scala-sans-web', sans-serif;
    text-transform: uppercase;
    font-size: 0.8em;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
}

.pagination .nav-links * { margin: 10px 5px; }

.pagination .page-numbers:not(.next):not(.prev):not(.dots) {
    display: inline-block;
    border: 3px solid #69c2d3;
    border-radius: 50%;
    width: 42px;
    height: 40px;
    line-height: 38px;
    color: #69c2d3;
}

.pagination .next:hover,
.pagination .prev:hover,
.pagination .dots {
    color: #69c2d3;
}

.pagination .page-numbers.current:not(.next):not(.prev),
.pagination .page-numbers:not(.next):not(.prev):not(.dots):hover {
    background-color: #69c2d3;
    color: #fff;
}


/* sidebar navigation */

.nav-sidebar ul {
   list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.64em;
    font-family: 'ff-scala-sans-web', sans-serif;
    text-transform: uppercase;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
}

.nav-sidebar a {
    display: block;
    padding: .88rem;
    border-bottom: 2px solid #b8dbd9;
}

.nav-sidebar li:first-child a { border-top: 2px solid #b8dbd9; }

.nav-sidebar a:hover,
.nav-sidebar .current-menu-item a {
    background-color: #b8dbd9;
}



/* --------------------------------------------------------------------------

   Mean Menu Navigation - added by js

----------------------------------------------------------------------------- */

a.meanmenu-reveal { display: none; }

.mean-container:after {
    content: '';
    display: table;
    clear: both;
 }

.mean-container .mean-bar {
	float: left;
	width: 100%;
	position: relative;
	background: #1f353b;
	padding: 4px 0;
	z-index: 11;
    font-family: 'ff-scala-sans-web', sans-serif;
}

.mean-container a.meanmenu-reveal {
	width: 28px;
	height: 22px;
	padding: 13px 0 11px 13px;
    margin-right: 1.75rem;
    margin-top: -45px;
	position: absolute;
	top: 0;
	right: 0;
	cursor: pointer;
	color: #fff;
	text-decoration: none;
	font-size: 16px;
	text-indent: -9999em;
	line-height: 22px;
	font-size: 1px;
	display: block;
    -webkit-transition: none;
    transition: none;
}

.mean-container a.meanmenu-reveal span {
	display: block;
	background: #fff;
	height: 3px;
	margin-top: 5px;
}

.mean-container .mean-nav {
	float: left;
	width: 100%;
}

.mean-container .mean-nav ul {
	padding: 0;
	margin: 0;
	width: 100%;
	list-style-type: none;
}

.mean-container .mean-nav ul li {
	position: relative;
	float: left;
	width: 100%;
}

.mean-container .mean-nav ul li a {
	display: block;
	float: left;
	width: 90%;
	padding: 1em 5%;
	margin: 0;
    font-size: 15px;
	text-align: left;
	color: #b8dbd9;
	border-top: 1px solid rgba(184, 219, 217, .4);
	text-decoration: none;
	text-transform: uppercase;
}

.mean-container .mean-nav ul li li a {
	width: 80%;
	padding: 1em 10%;
	border-top: 1px solid rgba(184, 219, 217, .2);
	opacity: 0.75;
	filter: alpha(opacity=75);
	text-shadow: none !important;
	visibility: visible;
}

.mean-container .mean-nav ul li.mean-last a {
	border-bottom: none;
	margin-bottom: 0;
}

.mean-container .mean-nav ul li li li a {
	width: 70%;
	padding: 1em 15%;
}

.mean-container .mean-nav ul li li li li a {
	width: 60%;
	padding: 1em 20%;
}

.mean-container .mean-nav ul li li li li li a {
	width: 50%;
	padding: 1em 25%;
}

.mean-container .mean-nav ul li a:hover {
	background: #252525;
	background: rgba(255,255,255,0.1);
}

.mean-container .mean-nav ul li a.mean-expand {
	margin-top: 1px;
	width: 26px;
	height: 32px;
	padding: 12px !important;
	text-align: center;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 2;
	font-weight: 700;
	background: rgba(255,255,255,0.05);
	border: none !important;
	border-left: 1px solid rgba(184, 219, 217, .4) !important;
	border-bottom: 1px solid rgba(184, 219, 217, .4) !important;
}

.mean-container .mean-nav ul li a.mean-expand:hover { background: rgba(0, 15, 20, 0.3); }

.mean-container .mean-push {
	float: left;
	width: 100%;
	padding: 0;
	margin: 0;
	clear: both;
}

.mean-nav .wrapper {
	width: 100%;
	padding: 0;
	margin: 0;
}

/* Fix for box sizing on Foundation Framework etc. */
.mean-container .mean-bar, .mean-container .mean-bar * {
	-webkit-box-sizing: content-box;
	-moz-box-sizing: content-box;
	box-sizing: content-box;
}

.mean-remove { display: none !important; }

/* for nav items that are just a hash */

.mean-nav a[href="#"] + .sub-menu + a.mean-expand {
    width: 100%;
    text-align: right;
    padding-right: 22px !important;
    background: transparent;
    border-bottom: none !important;
}


/* --------------------------------------------------------------------------

   Page Headers - The main header on each page

----------------------------------------------------------------------------- */

.page-header {
    position: relative;
    height: 100vh;
    max-height: 1000px;
    z-index: 1;
}

.page-header:before,
.page-header:after {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  -webkit-transform: skewY(-11deg);
          transform: skewY(-11deg);
  -webkit-transform-origin: 0;
          transform-origin: 0;
  background-color: #edf2fa;
}

.page-header:before {
  background-color: #b8dbd9;
  -webkit-transform: skewY(11deg);
          transform: skewY(11deg);
  -webkit-transform-origin: bottom right;
          transform-origin: bottom right;
}

.page-header-text {
    position: absolute;
    max-width: 35em;
    bottom: 20%;
    z-index: 1;
}

.page-header-img + .page-header-text { color: #fff; }

.page-header-img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    z-index: 1;
    -webkit-transform: skewY(-11deg);
    transform: skewY(-11deg);
    -webkit-transform-origin: 0;
    transform-origin: 0;
    overflow: hidden;
}

.page-header-img:after,
.page-header-img:before {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(25deg, rgba(0,0,0,.5) 35%,rgba(0,0,0,0.3) 50%,rgba(0,0,0,0) 70%);
}

.page-header-img:before {
    bottom: 0;
    top: auto;
    height: 50%;
    background: #2b3053;
    opacity: .9;
    z-index: 2;
    -webkit-transform: skewY(17deg);
            transform: skewY(17deg);
    -webkit-transform-origin: top left;
            transform-origin: top left;
}

.page-header-img img {
    display: block;
    width: 100%;
    height: calc(100vh + 30%); /* push down because of slant */
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    z-index: -1;
    -webkit-transform: skewY(11deg);
            transform: skewY(11deg);
}

.page-home .page-header:before,
.page-home .page-header-img:before { content: none; }

.page-home .page-header-img,
.page-home .page-header:after {
    -webkit-transform: skewY(-4.5deg);
            transform: skewY(-4.5deg);
}

.page-home .page-header-img img {
    -webkit-transform: skewY(4.5deg);
            transform: skewY(4.5deg);
}

.page-template-default:not(.page-programs) .page-header-img:before,
.page-about .page-header-img:before { content: none; }

.page-programs .page-header:before,
.page-template-templates-programs .page-header:before { background-color: #62648b; }


/* selected page header colors - Option on backend */

.header-color-salmon:after {  background-color: #d8775f; }
.header-color-salmon .sub-page-title { color: #fff; }

.header-color-green:after {  background-color: #529077; }
.header-color-green .sub-page-title { color: #fff; }

.header-color-purple:after {  background-color: #62648b; }
.header-color-purple .page-title { color: #fff; }


/* modified styles for the program template as it's quite different */

.page-template-template-program .page-header {
    height: 50vh;
    min-height: 550px;
}

.page-template-template-program .page-header:before,
.page-template-template-program .page-header:after,
.page-template-template-program .page-header-img:before {
    content: none;
}

.page-template-template-program .page-header-img,
.page-template-template-program .page-header-img img {
    height: 100%;
    -webkit-transform: none;
            transform: none;
}

.page-header-program {
    position: relative;
    padding-top: calc(5.25rem + 3.5%);
    padding-bottom: 5.25rem;
    margin-top: -3.5%;
    background-color: #edf2fa;
    text-align: center;
    -webkit-transform: skewY(-2.5deg);
            transform: skewY(-2.5deg);
    z-index: 2;
}

.page-header-program .container {
    -webkit-transform: skewY(2.5deg);
            transform: skewY(2.5deg);
}

.page-header-program .sub-page-title:after {
    content: '';
    display: block;
    margin-top: .88rem;
    margin-left: calc(50% - 40px);
    width: 80px;
    height: 2px;
    background-color: #d8775f;
}




/* --------------------------------------------------------------------------

   Page Specific Content & Adjustments

----------------------------------------------------------------------------- */

.bg-alt-white { background-color: #edf2fa; }
.bg-white { background-color: #fff; }


/* a different background color for programs page */

.page-programs,
.page-template-templates-programs,
.page-about {
    background-color: #edf2fa;
}

/* for the programs page, remove the bottom padding on the last section */

.program-section { margin-bottom: 7rem; }

.program-section .component:last-child { margin-bottom: 0; }

.program-section:last-of-type { margin-bottom: 0; }

/* for the program page for C&C /programs/scripture-society-certificate/ */

.program-details-section {
    padding-top: 0;
    padding-bottom: 0;
}


/* certain pages need the footer to move up into the main area */

.page-about .section:last-of-type { padding-bottom: 10.5rem; }

.page-programs:not(.page-template-templates-programs) .footer-wave,
.page-template-templates-programs main:has(.program-section-conted) + .footer-wave,
.page-about .footer-wave,
.page-home .footer-wave,
.page-admissions .footer-wave,
.event-series + .footer-wave  { margin-top: -140px; }

/* program template */

.program-stats {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: .88rem;
    font-size: .8em;
}

.program-stats p {
    margin-bottom: 0;
    color: #485f65;
    font-style: italic;
    padding: 0 1.75rem;
}

.program-stats span  {
    font-size: 1.25rem;
    padding-right: 5px;
    color: #d8775f;
}

.program-cta {
    margin-top: 3.5rem;
}

.program-tracks {
    padding: 1.75rem 0;
}

.program-list {
    margin-top: 1.75rem;
    margin-bottom: 3.5rem;
}

.program-list ul { margin-left: 0; }

.program-list ul:after {
    content: '';
    display: table;
    clear: both;
}

.program-list li {
    display: inline-block;
    width: 49%;
    list-style: none;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.8em;
    margin-bottom: .88rem;
    vertical-align: middle;
    padding-right: 5%;
}


/* sidebar template */

.sidebar-template {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.sidebar-left {
    -webkit-box-flex: 2;
    -ms-flex: 2 1 0px;
    flex: 3 1 0;
}

.sidebar-right {
    padding-left: 4.38rem;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0px;
    flex: 1 1 0;
}


/* --------------------------------------------------------------------------

   Landing page template - added 5/16

----------------------------------------------------------------------------- */

.page-template-template-landing .page-header:before, 
.page-template-template-landing .page-header:after,
.page-template-template-landing .page-header-img:before {
    content: none;
}

.page-template-template-landing .page-header-img,
.page-template-template-landing .page-header-img img,
.page-template-template-landing .page-header-program,
.page-template-template-landing .page-header-program .container {
    transform: none;
}

.page-template-template-landing .page-header {
    height: auto;
    max-height: unset;
}

.page-template-template-landing .page-header-img img { height: 100%; }

.page-template-template-landing .page-header-img:after {
    background: linear-gradient(270deg, rgba(7,15,17,0.75) 33%, rgba(7,15,17,0.6) 100%);
}

.page-landing-header-half {
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    color: #fff;
    gap: 3rem;
    align-items: center;
    height: 100%; 
    padding-bottom: 3.5rem;
}

.page-landing-header-half .card {
    display: inline-block;
    border-color:#e3a153 !important;
    margin-bottom: 1.75rem;
}

.page-landing-header-half .card-title {
    color:#1f353b;
    margin-bottom: 0;
    font-size: .8rem;
}

.page-landing-header-half * { z-index: 1; }

.page-landing-header-half .page-header-text {
    position: relative;
    bottom: unset;
    align-self: end;
    max-width: unset;
    margin-bottom: 7rem;
}

.page-landing-header-half .header-right {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.page-landing-usp {
    display: flex;
    align-items: center;
    justify-content: space-around;
    background-color: #1f353b;
    padding-top: 2.458rem;
    padding-bottom: 2.458rem;
    color: #9DF5FF;
}

.page-landing-usp span {
    font-size: .83rem;
}

.page-template-template-landing .page-header-program {
    margin-top: 0;
}

.page-template-template-landing .page-header-program .page-title:before {
    content: '';
    display: block;
    margin-bottom: 1.75rem;
    margin-left: calc(50% - 40px);
    width: 80px;
    height: 2px;
    background-color: #d8775f;
}

.page-template-template-landing .program-stats {
    margin-bottom: 3rem;
}

.page-template-template-landing .program-stats p {
    display: flex;
    align-items: center;
    justify-content: center;
}

.page-template-template-landing .program-stats span {
    font-size: 1.958rem;
    padding-right: .8rem;
}

.page-landing-column-text {
    padding: 3.5rem;
}

.page-landing-column-section h2 {
    margin-bottom: 3.5rem;
}

.page-landing-content-half {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 3rem;
    row-gap: 1rem;
}

.page-template-template-landing .footer-wave {
    background-color: #edf2fa;
}

.page-template-template-landing .nav-footer { justify-content: flex-end; }

/* form for landing page */

.page-template-template-landing #form > p { 
    margin-bottom: 0;
    padding: 0 24px; /* to match the form */
}

.landing-page-form .mat-mdc-card {
    background-color: transparent;
}

.landing-page-form .mat-mdc-card-header { display: none !important; }

.landing-page-form .lum-df-form .lum-df-label,
.landing-page-form .lum-df-mat-hint {
    color: #fff !important;
    font-size: .8rem;
}

.landing-page-form .lum-df-form .mat-hint,
.landing-page-form .lum-df-form .elm-recaptcha-branding,
.landing-page-form .lum-df-form .elm-recaptcha-branding a { 
    font-family: sans-serif;
    font-size: 12px !important;
    color: #CCC !important;
    margin-top: 1rem !important;
    box-shadow: none;
}

.landing-page-form .lum-df-form .mat-hint { color: #fff !important; }

.landing-page-form .elm-form-step-submit-btn {
    margin-top: .5em !important;
    background-color: #CC914A !important;
    border-color: #CC914A !important;
}

.landing-page-form .elm-form-step-submit-btn:hover {
    background-color: #e3a153 !important;
    border-color: #e3a153 !important;
}

.landing-page-form .mdc-text-field--filled:not(.mdc-text-field--disabled) {
    background-color: #fff !important;
}



@media screen and (max-width: 71.250em) /* 1140px */ {

    .page-landing-header-half,
    .page-landing-content-half {
        grid-template-columns: 1fr;
    }

    .page-landing-header-half .page-header-text {
        margin-top: 7rem;
        margin-bottom: 0;
    }

    .page-landing-header-half .header-right {
        padding-top: 0;
    }

    
}


/* --------------------------------------------------------------------------

   Elements - small design reusable elements

----------------------------------------------------------------------------- */

/* blockquotes and pullquotes for posts */

.single-post blockquote,
.single-post .pullquote {
    padding: 1.75rem;
    font-style: italic;
    background-color: #edf2fa;
    border-radius: 4px;
}

.single-post blockquote { margin-bottom: 1.75rem; }

.single-post blockquote > *:last-child { margin-bottom: 0; }

.single-post .pullquote.alignleft {
    max-width: 50%;
    margin-left: -3.5rem;
}

.single-post .pullquote.alignright {
    max-width: 50%;
    margin-right: -3.5rem;
}


/* blockquotes for full width */

.blockquote-full {
    margin-top: -35px; /* because of slant */
    margin-bottom: 35px;
    padding: 5.25em 0;
    background-color: #62648b;
    color: #fff;
    text-align: center;
    -webkit-transform: skewY(2deg);
            transform: skewY(2deg);
}

.blockquote-full .container {
    -webkit-transform: skewY(-2deg);
            transform: skewY(-2deg);
}

.blockquote-full p {
    font-style: italic;
    font-size:  1.25em;
    line-height: 2;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.blockquote-full cite {
    display: block;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64em;
    text-transform: uppercase;
    font-style: normal;
    letter-spacing: 1px;
    text-align: center;
}

.blockquote-full cite:before {
    content: '';
    display: block;
    margin-left: calc(50% - 20px);
    margin-bottom: 1.75rem;
    width: 40px;
    height: 2px;
    background-color: #bbbfc7;
}

.blockquote-full .btn {
    margin-top: .88rem;
    font-size: 0.512em;
}

/* smaller blockquotes */

.blockquote-small {
    padding: 3.5em;
    background-color: #1f353b;
    color: #fff;
}

.blockquote-small p {
    font-style: italic;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.blockquote-small cite {
    display: block;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64em;
    text-transform: uppercase;
    font-style: normal;
    letter-spacing: 1px;
    line-height: 2;
    color: #69c2d3;
}

.blockquote-small .btn { margin-top: 1.75rem; }

.blockquote-small-light {
    background-color: transparent;
    color: #1f353b;
}

.blockquote-small-light p {
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: none;
}

/* vertically centered aligned 2 columns */

.column {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.column-half {
    position: relative;
    width: 50%;
}

.column:not(.column-precise) .column-half:nth-child(odd) { margin-right: 3.5rem; }

.column-about .column-half:last-child { margin-top: -20%; }

.column-about .column-half:last-child img { display: block; }


/* alternating columns */

.column-stack .column { margin-bottom: 3.5rem; }

.column-stack .column:nth-child(even),
.column-reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

/* creates a 2 column style with a slanted line in the center */

.slanted {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 100px;
    margin-bottom: 1.75rem;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64em;
    color: #485f65;
}

.slanted div {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
}

.slanted div span {
    font-size: 2.458rem;
    padding-right: 10px;
}

.slanted div:first-child {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    line-height: 1.4;
    text-transform: uppercase;
}

.slanted > div:first-child:after {
    content: '';
    display: block;
    width: 130px;
    height: 2px;
    background-color: #485f65;
    -webkit-transform: rotate(-62deg);
            transform: rotate(-62deg);
}

.slanted .btn {
    font-size: 0.64rem;
    padding-bottom: 0;
}

.slanted p { margin-bottom: 0; }


/* an image with an overlay, similar to blockquote full */

.section-overlay {
    position: relative;
    background-image: url('/wp-content/themes/the-seattle-school/images/placeholder.jpg');
    background-size: cover;
    background-position: center;
    color: #fff;
}

.section-overlay { padding-bottom: 10rem; }

.section-overlay:after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(98, 100, 139, 0.9);
}

.section-overlay * { z-index: 2; }


/* definition list - used on text.soul.culture for about page */

.list-colored div {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -ms-flex-line-pack: center;
        align-content: center;
    font-style: italic;
}

.list-colored div:nth-child(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
        flex-flow: row-reverse;
    text-align: right;
}

.list-colored dt,
.list-colored dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.list-colored dt {
    position: relative;
    min-width: 40%;
    padding: 3.5rem 0;
    margin-right: 3.5rem;
}

.list-colored div:nth-child(even) dt {
    margin-right: 0;
    margin-left: 3.5rem;
}

.list-colored dt:after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 55%;
    top: 50%;
    right: 0;
    margin-right: -5rem;
    border-top: 2px solid #b8dbd9;
}

.list-colored div:nth-child(even) dt:after {
    left: 0;
    margin-left: -5rem
}

.list-colored dd { margin: 0 3.5rem; }

.list-colored div:nth-of-type(5n+1) dt { background-color: #62648b; }
.list-colored div:nth-of-type(5n+2) dt { background-color: #d8775f; }
.list-colored div:nth-of-type(5n+3) dt { background-color: #529077; }
.list-colored div::nth-of-type(5n+4) dt { background-color: #69c2d3; }
.list-colored div::nth-of-type(5n+5) dt { background-color: #485f65; }


/* list horizontal - used on core values about page */

.list-horizontal {
    margin: 1.75rem 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.list-horizontal div {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 33.33%;
            flex: 0 1 33.33%;
    margin-right: 2%;
    padding-right: 2%;
}

.list-horizontal div:not(:last-child) { border-right: 2px solid #bbbfc7; }

.list-horizontal dt { text-transform: uppercase; }

.list-horizontal dd { margin: 0; }

.list-horizontal div:nth-of-type(3n+1) dt { color: #d8775f; }
.list-horizontal div:nth-of-type(3n+2) dt { color: #62648b; }
.list-horizontal div:nth-of-type(3n+3) dt { color: #e3a153; }


/* video */

.video-component {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.video-component img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: center;
    object-position: center;
}

.video-card {
    position: absolute;
    left: 0;
    max-width: 26em;
    z-index: 1;
}

.video-content {
    padding: 1.75rem 3.5rem .88rem;
    background-color: rgba(237, 242, 250, 0.95);
    border-top-right-radius: 2px;
}

.video-title { margin-bottom: 1.75rem; }

.video-footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    border-bottom-right-radius: 2px;
    background-color: rgba(98, 100, 139, 0.95);
    color: #fff;
}

.video-footer a {
    padding: .88rem .88rem .6rem;
    width: 50%;
    border-radius: 0;
    text-align: center;
}



/* --------------------------------------------------------------------------

   Post Layout

----------------------------------------------------------------------------- */

.post-content { overflow: hidden; }

.post-content ul li {
    margin-bottom: .88rem;
}

.featured-image-wrap {
    max-width: 1024px;
    margin: 0 auto 3.5rem;
}

.featured-image-hide {
    display: none;
}

.post-header { margin-bottom: 3.5rem; }

.post-meta {
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64em;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
    margin-bottom: 1.75rem;
}

.post-meta-btn a { box-shadow: none; }

.post-meta-btn a:before {
    content: 'â€¹';
    font-size: 1.4em;
    line-height: 0;
    padding-right: 7px;
}

/* when headings follow each other */

.the-content h2 + h3 { margin-top: .88rem; }

.the-content p + h2,
.the-content ul + h2 { margin-top: 3.5rem; }

.the-content .btn + h2 { margin-top: 1.75rem; }

.post-footer {
    padding-top: 1.75rem;
    padding-bottom: 1.75rem;
}

.post-footer .post-meta { margin-bottom: 3.5rem; }

/* post author on single.php - added 8/15/18 */

.post-meta-author {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-bottom: 1.75rem;
}

.post-meta-author-avatar {
    width: 70px;
    height: 70px;
    margin-right: .75rem;
    border-radius: 100%;
}

.post-meta-author-title { margin-bottom: .88rem; }

.post-meta-author-title span {
    display: block;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-weight: 400;
    margin-bottom: .44rem;
}

.post-meta-author p { margin-bottom: .88rem; }

.post-meta-author .author-avatar {
    border-radius: 100%;
    margin-right: 3rem;
}

/* author page */

.author-avatar { max-width: 240px; }

.archive.author .section-small:after {
    content: '';
    display: table;
    clear: both;
}


/* --------------------------------------------------------------------------

   Events

----------------------------------------------------------------------------- */

.event-container:after,
.event-detail:after {
    content: '';
    display: table;
    clear: both;
}

.event-content {
    float: left;
    width: 65%;
}

.event-sidebar {
    float: left;
    width: 25%;
    margin-left: 10%;
    font-size: 0.8em;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
    color: #529077;
}

.event-detail { margin: 1.75rem 0; }

.event-detail p { margin-bottom: .88rem; }

.event-speaker {
    margin-bottom: 1.75rem;
}

.event-speaker:after {
    content: '';
    display: table;
    clear: both;
}

.event-speaker-img {
    float: left;
    padding-right: 1.75rem;
    max-width: 300px;
}


/* --------------------------------------------------------------------------

   Directory

----------------------------------------------------------------------------- */

.single-directory .main:after {
    content: '';
    display: table;
    clear: both;
}

.directory-content {
    float: left;
    width: 60%;
    padding-right: 3.5rem;
}

.directory-image {
    float: right;
    display: block;
    width: 40%;
}

.directory-meta { display: inline-block; }

.directory-content .directory-meta:first-child {
    margin-right: 3.5rem;
    text-transform: none;
}


/* --------------------------------------------------------------------------

   Card

----------------------------------------------------------------------------- */

.card-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.card {
    position: relative;
    margin-bottom: 1em;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(33.33% - 1.25em);
            flex: 0 1 calc(33.33% - 1.25em);
    border-radius: 2px;
    border-top: 9px solid;
    background-color: #edf2fa;
    -webkit-transition: .3s;
            transition: .3s;
}

.card-content {
    padding: .88rem;
}

.card-list .card { margin: 0 .5em 1em; }

.card-list-heading { margin-left: .5em; }

.card-img,
.card-img img {
    display: block;
}

.card-title { font-size: 1em; }

.card-excerpt,
.card-meta {
    color: #485f65;
    font-family: 'ff-scala-sans-web', sans-serif;
}

.card-excerpt p {
    font-size: 0.750em; /* not a part of our type scale, but looks better b/c of sans */
    line-height: 1.6;
    margin-bottom: .66rem;
}

.card-meta {
    font-size: 0.64em;
    line-height: 1.2;
    text-transform: uppercase;
    margin-bottom: .44rem;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
}


/* removes the last margin-bottom, add .card-stack to parent if you need to remove the margin from a collection of cards */

.card-stack .card:last-of-type { margin-bottom: 0; }


/* course list, half cards, and other types of card lists */

.course-list,
.card-list-half,
.home .event-list,
.card-list-related-posts {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
}

.card-list-related-posts .card {
    margin: 0 0 2% 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 48%;
            flex: 0 1 48%;
}

.card-list-related-posts .card-title { font-size: .8em; }

.course-list .card,
.card-list-half .card,
.home .event-list .card  {
    margin: 0 0 1em;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(50% - .5em);
            flex: 0 1 calc(50% - .5em);
}

.event-list .card {
    width: 100%;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
}

.course-list .card {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(25% - .5em);
            flex: 0 1 calc(25% - .5em);
}

.course-list .card-content { padding-bottom: 1.75rem; }

.course-list .card-title { margin-bottom: .88rem; }

.course-list .card-meta {
    position: absolute;
    bottom: 0;
}

.course-list .card-meta-hidden,
.course-list .card:hover .card-meta:not(.card-meta-hidden) { opacity: 0;}

.course-list .card:hover .card-meta-hidden { opacity: 1; }

/* directory cards */

.directory-list .card  {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(18% - .5em);
            flex: 0 1 calc(18% - .5em);
}

.directory-list .card-link img {
    width: 100%; /* fix for images being too small */
}

.directory-related:before{
    content: '';
    display: table;
    clear: both;
}
.directory-related {
    float: left;
    width: 100%;
}
.card-list-directory-related-posts {
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
}
.card-list-directory-related-posts .card {
    /* same as .card */
    -ms-flex: 0 1 calc(33.33% - 1.25em);
    flex: 0 1 calc(33.33% - 1.25em);
    margin: 0 1% 1% 0;
}



/* card hovers */

.card-link,
.card-link:hover {
    display: block;
    height: 100%;
    -webkit-transition: .3s;
    transition: .3s;
    -webkit-box-shadow: none;
            box-shadow: none;
}

.card-link:hover {
    color: #ebffff;
    background-color: #1f353b;
}

.card-link:hover .card-excerpt,
.card-link:hover .card-meta { color: #88a9a8; }

.card-link:hover img {
    opacity: .8;
}


/* a smaller card */

.card-small {
    border-top: none;
    border-left: 9px solid;
}

/* different color borders */

.card:nth-of-type(7n+1) { border-color: #62648b; }
.card:nth-of-type(7n+2) { border-color: #d8775f; }
.card:nth-of-type(7n+3) { border-color: #529077; }
.card:nth-of-type(7n+4) { border-color: #69c2d3; }
.card:nth-of-type(7n+5) { border-color: #485f65; }
.card:nth-of-type(7n+6) { border-color: #b8dbd9; }
.card:nth-of-type(7n+7) { border-color: #e3a153; }

.card-small:nth-of-type(7n+1) .card-meta { color: #62648b; }
.card-small:nth-of-type(7n+2) .card-meta { color: #d8775f; }
.card-small:nth-of-type(7n+3) .card-meta { color: #529077; }
.card-small:nth-of-type(7n+4) .card-meta { color: #69c2d3; }
.card-small:nth-of-type(7n+5) .card-meta { color: #485f65; }
.card-small:nth-of-type(7n+6) .card-meta { color: #b8dbd9; }
.card-small:nth-of-type(7n+7) .card-meta { color: #e3a153; }

/* for featured content area, mix up the colors */

.featured-content {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
}

.featured-content .column-half:first-child .card:nth-of-type(3n+1) { border-color: #69c2d3; }
.featured-content .column-half:last-child .card:nth-of-type(3n+1) { border-color: #d8775f; }
.featured-content .column-half:last-child .card:nth-of-type(3n+2) { border-color: #e3a153; }
.featured-content .column-half:last-child .card:nth-of-type(3n+3) { border-color: #62648b; }

/* featured card */

.card-featured { border: none; }

.card-featured .card-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.card-featured .card-content { padding: 1.75rem; }

.card-featured .card-img { position: relative; }

.card-featured img {
    -o-object-fit: cover;
       object-fit: cover;
    height: 100%;
    width: 100%;
    position: absolute;
}

.card-featured div { width: 50%; }

.card-featured .card-content { border-left: 9px solid #e3a153; }

.card-featured .card-meta { color: #e3a153 !important; }

.blog .card-featured {
    margin-top: 3.5rem;
    margin-bottom: 1.75rem;
}


/* timeline cards */

.timeline {
    position: relative;
    margin: 0;
    padding: 0;
    list-style: none;
}

.timeline:before {
    content: "";
    position: absolute;
    top: 0;
    bottom: -200px;
    left: calc(50% - 3px);
    width: 3px;
    background-color: rgba(195, 203, 205, 0.5);
}

.timeline li {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
}

.timeline .card {
    position: static;
    border-color: #69c2d3;
    max-width: 500px;
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
}

.timeline-year {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    text-align: center;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
    color: #69c2d3;
    font-weight: 700;
    font-size: 0.8em;
    letter-spacing: 1px;
}

.timeline-year span {
    padding: 8px;
    background-color: #fff;
}

/* alternate timeline layout */

.timeline li:nth-child(even) {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}


/* --------------------------------------------------------------------------

   Component - a foundation for a full (found on admissions layout) and
               boxed (found on programs layout)

----------------------------------------------------------------------------- */


.component {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 100vh;
    min-height: 800px;
}

.component img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
    -o-object-position: right;
       object-position: right;
    z-index: -1;
}

.component-bg {
    max-width: 32em;
    padding: 3.5rem;
}


/* alternating sides */

.component:nth-of-type(even) img { -o-object-position: left; object-position: left; }

.component:nth-of-type(even) { -webkit-box-pack: end; -ms-flex-pack: end; justify-content: flex-end; }

/* different colored buttons */

.component:nth-of-type(6n+1):not(.component-slanted) .btn { background-color: #62648b; border-color: #62648b; }
.component:nth-of-type(6n+1):not(.component-slanted) .btn:hover { color: #62648b; }

.component:nth-of-type(6n+2):not(.component-slanted) .btn { background-color: #d8775f; border-color: #d8775f; }
.component:nth-of-type(6n+2):not(.component-slanted) .btn:hover { color: #d8775f; }

.component:nth-of-type(6n+3):not(.component-slanted) .btn { background-color: #529077; border-color: #529077; }
.component:nth-of-type(6n+3):not(.component-slanted) .btn:hover { color: #529077; }

.component:nth-of-type(6n+4):not(.component-slanted) .btn { background-color: #69c2d3; border-color: #69c2d3; }
.component:nth-of-type(6n+4):not(.component-slanted) .btn:hover { color: #69c2d3; }

.component:nth-of-type(6n+5):not(.component-slanted) .btn { background-color: #485f65; border-color: #485f65; }
.component:nth-of-type(6n+5):not(.component-slanted) .btn:hover { color: #485f65; }

.component:nth-of-type(6n+6):not(.component-slanted) .btn { background-color: #e3a153; border-color: #e3a153; }
.component:nth-of-type(6n+6):not(.component-slanted) .btn:hover { color: #e3a153; }


/* ---- Component Full ---- */


.component-full {
    background: -webkit-gradient(linear, left top, right top, from(rgba(255,255,255,1)),color-stop(45%, rgba(255,255,255,1)),color-stop(70%, rgba(255,255,255,0)));
    background: linear-gradient(to right, rgba(255,255,255,1) 0%,rgba(255,255,255,1) 45%,rgba(255,255,255,0) 70%);
}

.component-full .component-heading:before,
.component-full .component-heading:after {
    content: '';
    display: inline-block;
    width: 15vw;
    border-top: 2px solid;
    margin: 0 .5em .25em 0;
}

.component-full .component-heading:after { content: none; }

.component-full .component-inner {
    position: absolute;
    z-index: 2;
    bottom: 25%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
            align-items: flex-start;
}

.component-full:nth-of-type(even) .component-inner {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
}

.component-full .component-bg {
    padding-bottom: 1.75rem;
    background-color: #edf2fa;
}

.component-full p { color: #485f65; }

.component-full .component-btn {
    text-align: right;
    margin-right: -7rem;
    color: #fff;
}

.component-full .component-btn .btn { -webkit-box-shadow: 0px 5px 25px 6px rgba(0, 0, 0, 0.05); box-shadow: 0px 5px 25px 6px rgba(0, 0, 0, 0.05); }

.component-full .btn:hover {
    background-color: #b8dbd9 !important;
    border-color: #b8dbd9 !important;
    color: #1f353b !important;
}

/* alternating sides */

.component-full:nth-of-type(even) {
    background: -webkit-gradient(linear, left top, right top, color-stop(30%, rgba(255,255,255,0)),color-stop(55%, rgba(255,255,255,1)),to(rgba(255,255,255,1)));
    background: linear-gradient(to right, rgba(255,255,255,0) 30%,rgba(255,255,255,1) 55%,rgba(255,255,255,1) 100%);
}
.component-full:nth-of-type(even) .component-heading { text-align: right; }
.component-full:nth-of-type(even) .component-heading:after { content: ''; margin: 0 0 .25em .5em; }
.component-full:nth-of-type(even) .component-heading:before { content: none; }
.component-full:nth-of-type(even) .component-btn { text-align: left; margin-left: -7rem; margin-right: 0; }

/* different colors */

.component-full:nth-of-type(6n+1) .component-heading { color: #62648b; }
.component-full:nth-of-type(6n+2) .component-heading { color: #d8775f; }
.component-full:nth-of-type(6n+3) .component-heading { color: #529077; }
.component-full:nth-of-type(6n+4) .component-heading { color: #69c2d3; }
.component-full:nth-of-type(6n+5) .component-heading { color: #485f65; }
.component-full:nth-of-type(6n+6) .component-heading { color: #e3a153; }


/* ---- Component Boxes ---- */


.component-boxed {
    margin-bottom: 14rem;
    padding-left: 20%;
}

.component-boxed .component-bg {
    position: absolute;
    left: 0;
    background-color: rgba(255, 255, 255, 0.95);
    -webkit-box-shadow: 0px 20px 100px 16px rgba(0, 0, 0, 0.1);
            box-shadow: 0px 20px 100px 16px rgba(0, 0, 0, 0.1);
}

.component-boxed img {
    -o-object-fit: cover;
       object-fit: cover;
}

.component-boxed .component-heading { margin-bottom: .5rem; }

.component-boxed p { margin-bottom: .88rem; }


/* alternating sides */

.component-boxed:nth-of-type(even) {  padding-left: 0; padding-right: 20%; }
.component-boxed:nth-of-type(even) .component-bg { left: auto; right: 0; }

/* different dek colors */

.component-boxed:nth-of-type(5n+1) .dek { color: #62648b; }
.component-boxed:nth-of-type(5n+2) .dek { color: #d8775f; }
.component-boxed:nth-of-type(5n+3) .dek { color: #529077; }
.component-boxed:nth-of-type(5n+4) .dek { color: #69c2d3; }
.component-boxed:nth-of-type(5n+5) .dek { color: #485f65; }


/* ---- Component Slanted ---- */


.component-slanted {
    margin-bottom: 7rem;
    height: auto;
    min-height: auto;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    -webkit-box-align: normal;
        -ms-flex-align: normal;
            align-items: normal;
    overflow: hidden;
    -webkit-box-shadow: 0px 20px 100px 16px rgba(0, 0, 0, 0.025);
            box-shadow: 0px 20px 100px 16px rgba(0, 0, 0, 0.025);
}

.component-slanted .component-bg {
    position: relative;
    -webkit-box-flex: 4;
    -ms-flex-positive: 4;
    flex-grow: 4;
    width: 100%;
    background-color: #fff;
}

.component-slanted .component-bg:after {
    content: '';
    position: absolute;
    right: -30vw;
    bottom: 0;
    width: 30vw;
    height: 100%;
    -webkit-transform: skewY(-11deg) rotate(180deg);
    transform: skewY(-111deg);
    -webkit-transform-origin: left top;
            transform-origin: left top;
    z-index: 10;
    background-color: #fff;
}

.component-slanted .component-inner { max-width: 32rem; }

.component-slanted .component-bg { max-width: none; }

.component-slanted .component-btn {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.component-slanted .component-btn:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(98, 100, 139, 0.9);
}

.component-slanted .component-btn .btn { z-index: 2; }

.component-slanted .slanted { margin-bottom: 0; }

.component-slanted .dek { color: #62648b; }



/* --------------------------------------------------------------------------

   Course Page Layout

----------------------------------------------------------------------------- */

.course-term { margin-bottom: 7rem; }

.course-term h3 { margin-top: 3.5rem !important; }

.course-header-row,
.course-row {
    display: flex;
    font-feature-settings: "lnum","tnum";
    font-family: ff-scala-sans-web,sans-serif;
}

.course-header-row {
    border-bottom: 2px solid #b8dbd9;
    font-size: .64em;
    text-transform: uppercase;
    padding-top: 0.875rem !important;
}

.course-row {
    font-size: .8em;
}

.course-header-row span,
.course-row div {
    flex: 1;
    padding: 5px;
}

.course-header-row span:first-of-type,
.course-row div:first-of-type {
    flex: .5;
}

.course-header-row span:last-of-type,
.course-row div:last-of-type {
    flex: .3;
    text-align: center;
}

.courses-sidebar {
    position: sticky;
    top: 0;
}

.courses-sidebar .menu li:first-child a { border-top: none; }


/* --------------------------------------------------------------------------

   Footer

----------------------------------------------------------------------------- */

.footer-main {
    position: relative;
    background-color: #1f353b;
    padding: 3.5rem 1.75rem;
    color: #edf2fa;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-family: 'ff-scala-sans-web', sans-serif;
    font-size: 0.64em;
    text-transform: uppercase;
    font-variant-numeric: lining-nums;
    -webkit-font-feature-settings: "lnum", "tnum";
            font-feature-settings: "lnum", "tnum";
}

.footer-main p { margin-bottom: .88rem; }

.footer-wave {
    position: relative;
    z-index: 2;
    overflow: hidden;
}

.footer-wave svg {
    display: block;
    width: calc(100% + 4px);
    margin-left: -2px;
}

.footer-left,
.footer-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}

.footer-left { width: 40%; }

.footer-right { width: 60%; }

.footer-info {
    width: 70%;
    padding-left: 1.75rem;
}

.footer-seal { width: 30%; }




/* --------------------------------------------------------------------------

   WordPress Classes

----------------------------------------------------------------------------- */


.alignnone {
    margin: 10px 1.75rem 1.75rem 0;
}

.aligncenter,
div.aligncenter {
    display: block;
    margin: 10px auto .88rem auto;
}

.alignright {
    float:right;
    margin: 10px 0 .88rem 1.75rem;
}

.alignleft {
    float: left;
    margin: 10px 1.75rem .88rem 0;
}

a img.alignright {
    float: right;
    margin: 10px 0 1.75rem 1.75rem;
}

a img.alignnone {
    margin: 10px 1.75rem 1.75rem 0;
}

a img.alignleft {
    float: left;
    margin: 10px 1.75rem 1.75rem 0;
}

a img.aligncenter {
    display: block;
    margin-left: auto;
    margin-right: auto
}

.wp-caption {
    text-align: center;
}

.wp-caption.alignnone {
    margin: 10px 1.75rem 1.75rem 0;
}

.wp-caption.alignleft {
    margin: 10px 1.75rem .88rem 0;
}

.wp-caption.alignright {
    margin: 10px 0 .88rem 1.75rem;
}

.wp-caption img {
    border: 0 none;
    height: auto;
    margin: 0;
    max-width: 98.5%;
    padding: 0;
    width: auto;
}

.wp-caption p.wp-caption-text {
    font-size: 0.64em;
    font-family: 'ff-scala-sans-web', sans-serif;
    margin: 0;
    padding: .88rem;
    color: #5e6360;
}

/* Text meant only for screen readers. */
.screen-reader-text {
	clip: rect(1px, 1px, 1px, 1px);
	position: absolute !important;
	height: 1px;
	width: 1px;
	overflow: hidden;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	color: #21759b;
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	font-weight: bold;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000; /* Above WP toolbar. */
}




/* --------------------------------------------------------------------------

   Helper Classes

----------------------------------------------------------------------------- */


/* quick alignment */

.align-center { text-align: center; }
.align-left   { text-align: left; }
.align-right  { text-align: right; }

/* hide visually and from screen readers */

.hidden { display: none !important; }


/* hide visually, content accessible to screen readers */

.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
    white-space: nowrap;
}


/* hide visually and from screen readers, without affecting the layout */

.invisible { visibility: hidden; }




/* --------------------------------------------------------------------------

   Media Queries - Focused on Width

----------------------------------------------------------------------------- */

@media screen and (max-width: 118.750em) /* 1900px */ {

    .container {
        padding-right: 3.5rem;
        padding-left: 3.5rem;
    }

    .container-content { max-width: 50.17rem; }

    .container-content-narrow { max-width: 35rem; }

}

@media screen and (max-width: 106.250em) /* 1700px */ {

    html { font-size: 137.5%; /* 22px */ }

    .container-content { max-width: 53.67rem; }

    .container-content-narrow { max-width: 38.5rem; }

}

@media screen and (max-width: 93.750em) /* 1500px */ {

    html { font-size: 125%; /* 20px */ }

    .sub-menu { font-size: 1em; }

    .nav-main,
    .nav-secondary,
    .nav-sidebar ul { font-size: 14px; }

}

@media screen and (max-width: 87.5em) /* 1400px */ {

    .directory-list .card {
        -webkit-box-flex: 0;
        -ms-flex: 0 1 calc(24% - 1em);
        flex: 0 1 calc(24% - 1em);
    }

}

@media screen and (max-width: 78.125em) /* 1250px */ {

    .timeline .card { max-width: 400px; }

}

@media screen and (max-width: 71.250em) /* 1140px */ {

    .container {
        padding-right: 1.75rem;
        padding-left: 1.75rem;
    }

    .column-half:nth-child(odd) { margin-right: 1.75rem; }

    .column-about {
        width: 100%;
        -webkit-box-orient: vertical;
     -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    }

    .column-about .column-half { width: 100%; }

    .column-about .column-half:last-child {
        margin-top: 0;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
    }

    .column-about .column-half:last-child img {
        width: 50%;
        height: 100%;
    }

    .footer-main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse;
    }

    .footer-left,
    .footer-right {
        width: 100%;
    }

    .component-slanted .component-bg:after { content: none; }

    .program-list li {
        width: 100%;
        padding-right: 0;
    }

    .single-post .pullquote.alignright { margin-right: 0; }

    .single-post .pullquote.alignleft { margin-left: 0; }

    .post-meta-author-large {
        -webkit-box-orient: vertical;
     -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
         -webkit-box-align: flex-start;
            -ms-flex-align: flex-start;
               align-items: flex-start;
    }

    .post-meta-author-large .author-avatar { margin-right: 0; }

}

@media screen and (max-width: 64em) /* 1024px */ {

    /* slight line height adjustment for headings added 09-2024 */
    h1, h2, h3, h4, h5, h6 {
        line-height: calc(3px + 2ex + 3px); 
    }

    /* this is where the mobile nav activates */

    .page-title { font-size: 1.958em; }

    .page-header-text { max-width: 30em; }

    .page-header-img:before { height: 45%; }

    .page-title br { display: none; }

    .column {
        width: 100%;
        -webkit-box-orient: vertical !important;
     -webkit-box-direction: normal !important;
        -ms-flex-direction: column !important;
            flex-direction: column !important;
    }

    .column-half {
        width: 100%;
        margin: .88rem auto !important;
    }

    .featured-content .column-half { margin-bottom: 0 !important; }

    .card-list .card {
        margin: 0 .25em .5em;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(50% - 1em);
                flex: 0 1 calc(50% - 1em);
    }

    .directory-list .card {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(33% - 1em);
                flex: 0 1 calc(33% - 1em);
    }

    .course-list .card,
    .card-list-half .card,
    .home .event-list .card {
        -webkit-box-flex: 0;
                -ms-flex: 0 1 100%;
                    flex: 0 1 100%;
    }

    .video-component {
        -webkit-box-orient: vertical;
     -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    }

    .video-component img {
        width: inherit;
        height: auto;
    }

    .video-content { padding: 1.75rem .88rem .88rem; }

    .video-card {
        position: relative;
        max-width: none;
    }

    .blockquote-small { padding: 3.5rem .88rem; }

    .list-colored div,
    .list-colored div:nth-child(even) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .list-colored dt {
        min-width: 25%;
        padding: 1.75rem 0;
    }

    .list-colored dd {
        margin: 1.75rem;
        text-align: center;
    }

    .list-colored dt:after { content: none; }

    .list-horizontal {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }

    .list-horizontal div:not(:last-child) {
        border-right: 0;
        border-bottom: 2px solid #bbbfc7;
        margin-bottom: 1.75rem;
        padding-bottom: 1.75rem;
    }

    .timeline li,
    .timeline li:nth-child(even) {
        justify-content: center;
        margin-bottom: 1.75rem;
    }

    .timeline .card { max-width: 700px; }

    .timeline-year {
        position: relative;
        margin-bottom: .88rem;
    }

    .timeline-year span { background: transparent; }

    .align-center br { display: none; }

    .component-slanted { display: block; }

    .component-slanted .component-btn { height: 300px; }

    .event-sidebar,
    .event-content,
    .directory-content,
    .directory-image {
        float: none;
        width: 100%;
        margin: 0;
    }

    .directory-image {
        max-width: 400px;
        margin-bottom: 1.75rem;
    }


    .nav-more > a {
        background: none;
        text-indent: 0;
        border-radius: 0;
        border: none;
        height: auto;
    }

    .header-search {
        padding: 6px 3px 3px;
        vertical-align: middle;
    }

    .slanted { display: block; }

    .slanted > div:first-child:after { content: none; }

    .component-full {
        display: block;
        height: auto;
        min-height: 0;
    }

    .component-full .component-bg {
        position: relative;
        max-width: none;
        padding-left: .88rem;
        padding-right: .88rem;
    }

    .component-full .component-inner {
        position: relative;
        display: block;
        background: #edf2fa;
        padding-top: 3.5rem;
    }

    .component-full .component-btn {
        margin: 0 !important;
        text-align: left;
    }

    .component-full .component-heading {
        text-align: left !important;
        padding-left: .88rem;
        padding-right: .88rem;
    }

    .component-full:nth-of-type(even) .component-heading:after { content: none; }

    .component-full .component-heading:before { content: none; }

    .sidebar-template {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }

    .sidebar-right {
        padding-left: 0;
        margin-bottom: 1.75rem;
    }

    .nav-sidebar li { display: inline-block; }

    .nav-sidebar li:not(:last-child):after {
        content: '/';
        opacity: .5;
        margin: 0 .44rem;
    }

    .nav-sidebar a,
    .nav-sidebar li:first-child a {
        display: inline-block;
        border: none;
        padding-top: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .nav-sidebar a:hover,
    .nav-sidebar .current-menu-item a {
        background-color: transparent;
        color: #69c2d3;
    }

    .page-programs:not(.page-template-templates-programs) .footer-wave,
    .page-template-templates-programs main:has(.program-section-conted) + .footer-wave,
    .page-about .footer-wave,
    .page-home .footer-wave,
    .page-admissions .footer-wave,
    .event-series + .footer-wave  { margin-top: -70px; }

}

@media screen and (max-width: 50em) /* 800px */ {

    .header-logo { width: 200px; }

    .header-main {
        padding-top: 1.25rem;
        padding-bottom: 1.25rem;
    }

    .nav-secondary { margin-bottom: 1.25rem; }

    .btn { font-size: 0.8em; }


    .container {
        padding-right: .88rem;
        padding-left:  .88rem;
    }

    .card-list .card {
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(100% - 1em);
                flex: 0 1 calc(100% - 1em);
    }

    .directory-list .card {
        margin: 0 .25em .5em;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 calc(50% - 1em);
                flex: 0 1 calc(50% - 1em);
    }

    .footer-left,
    .footer-right {
        justify-content: flex-start;
        align-items: normal;
    }

    .footer-left {
        flex-direction: column-reverse;
    }

    .footer-info {
        width: 100%;
        margin: 1.75rem 0;
        padding-left: 0;
        text-align: center;
    }

    .footer-seal { margin: 0 auto; }

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

    .nav-footer div { width: 100%; }

    .column-about .column-half:last-child {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
    }
    .column-about .column-half:last-child img { width: 100%; }

    .component {
        display: block;
        height: auto;
        min-height: 0;
    }

    .component-bg {
        position: relative;
        max-width: none;
        padding-left: .88rem;
        padding-right: .88rem;
    }

    .component-boxed {
        min-height: 0;
        height: auto;
        padding: 0 !important;
    }

    .component-boxed .component-bg {
        position: relative;
        max-width:
    }

    .program-stats {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .footer-wave { display: none; }

    .btn + .btn:not(.video-next):not(.btn-text) { margin-top: .44rem; }

    .toggle-title:after {
        width: 30px;
        height: 30px;
        font-size: 30px;
        line-height: 22px;
    }

    .toggle-title:after { top: calc(50% - 15px ); }

    .alignright,
    .alignleft,
    a img.alignright,
    a img.alignnone,
    a img.alignleft {
        float: none;
        margin-left: 0;
        margin-right: 0;
    }

    .single-post .pullquote.alignright,
    .single-post .pullquote.alignleft {
        max-width: 100%;
    }

    .card-featured .card-link {
        display: block;
    }

    .card-featured div { width: 100%; }

    .card-featured .card-img { height: 200px; }

}

@media screen and (max-width: 40em) /* 640px */ {

    html { font-size: 100%; /* 16px */ }

    .p-small,
    .card-excerpt p,
    .slanted { font-size: 1em; }

    .nav-main,
    .nav-secondary,
    .card-meta,
    .nav-taxonomy { font-size: .8em; }

    #header-alert-active .page-header-text { bottom: 25%; }

}

@media screen and (max-width: 35em) /* 560px */ {


    .header-main {
        text-align: center;
        padding: 10px;
    }

    .header-logo { padding-top: 0; }

    .nav-container { float: none; }

    .nav-secondary {
        font-size: .8em;
        text-align: center;
        margin: 15px 0 0;
    }

    .nav-secondary li { margin: 0 .88rem; }

    .mean-container a.meanmenu-reveal {
        position: relative;
        margin: auto;
        padding: 5px;
        height: auto;
        margin-bottom: 10px;
    }

    .btn-right {
        float: none;
        padding-left: .88rem;
    }

    .container .btn-right { padding-left: 0; }


    .btn + .btn:not(.video-next):not(.btn-text) { margin-left: 0; }


}


/* --------------------------------------------------------------------------

   Media Queries - Height

----------------------------------------------------------------------------- */


@media screen and (max-height: 41.875em) /* 670px */ {

    .page-header {
        height: 80vh;
        min-height: 450px;
    }

    .page-template-template-program .page-header {
        height: 35vh;
        min-height: 250px;
    }


}


/* --------------------------------------------------------------------------

   Print

----------------------------------------------------------------------------- */


@media print {
    *,
    *:before,
    *:after,
    *:first-letter,
    *:first-line {
        background: transparent !important;
        color: #000 !important; /* Black prints faster:
                                   http://www.sanbeiji.com/archives/953 */
        -webkit-box-shadow: none !important;
                box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href]:after {
        content: " (" attr(href) ")";
    }

    abbr[title]:after {
        content: " (" attr(title) ")";
    }

    /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    /*
     * Printing Tables:
     * http://css-discuss.incutio.com/wiki/Printing_Tables
     */

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
}
