@font-face {
    font-family: "Bilo";
    src: url("https://use.typekit.net/af/515965/0000000000000000775147ec/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff2"),url("https://use.typekit.net/af/515965/0000000000000000775147ec/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("woff"),url("https://use.typekit.net/af/515965/0000000000000000775147ec/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n4&v=3") format("opentype");
    font-display: auto;
    font-style:normal;
    font-weight: 400;
    font-stretch:normal;
}

@font-face {
    font-family: "Bilo-Bold";
    src: url("https://use.typekit.net/af/571e0c/000000000000000077510538/31/l?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff2"),url("https://use.typekit.net/af/571e0c/000000000000000077510538/31/d?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("woff"),url("https://use.typekit.net/af/571e0c/000000000000000077510538/31/a?primer=7cdcb44be4a7db8877ffa5c0007b8dd865b3bbc383831fe2ea177f62257a9191&fvd=n7&v=3") format("opentype");
    font-display: auto;
    font-style:normal;
    font-weight: 700;
    font-stretch:normal;
}

:root {
    --black: rgb(0,0,0);
    --black30: rgba(0,0,0,0.3);
    --lt-gray: rgb(240,240,240);
    --mid-gray: rgb(180,180,180);
    --gray: rgb(125,125,125);
    --dk-gray: rgb(80,80,80);
    --white: rgb(255,255,255);
    --schoolsnavy: rgb(33,37,76);
    --acp-primary: rgb(236,28,39);
    --ada-primary: rgb(28,117,187);
    --cms-primary: rgb(237,70,19);
    --isp-primary: rgb(59,169,161);
    --iep-primary: rgb(81,167,64);
    --el-primary: rgb(237,48,98);

    --container-padding: 0 80px;
    --box-shadow: 2px 2px 5px 0 rgba(0,0,0,0.3);
    --text-shadow: 2px 2px 2px rgba(0,0,0,0.75);
    --transition: all .3s ease 0s;

    --primary-color: var(--schoolsnavy);
    --accent-color: var(--cms-primary);

    --heading-font-bold: "Bilo Bold", sans-serif;
    --body-font: "Bilo", sans-serif;
}

* {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -webkit-font-smoothing: antialiased;
    -webkit-text-size-adjust: none;
}

.cms-text-\[rgb\(188\,33\,49\)\] {
    color: var(--schoolsnavy) !important;
}

.icon-title-container > p,
.icon-title-container a.features-link,
.icon-title-container a.features-link:focus,
.icon-title-container a.features-link:hover {
    color: var(--black);
    font-weight: 400;
    font-size: 30px;
    line-height: 40px;
    margin: 0 0 8px 12px !important;
    text-decoration: none;
}

.icon-title-container a.features-link:focus,
.icon-title-container a.features-link:hover {
    color: var(--primary-color);
    font-weight: 400;
    text-decoration: underline;
}

.icon-title-container a.features-link {
    align-items: flex-end;
    display: flex;
}

a.features-link svg {
    height: auto;
    margin-left: 6px;
    transition: var(--transition);
    width: 14px;
}

.features-grid > div > div {
    margin-top: 22px;
}

.icon-title-container a.features-link:focus svg,
.icon-title-container a.features-link:hover svg {
    margin-left: 12px;
}

html,
body {
    height: 100%;
}

body {
    background: var(--white);
    display: flex;
    flex-direction: column;
    font-size: 130%;
    margin: 0;
    padding: 0;
}

body,
p,
p a,
table,
td,
tr,
blockquote p,
.main_body_size ol li,
.main_body_size ul li {
    color: var(--black);
    font-family: var(--body-font);
    font-size: 22px;
    font-weight: 400;
    line-height: 36px;
    margin: 0;
    padding: 8px 0;
}

.main_body_size ol li,
.main_body_size ul li {
    padding: 0;
}

input,
textarea,
select {
    border: 2px solid var(--mid-gray);
    border-radius: 4px !important;
    font-family: var(--body-font);
    font-size: 20px;
    line-height: 34px;
    padding: 5px 16px;
}

blockquote {
    background: var(--white);
    border: 4px solid var(--cms-primary);
    margin: 16px 0;
    padding: 16px;
}

blockquote p {
    color: var(--schoolsnavy);
    font-weight: 600;
}

.main_body_size ol,
.main_body_size ul {
    display: block;
    margin: 0 0 16px;
}

img,
div.figure {
    border: none;
    height: auto;
    max-width: 100%;
}

img,
svg,
svg *,
a,
button,
input,
select,
textarea {
    transition: var(--transition);
}

button {
    cursor: pointer;
    font-family: var(--body-font);
}

a,
a:link,
a:visited {
    color: var(--ada-primary);
    font-weight: 400;
    text-decoration: underline;
}

a:hover,
a:focus {
    color: var(--ada-primary);
    font-weight: 700;
    text-decoration: underline;
}

.cta-buttons {
    align-items: center;
    display: flex;
}

a.button-class,
.button-class {
    align-items: center;
    background: var(--schoolsnavy);
    border: 1px solid var(--dk-gray);
    border-radius: 10px;
    box-shadow: var(--box-shadow);
    color: var(--white);
    cursor: pointer;
    display: flex;
    font-size: 22px;
    font-weight: 400;
    line-height: 22px;
    margin: 16px 0;
    padding: 8px 16px 10px;
    text-decoration: none;
    width: max-content;
}

a.button-class.light,
.button-class.light {
    background: var(--white);
    color: var(--schoolsnavy);
}

a.button-class + a.button-class,
.button-class + .button-class {
    margin-left: 16px;
}

a.button-class svg,
.button-class svg {
    opacity: 0;
    margin: 0;
    padding: 0;
    width: 0;
}

a.button-class:focus,
a.button-class:hover,
.button-class:focus,
.button-class:hover {
    background: var(--schoolsnavy);
    color: var(--white);
}

a.button-class svg path,
.button-class svg path {
    fill: var(--white);
}

a.button-class:focus svg,
a.button-class:focus svg,
.button-class:hover svg,
.button-class:hover svg {
    opacity: 1;
    margin: 0 0 0 8px;
    width: 10px;
}

a.button-class.light:focus,
a.button-class.light:hover,
.button-class.light:focus,
.button-class.light:hover {
    background: var(--white);
    color: var(--schoolsnavy);
}

input[type="reset"].button-class.light:focus,
input[type="reset"].button-class.light:hover {
    background: var(--schoolsnavy);
    color: var(--white);
}

a.button-class.light svg path,
.button-class.light svg path {
    fill: var(--schoolsnavy);
}

#entranceText .button-class {
    font-size: 24px;
    line-height: 24px;
    margin-top: 30px;
    padding: 16px 32px;
}

#entranceText .button-class:focus svg,
#entranceText .button-class:hover svg {
    width: 16px;
}

a[href$=".pdf"]:after,
a[href$=".psd"]:after,
a[href$=".png"]:after,
a[href$=".jpg"]:after,
a[href$=".jpeg"]:after,
a[href$=".doc"]:after,
a[href$=".docx"]:after,
a[href$=".mov"]:after,
a[href$=".mp3"]:after,
a[href$=".mp4"]:after,
a[href$=".mpeg"]:after {
    font-size: 0.5em;
    margin: 0 8px;
}

a[href$=".pdf"]:after {
    content: "[PDF]";
}

a[href$=".psd"]:after {
    content: "[PSD]";
}

a[href$=".png"]:after {
    content: "[PNG]";
}

a[href$=".jpg"]:after {
    content: "[JPG]";
}

a[href$=".jpeg"]:after {
    content: "[JPEG]";
}

a[href$=".doc"]:after {
    content: "[DOC]";
}

a[href$=".docx"]:after {
    content: "[DOCX]";
}

a[href$=".mov"]:after {
    content: "[MOV]";
}

a[href$=".mp3"]:after {
    content: "[MP3]";
}

a[href$=".mp4"]:after {
    content: "[MP4]";
}

a[href$=".mpeg"]:after {
    content: "[MPEG]";
}

header a,
header a:link,
header a:visited,
footer a,
footer a:link,
footer a:visited {
    color: var(--black);
    font-weight: 400;
    text-decoration: none;
}

h1,
.titletext,
h2,
.event-modal-title,
h3,
h3.tool_heading,
h4,
h5,
h6 {
    font-family: var(--heading-font-bold);
    font-weight: 700;
    margin: 0;
    padding: 0;
    position: relative;
    text-align: left;
}

h1,
.titletext {
    color: var(--schoolsnavy);
    font-size: 44px;
    line-height: 54px;
    margin: 8px 0;
    padding: 0;
    text-shadow: var(--text-shadow);
}

#entranceText h1 {
    color: var(--white);
    font-size: 60px;
    line-height: 72px;
    margin: 0;
}

.dynamic-lp #entranceText h1 {
    font-size: 54px;
    line-height: 66px;
}

h2,
.event-modal-title {
    color: var(--schoolsnavy);
    font-size: 40px;
    line-height: 50px;
    margin-bottom: 8px;
}

.homeRow h2 {
    font-size: 48px;
    line-height: 60px;
}

h3,
h3.tool_heading {
    color: var(--dk-gray);
    font-size: 34px;
    line-height: 44px;
}

h3.tool_heading {
    border-bottom: 4px solid var(--accent-color);
    color: var(--schoolsnavy);
    margin-bottom: 16px;
    padding: 0;
}

h4 {
    color: var(--schoolsnavy);
    font-size: 30px;
    line-height: 40px;
}

h5 {
    color: var(--accent-color);
    font-size: 28px;
    line-height: 36px;
}

h6 {
    color: var(--schoolsnavy);
    font-size: 24px;
    line-height: 30px;
    text-transform: uppercase;
}

hr {
    background: var(--cms-primary);
    border: none;
    height: 4px;
    margin: 16px 0;
}

.cf {
    clear: both;
    float: none;
}

.detail_iform table,
.detail_iform tbody,
.detail_iform tr,
.detail_iform td {
    margin: 0;
    padding: 0;
}

.detail_iform tr {
    align-items: center;
    display: flex;
}

.detail_iform .redtext {
    order: 2;
}

.detail_iform .redtext:last-child {
    display: none;
}

.detail_iform label,
.detail_iform .iform-radio .iform-label p {
    display: block !important;
    margin: 8px 4px 8px 24px !important;
}

.detail_iform iframe {
    margin: 8px 4px 8px 24px;
}

.detail_iform label.iform-input-label-radio {
    margin: 8px 24px 8px 4px !important;
}

.detail_iform label.iform-input-label-checkbox {
    font-size: 20px;
    line-height: 24px;
    margin-left: 8px;
}

p.form-paragraph {
    display: flex;
}

p.form-paragraph ~ div .iform-input-text-box {
    margin-left: 24px;
}

p.button-group-wrapper {
    display: flex;
    margin: 8px 4px 8px 24px;
}

tbody.iform-form-wrapper {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.iform-form-wrapper tr.iform-details {
    margin-right: 24px;
    padding-bottom: 24px;
}

.iform-form-wrapper tr.iform-details.text-input-element,
.iform-form-wrapper tr.iform-details.text-area-element,
.detail_iform table.iform-checkbox .iform-checkbox-wrapper > tr,
.iform-form-wrapper input[type="text"],
.iform-form-wrapper select,
.iform-form-wrapper textarea,
p.form-paragraph ~ div .iform-input-text-box {
    width: 380px;
}

tbody.iform-form-wrapper,
.iform-form-wrapper tr.iform-details,
.iform-form-wrapper tr.iform-details.check-box-element + tr.iform-details.text-area-element,
.iform-form-wrapper tr.iform-details.check-box-element + tr.iform-details.text-area-element textarea,
.iform-form-wrapper tr.iform-details.text-area-element + tr.iform-details.text-area-element textarea,
.iform-form-wrapper tr.iform-details.radio-btn-element + tr.iform-details.text-area-element,
.iform-form-wrapper tr.iform-details.radio-btn-element + tr.iform-details.text-area-element textarea,
table.iform-text-area,
.detail_iform table.iform-checkbox,
.detail_iform table.iform-checkbox .iform-checkbox-wrapper {
    width: 100%;
}

.detail_iform tr.radio-btn-element .iform-radio fieldset > div > table > tbody {
    display: flex;
    flex-wrap: wrap;
}

.iform-form-wrapper textarea {
    height: 80px;
}

.iform-form-wrapper p,
.iform-form-wrapper label {
    font-size: 20px;
    line-height: 26px;
}

input.iform-input-checkbox,
label.iform-input-label-checkbox {
    cursor: pointer;
}

.detail_iform table.iform-checkbox {
    padding-left: 24px;
}

.detail_iform table.iform-checkbox .iform-checkbox-wrapper {
    align-items: flex-start;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}

/* Form located at '/get-started' */
#form663724 #answertext29 {
    height: 48px;
}

img {
    border: none;
    height: auto;
    max-width: 100%;
}

.accessible {
    display: none;
}

.accessible:focus {
    display: inline-block;
}

.sr-only {
    border: 0;
    clip: rect(35,31,32,0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.sr-only-focusable:active,
.sr-only-focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.js-hidden {
    display: none !important;
}

/***PAGE LAYOUT***/
.wrapper {
    float: left;
    margin: 0;
    padding: var(--container-padding);;
    max-width: 100%;
    width: 100%;
    height: 100%;
    position: relative;
    transition: var(--transition);
}

header {
    align-items: center;
    background: var(--white);
    border-top: 2px solid var(--gray);
    box-shadow: var(--box-shadow);
    display: flex;
    height: 65px;
    justify-content: flex-end;
    left: 0;
    padding: var(--container-padding);
    position: fixed;
    top: 0;
    transition: var(--transition);
    width: 100%;
    z-index: 999;
}

#logo a {
    align-items: center;
    display: flex;
}

#logo img {
    padding: 4px 0;
    width: 200px;
}

main {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    margin-top: 58px;
}

main.dynamic-lp {
    margin-top: 20px;
}

/***FOOTER***/
.footer {
width: 100%;
position: relative;
float: left;
border-top: 0.1em solid rgb(222,
222,
223);
}

.footer ul {
margin: 0;
padding: 0;
list-style: none;
width: 100%;
position: relative;
display: inline-block;
}

.footer ul li {
display: inline-block;
position: relative;
}

#footerTop {
padding: 3em 0;
width: 100%;
float: left;
position: relative;
}

#footerLogo {
position: relative;
width: 40%;
float: left;
vertical-align: top;
}

#footerLogo #agencyLogo {
width: 42%;
margin-right: 8%;
position: relative;
float: left;
}

#footerLogo #agencyLogo:after {
content: '';
position: absolute;
top: 50%;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
right: -12%;
width: 0.1em;
height: 50%;
background: rgb(222,
222,
222)
}

#footerLogo #productLogo {
width: 48%;
position: absolute;
top: 50%;
right: 0;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
}

#footerAddress {
width: 15%;
margin: 0 5%;
position: relative;
float: left;
vertical-align: top;
}

#footerAddress li {
width: 100%;
margin: 0 0 0.65em;
}

#footerAddress a {
color: var(--schoolsnavy);
font-weight: 700;
}

#footerAddress a:hover,
#footerAddress a:focus,
#footerAddress a:active {
color: var(--schoolsnavy);
text-decoration: none;
}

#footerAddress span {
font-weight: 700;
}

#footerAddress span.icon {
font-size: 1.5em;
float: left;
color: var(--schoolsnavy);
}

#footerAddress span.title {
font-size: 0.95em;
position: absolute;
top: 50%;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
left: 2em;
color: var(--schoolsnavy);
}

#socialIcons {
width: 20%;
text-align: center;
float: left;
vertical-align: top;
}

#socialIcons li {
margin: 0 0.25em;
}

#socialIcons a {
margin: 0 0.25em;
width: 3.4em;
height: 3.4em;
background: var(--schoolsnavy);
-webkit-border-radius: 50%;
border-radius: 50%;
color: var(--white);
position: relative;
display: inline-block;
}

#socialIcons a span.icon {
font-size: 1.5em;
line-height: 0.8em;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
transform: translate(-50%,
-50%);
}

#socialIcons li:nth-child(2n) a {
background: rgb(237,
124,
49);
}

#socialIcons a:hover,
#socialIcons a:focus,
#socialIcons a:active,
 #socialIcons li:nth-child(2n) a:hover,
 #socialIcons li:nth-child(2n) a:focus,
 #socialIcons li:nth-child(2n) a:active {
background: rgb(222,
222,
222);
color: var(--schoolsnavy);
}

#footerButtons {
width: 15%;
float: right;
vertical-align: top;
}

#footerButtons li {
width: 100%;
text-align: right;
margin: 0 0 0.5em;
}

/* footerBtm */
#footerBtm {
background: var(--schoolsnavy);
padding: 0.5em 0;
width: 100%;
overflow: hidden;
position: relative;
}

#credit {
font-size: 1em;
line-height: 2em;
flex: 1 1 70%;
display: flex;
align-items: center;
}

#credit p {
padding: 0;
color: var(--white);
line-height: 1.35em;
position: relative;
font-size: .85em;
margin-right: 10px;
}

#credit ul {
padding: 0;
list-style: none;
margin: 0;
flex-basis: 20%;
}

#credit ul li {
display: inline-block;
position: relative;
}

#credit ul li:before {
content: '';
position: absolute;
left: 0;
top: 50%;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
width: 0.1em;
height: 70%;
background: var(--white);
}

#credit ul li a {
width: 100%;
padding: 1.25em 1em;
font-size: .85em;
line-height: 1em;
color: var(--white);
opacity: 1;
font-weight: 400;
}

#credit ul li:first-child a {
padding-left: 0;
}

#credit ul li:first-child:before {
display: none;
}

#CMS4SchoolsLogo {
display: flex;
flex-basis: 30%;
justify-content: flex-end;
padding-top: 5px;
}

#CMS4SchoolsLogo a {
display: flex;
}

#CMS4SchoolsLogo a svg {
height: auto;
max-width: 230px;
opacity: 1;
transition: var(--transition);
}

#CMS4SchoolsLogo a:hover svg {
opacity: .8;
}

#footerBtm .wrapper {
float: unset;
display: flex;
}

#translate {
display: inline-block;
width: 100%;
text-align: center;
padding: 0 0 2em;
}

#translate #google_translate_element {
width: 100%;
display: inline-block;
color: var(--white);
}
#translate #google_translate_element .goog-te-gadget {
font-size: 0.8em!important;
}

#translate #google_translate_element .goog-te-gadget .goog-te-combo {
width: 100%;
font-weight: 400;
font-size: 1em;
padding: 0.85em 5%;
background: rgba(255,
255,
255,
0.3);
border: 1px solid var(--white);
color: var(--white);
font-family: 'Poppins',
sans-serif!important;
font-style: italic!important;
}

#translate #google_translate_element .goog-te-gadget .goog-te-combo option {
color: var(--black)!important;
font-style: none;
}

.goog-te-gadget,
.goog-logo-link,
 .goog-logo-link:link,
 .goog-logo-link:visited,
 .goog-logo-link:hover,
 .goog-logo-link:active {
color: var(--white)!important;
}

#search {
width: 100%;
display: inline-block;
position: relative;
position: relative;
padding: 0 0 2em;
}

#search .icon-search {
position: absolute;
top: 50%;
left: calc(75% - 2.5em);
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
line-height: 1em;
color: var(--white);
}

#search form {
width: 100%;
padding: 0;
display: inline-block;
text-align: center;
font-size: 0.8em;
position: relative;
margin-top: 0.75em;
}

#search form label {
width: 100%;
font-size: 0.9em;
}

#search input[type="search"] {
width: 75%;
padding: 0.85em 5%;
font-size: 1em;
float: left;
background: rgba(255,
255,
255,
0.35);
border: 1px solid var(--white);
font-style: italic;
color: var(--white);
line-height: 1em;
}

#search input[type="submit"] {
border: none;
}

#search input[type="submit"] {
color: var(--black);
font-weight: 600;
width: 20%;
position: absolute;
right: 0;
top: 0;
height: 100%;
background: rgba(255,
255,
255,
0.35);
color: var(--white);
border: 1px solid var(--white);
}

#search input[type="submit"]:hover,
 #search input[type="submit"]:active,
 #search input[type="submit"]:focus {
background: var(--schoolsnavy);
color: var(--black);
border: 1px solid var(--schoolsnavy);
}

/***Modal Windows*/
.modal {
display: none;
}

.no-scroll {
overflow: hidden;
}

/***INTERIOR***/
.leftNav {
position: relative;
z-index: 9;
float: left;
width: 100%;
height: 100%;
padding: 2.5em 5.5%;
}

.middleColumn {
    float: right;
    overflow: hidden;
    padding: 16px 100px 32px;
    position: relative;
    width: 100%;
    z-index: 9;
}

.main_body_size {
width: 100% !important;
margin: 0;
position: relative;
padding: 0;
float: left;
overflow: hidden;
z-index: 0;
}

.middle_when_right_side_bar {
width: 68%;
padding: 0!important;
margin: 0;
float: left;
overflow: hidden;
}

.middle_when_no_right_side_bar {
width: 100%;
padding: 0;
margin: 0;
position: relative;
z-index: 1;
display: block;
overflow: hidden;
}

.no-left .middle_when_no_right_side_bar {
width: 100%;
padding: 0!important;
}

.detail_padding {
    padding: 24px 0;
    display: inline-block;
}

.cms-inline {
    display: inline-block !important;
}

.custom-centered > div > div {
    display: flex;
    justify-content: center;
    align-items: center;
}

.custom-centered > div > div > .cms-float-right {
    order: 2;
}

.middle_when_right_side_bar .detail_padding,
.middle_when_no_right_side_bar .detail_padding,
.no_right_side_bar_right_padding .detail_padding {
    display: inline-block;
    margin: 0;
    position: relative;
    width: 100%;
}

.middle_when_right_side_bar h3.tool_heading,
 .middle_when_no_right_side_bar h3.tool_heading {
    margin-bottom: 0.75em;
}

/**** Theme Library Page ****/
#detailid_935060 {
    margin-top: -30px;
    padding-top: 0;
}

#detailid_935060 section a {
    background: var(--black);
    border: 1px solid var(--mid-gray);
    border-radius: 6px;
    display: block;
    height: 300px;
    margin: 60px 0 0;
    overflow: hidden;
    padding: 0;
    position: relative;
    text-decoration: none;
    width: 90%;
}

#detailid_935060 .cms-w-full {
    height: fit-content;
}

#detailid_935060 section a .button-class {
    left: 50%;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: var(--transition);
    transition-delay: .5s;
}

#detailid_935060 section a:focus .button-class,
#detailid_935060 section a:hover .button-class {
    opacity: 1;
}

#detailid_935060 section a .theme-image {
    opacity: 1;
    transition: var(--transition);
    transition-delay: .5s;
}

#detailid_935060 section a:focus .theme-image,
#detailid_935060 section a:hover .theme-image {
    opacity: .6;
}

#detailid_935060 section a .theme-image > div {
    position: absolute;
    top: 0;
    transition: all .9s ease 0s;
    transition-delay: .2s;
    width: 100%;
}

#detailid_935060 section a:focus .theme-image > div,
#detailid_935060 section a:hover .theme-image > div {
    top: -400px;
}

#detailid_935060 section a .theme-image img {
    object-fit: cover;
    width: 100%;
}

#detailid_935060 section a:focus .theme-image img,
#detailid_935060 section a:hover .theme-image img {
    transform: scale(1.015);
}

#detailid_935060 section .icon-title-container a {
    background: var(--white);
    border: none;
    color: var(--schoolsnavy);
    padding: 0;
    height: auto;
    width: auto;
    margin: 24px 0 0;
    font-size: 34px;
    line-height: 40px;
    text-decoration: none;
}

#detailid_935060 section .icon-title-container a:focus,
#detailid_935060 section .icon-title-container a:hover {
    color: var(--schoolsnavy);
    background: var(--white);
    text-decoration: underline;
}

/* Interior Banner */
#banner {
    position: relative;
}

#banner .banner-image {
    height: 100%;
    overflow: hidden;
    position: absolute;
    width: 100%;
}

#banner .page-title {
    display: flex;
    flex-direction: column;
    padding: 32px 100px;
    position: relative;
    width: 80%;
}

.page-title p {
    align-items: flex-start;
    color: var(--dk-gray);
    display: flex;
    font-size: 20px;
    line-height: 30px;
    padding-top: 8px;
}

.page-title svg {
    height: auto;
    margin-right: 8px;
    padding-top: 5px;
    width: 12px;
}

.page-title svg path {
    fill: var(--schoolsnavy);
}

.banner-image img {
    height: 100%;
    object-fit: cover;
    width: 100%;
}

.banner-image ~ .page-title h1 {
    color: var(--white);
}

.banner-image ~ .page-title p {
    color: var(--lt-gray);
}

#banner.landing-page #slideOverlay {
position: absolute;
width: 100%;
height: 15vw;
left: 0;
bottom: -2px;
background: url(custom/images/interior/asset_banner_overlay.png) 0 0 no-repeat;
background-size: 102% 100%;
}

.titletext.pagetitle_padding {
width: 100%;
padding: 0.7em 5% 1.5em;
}

#banner .main-slider {
position: absolute;
top: 0;
right: 0;
width: 82%;
height: 100%;
display: inline-block;
}

#banner .main-slider .slide {
height: 37vw;
}

/***Slide Show***/
.detail_slideshow div {
width: 100%!important;
display: inline-block;
}

/***Calendar***/
table.calTopBannerShell {
    margin: 0;
    padding: 0;
}

.detail_calendar .headerbg,
.detail_member_directory .headerbg {
    background: var(--schoolsnavy);
    border: none;
    color: var(--white);
}

.detail_calendar table table tr {
    border-color: rgb(239,239,239);
}

.detail_calendar .headerbg a,
.detail_member_directory .headerbg a {
    align-items: center;
    color: var(--white);
    display: flex;
    font-family: var(--heading-font);
    font-size: 26px;
    line-height: 26px;
    text-decoration: none;
    transition: var(--transition);
}

.detail_calendar .headerbg a .title,
.detail_member_directory .headerbg a .title {
    margin: 0 8px;
    text-decoration: none;
    transition: var(--transition);
}

.detail_calendar .headerbg a:hover,
.detail_member_directory .headerbg a:hover {
    color: var(--white);
    font-weight: 400;
    text-decoration: none;
}

.detail_calendar .headerbg a:hover .title,
.detail_calendar .headerbg a:focus .title,
.detail_member_directory .headerbg a:hover .title,
.detail_member_directory .headerbg a:focus .title {
    text-decoration: underline;
}

.detail_calendar .headerbg a span.icon,
.detail_member_directory .headerbg a span.icon {
    color: var(--white);
    font-size: 20px;
    line-height: 20px;
    padding: 0;
}

table.calTopBanner > tbody > tr {
    align-items: center;
    display: flex;
    justify-content: space-between;
}

table.calTopBanner > tbody > tr > td {
    align-items: center;
    display: flex;
    padding: 0;
}

table.calTopBanner > tbody > tr > td:last-child {
    justify-content: flex-end;
}

.detail_calendar .headerbg .headertext,
.detail_member_directory .headerbg .headertext {
    color: var(--white);
    display: block;
    font-family: var(--heading-font);
    font-size: 36px;
    font-weight: 700;
    line-height: 36px;
    padding: 0;
}

.detail_calendar .headerbg,
.detail_calendar .header2bg {
    border: none;
}

.detail_calendar .header2bg {
    background-color: var(--schoolsnavy);
    border-color: var(--schoolsnavy);
    color: var(--white);
}

.detail_calendar .header2bg .header2text {
color: var(--white);
font-family: var(--heading-font);
padding: 0.5em 0.5em 0.25em;
text-align: left;
font-size: 0.9em;
line-height: 1em;
text-transform: uppercase;
font-weight: 700;
}

.detail_calendar .borderstyle {
border: 1px solid rgb(239,
239,
239);
}

.detail_calendar div table table td table td {
    padding: 8px;
}

.detail_calendar a.callink {
    font-size: 22px;
    display: block;
    line-height: 30px;
    padding: 0 0 16px;
    text-decoration: none;
}

.detail_calendar a.callink:focus,
.detail_calendar a.callink:hover {
    font-weight: 400;
    text-decoration: underline;
}

.detail_calendar .calBottomBannerShell .headertext {
display: none;
}

.detail_calendar .calBottomBannerShell .headerlink {
display: inline-block;
padding: 0.5em 0;
}

.detail_calendar .calTopBannerShell select,
 .detail_calendar .calTopBannerShell input[type="submit"] {
height: auto!important;
line-height: 1em;
padding: 0;
font-size: 0.6em;
}

.detail_calendar .caltblDate {
width: 100%;
border-bottom: 2em solid var(--schoolsnavy);
}

.detail_calendar .calYearShell .caltblDate,
.detail_calendar .calMonthShell .caltblDate {
border: none;
}

.detail_calendar .caltblDate a.callink {
width: 95%;
padding: 0.75em 2.5%;
}

.detail_calendar .calDateToolsShell,
.detail_calendar .caltblCat {
text-transform: capitalize;
}

.detail_calendar .calYearShell .header2bg .header2text {
border-bottom: 0.25em solid var(--schoolsnavy);
}

.today_highlight {
background-color: rgb(250,
250,
250);
}

.detail_calendar .calListShell .alternatebg1,
.detail_calendar .calListShell .alternatebg2 {
background: none;
}

/* Alternating row background colors */
.alternatebg1 {
background-color: rgb(250,
250,
250);
}

.alternatebg2 {
background-color: rgb(238,
236,
236);
}

/*Lunch Menu*/
.detail_lunchmenu .headerbg {
background: var(--schoolsnavy);
border-color: rgb(239,
239,
239);
color: var(--white);
}

.detail_lunchmenu table {
border-color: transparent;
}

.detail_lunchmenu table table tr {
border-color: rgb(239,
239,
239);
}

.detail_lunchmenu .headerbg a {
font-family: 'Poppins' ,
 sans-serif;
color: var(--white);
font-size: 0.9em;
text-transform: uppercase;
font-weight: 400;
transition: var(--transition);
}

.detail_lunchmenu .headerbg a:hover {
opacity: 0.8;
text-decoration: none;
}

.detail_lunchmenu .headerbg a span.icon {
font-size: 1em;
padding: 0 1em;
}

.detail_lunchmenu .headerbg .headertext {
font-family: 'Poppins' ,
 sans-serif;
font-weight: 700;
text-transform: uppercase;
color: var(--white);
padding: 0.4em 0;
font-size: 1.75em;
line-height: 1em;
}

.detail_lunchmenu .headerbg,
.detail_lunchmenu .header2bg {
border-color: transparent;
}

.detail_lunchmenu .header2bg {
background-color: rgb(238,
236,
236);
border-color: rgb(238,
236,
236);
color: var(--black);
}

.detail_lunchmenu .header2bg .header2text {
color: var(--black);
font-family: 'Poppins' ,
 sans-serif;
padding: 0.5em 0.5em 0.25em;
text-align: left;
font-size: 0.9em;
line-height: 1em;
text-transform: uppercase;
font-weight: 700;
}

.detail_lunchmenu .borderstyle {
border: 1px solid rgb(239,
239,
239);
}

.detail_lunchmenu .alternatebg1,
.detail_lunchmenu .alternatebg2 {
background: none;
}

/*Faculty List*/
.detail_facultylist .headerbg {
background-color: var(--schoolsnavy) !important;
color: var(--white);
font-size: 0.8em;
}

.detail_facultylist tr.headerbg .headertext,
 .detail_facultylist tr.headerbg a.headerlink {
color: var(--white) !important;
padding: 0.4em 0.25em;
text-transform: uppercase;
font-family: var(--body-font);
}

.detail_facultylist tr.headerbg a.headerlink:hover {
color: #fefefe !important;
}

.detail_facultylist form {
margin-bottom: 2em;
}

.detail_facultylist form[name="search_results2"] {
margin: 2em 0 0;
}

.detail_facultylist form input {
padding: 0 0.5em;
}

.detail_facultylist .alternatebg1 td,
.detail_facultylist .alternatebg2 td {
padding: 0.75em;
line-height: 1.15em;
font-size: 0.9em;
}

.detail_facultylist .inside_bg td {
padding: 0 0;
}

.detail_facultylist img {
min-width: 100px;
padding-right: 5%;
}

/*Announcements*/
.detail_announcements2 h4 {
width: 100%;
padding: 0 0 1em 0;
margin: 0;
font-style:normal;
font-size: 1.7em;
font-weight: 700;
}

.detail_announcements2 .annShell {
width: 100%;
display: inline-block;
margin-bottom: 2em;
padding-bottom: 2em!important;
border-bottom: 0.22em solid var(--schoolsnavy);
}

/*Profiles*/
.detail_profiles img {
min-width: 10em;
}

/*Photo Gallery*/
.detail_photogallery .inside_bg {
border:none!important
}

/*News/Resources*/
.detail_news tr {
display: inline-block;
margin: 0 0.75em 0 0;
vertical-align: top;
}

.detail_news td {
padding: 0!important;
}

/*Slideshow*/
.detail_rightslideshow div {
width: 100%!important;
max-width: 100%!important;
}

/***Responsive Embeds***/
.video-container {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}

.video-container iframe,
 .video-container object,
 .video-container embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

/***Sitemap***/
.detail_sitemap .headerbg {
width: 75%;
float: left;
background: var(--black);
font-size: 1.15em;
padding-left: 20px!important;
}

.detail_sitemap div {
width: 85%;
float: left;
padding-top: 0.25em!important;
padding-bottom: 0.25em!important;
}

.detail_sitemap .headerbg a {
color: var(--white);
}

/***right side***/
#sidebar_content {
width: 28%;
padding: 0;
margin: 0 2%;
position: relative;
z-index: 2;
float: right;
}

#sidebar_content .right_per_detail {
width: 100%;
margin: 0 0 2em;
padding: 0;
display: inline-block;
position: relative;
}

#sidebar_content blockquote:before {
left: 0;
}

#sidebar_content .right_hr_top {
display: none;
}

#sidebar_content h3.tool_heading {
font-family: var(--body-font);
font-weight: 600;
width: 100%;
font-size: 1.4em;
padding: 0.75em 5% 0.75em;
line-height: 1em;
color: var(--schoolsnavy);
overflow: hidden;
letter-spacing: 0;
border: none;
float: left;
position: relative;
z-index: 2;
position: relative;
background: rgb(248,
248,
248);
border-bottom: 0.1em solid var(--schoolsnavy);
}

#sidebar_content h3.tool_heading:after {
content: '';
position: absolute;
left: 0;
top: 100%;
background: var(--black);
}

#sidebar_content .right_per_detail .right_content {
font-size: 90%;
width: 100%;
padding: 1.85em 5% 1.15em;
overflow: hidden;
display: inline-block;
position: relative;
z-index: 1;
margin-top: 0;
border: 1px solid rgb(194,
194,
194);
}

#sidebar_content .right_per_detail .right_content.wHeading {
margin-top: -4.25em;
min-height: 6em;
}

#sidebar_content .righttext_per_photo {
display: inline-block;
width: 120%;
margin: -1.85em 0 1.5em -10%;
}

#sidebar_content .righttext_per_photo img {
width: 100%;
}

#sidebar_content .right_per_detail blockquote p,
 #sidebar_content .right_per_detail blockquote div {
font-size: 1em;
}

#sidebar_content .right_per_detail p:last-child {
padding-bottom: 0px;
}

#sidebar_content .right_hr_bottom hr,
 #sidebar_content .right_hr_top hr {
display: none;
}

#sidebar_content .right_hr_bottom {
display: none;
}

/*translator*/
#sidebar_content .detail_translator .right_content {
display: none;
}

/*quick links */
#sidebar_content .detail_quicklinks {
text-transform: capitalize;
font-family: var(--body-font);
font-weight: 400;
color: var(--black);
margin-bottom: 1.25em !important;
}

#sidebar_content .detail_quicklinks form {
display: inline-block;
width: 100%;
}

#sidebar_content .detail_quicklinks form div {
padding: 0!important;
display: inline-block;
width: 100%;
}

#sidebar_content .detail_quicklinks select {
float: left;
height: auto!important;
font-size: 1.1em;
}

#sidebar_content .detail_quicklinks input[type="submit"] {
height: auto!important;
font-size: 1.1em;
padding: 0;
}

#sidebar_content .detail_quicklinks .right_content a[title="Contract List"],
 #sidebar_content .detail_quicklinks .right_content a[title="Expand/Contract List"],
 #sidebar_content .detail_quicklinks .right_content a[title="Expand List"] {
font-family: 'Oswald', sans-serif;
font-weight: 600;
font-size: 1.25em;
margin: 0;
}

#sidebar_content .detail_quicklinks .right_content a {
margin: 0.5em 0;
display: inline-block;
}

/*upcoming events */
#sidebar_content .right_per_detail ul li.upcoming_events_slide {
display: inline-block;
width: 100%;
}

#sidebar_content .right_per_detail ul li.upcoming_events_slide li {
width: 100%;
display: inline-block;
}

#sidebar_content .dateBox {
margin: 0.25em 0;
width: 100%;
font-family: 'Oswald' ,
 sans-serif;
font-size: 1.25em;
font-weight: 500;
line-height: 1.1em;
}

#sidebar_content .upcoming_events_time {
font-size: 1em;
width: 100%;
float: left;
overflow: hidden;
}

#sidebar_content .upcoming_events_event {
padding: 0.25em 5% 0.75em;
width: 100%!important;
font-size: 1.1em;
line-height: 1.05em;
}

#sidebar_content .upcoming_events_bottom {
padding-bottom: 0;
}

/*News*/
#sidebar_content .detail_rightnews ul {
list-style-type: none;
padding: 0;
margin: 0;
}

#sidebar_content .detail_rightnews ul li {
width: 100%!important;
}

#sidebar_content .detail_rightnews ul ul li {
padding: 0;
margin: 0 0 1em 0;
}

#sidebar_content .detail_rightnews ul ul li:last-child {
background:none !important;
padding-top: 0px;
margin-top: 0px;
border: none;
}

#sidebar_content .detail_rightnews a.right_news_style,
 #sidebar_content .detail_rightnews ul li strong {
text-transform: capitalize;
font-size: 1em!important;
margin-bottom: 0.5em;
display: inline-block;
width: 100%;
font-family: var(--body-font);
text-decoration: none;
font-weight: 700;
}

/*detail_announcements*/
.detail_announcements2 p {
margin: 0;
padding: 0
}

#sidebar_content .detail_announcements2r p {
margin: 0;
padding: 0;
font-size: 1em !important;
overflow: hidden;
}

#sidebar_content .detail_announcements2r h4 {
font-family: var(--body-font);
font-size: 1.4em;
font-style:normal;
margin: 1em 0 0;
padding: 0 0 0.25em;
font-weight: 700;
text-decoration: none;
line-height: 1.1em;
text-transform: capitalize;
}

#sidebar_content .detail_announcements2r h4:first-child {
padding-top: 0;
background: none;
margin-top: 0;
border: none;
}

#sidebar_content .detail_announcements2r h4 a {
text-transform: capitalize;
}

#sidebar_content .detail_announcements2r h4 a:hover {
text-decoration: none;
}

#sidebar_content .detail_announcements2r a {
text-decoration: none;
}

#sidebar_content .detail_announcements2r a:hover {
text-decoration: underline;
}

#sidebar_content .detail_announcements2r ul.bxslider ul li {
margin: 0 0 1.5em;
}

#sidebar_content .detail_announcements2r img {
max-width: 100%!important;
margin: 0 0 1em!important;
}

/*slideshow */
#sidebar_content .detail_rightslideshow .right_content {
padding-top: 15px;
height: auto;
}

/* calendar links */
.detail_minical h4 {
font-family: 'Oswald', sans-serif;
color: var(--black);
padding: 0.6em 0 0;
margin: 0;
font-size: 1.1em;
font-weight: 700;
font-style:normal;
}

.detail_minical ul {
padding: 0;
margin: 0;
}

.detail_minical ul li a {
margin: 0.5em 0 0 0;
display: inline-block;
font-weight: 600;
}

table.minical {
width: 100%;
border-spacing: 0;
border-collapse: collapse;
}

.minical_wrapper table tr td table {
border-spacing: 0;
margin-bottom: 0;
}

.minical_wrapper table tr,
 .minical_wrapper table tr td {
vertical-align: middle !important;
}

.minical_wrapper .headerbg td a {
display: block;
}

.minical_wrapper .headerbg a span.title {
display: none;
}

.minical_wrapper .headerbg td:first-child,
 .minical_wrapper .headerbg td:first-child + td + td {
width: auto !important;
}

.minical_wrapper .headerbg td:first-child + td {
width: auto !important;
}

.minical_wrapper .headerbg td:first-child {
text-align: left;
}

.minical_wrapper .headerbg td:first-child + td + td a {
float: right;
}

.minical_wrapper .headerbg td:first-child a {
margin: 0 0.5em 0 0;
z-index: 1;
position: relative;
}

.minical_wrapper .headerbg td:first-child + td + td a {
margin: 0 0 0 0.5em;
position: relative;
}

.minical_wrapper {
padding: 0px;
}

.minical_wrapper .headerbg,
 .minical_wrapper .headerbg .headerlink {
text-decoration: none;
font-weight:normal !important;
}

.minical_wrapper .headerbg .headertext,
 .minical_wrapper .header2bg .header2text {
font-size: 1.2em;
text-transform: capitalize;
font-family: 'Oswald', sans-serif;
font-weight: 600;
color: var(--black);
padding: 0;
}

.minical_wrapper .header2bg .header2text {
font-size: 0.8em;
padding: 0.8em 0 0.46em 0;
color: var(--black);
text-align: center;
}

.minical_wrapper tr.header2bg {
border-top: none;
}

.minical_wrapper tr.header2bg td {
background-color: transparent;
}

.minical_wrapper .alternatebg1 {
background-color: transparent;
height: 2em;
width: 2.5em;
padding: 0px 0 0px;
color: var(--black);
}

.minical_wrapper .alternatebg2 {
height: 30px;
padding: 0;
color: var(--black);
width: 2.5em;
}

.minical_wrapper td.headerbg {
color: var(--black);
padding: 0;
height: 2em;
width: 2.5em;
}

.minical_wrapper .detail_minical {
padding-bottom: 0;
}

.minical_wrapper .alternatebg1,
 .minical_wrapper .alternatebg2,
 .minical_wrapper .callink {
color: var(--black) !important;
font-weight:normal !important;
font-size: 1em;
font-family: 'Poppins' ,
 sans-serif;
text-align: center;
}

.minical_wrapper .callink {
color: var(--schoolsnavy) !important;
}

.minical_wrapper .callink:hover {
color: var(--black) !important;
text-decoration:none !important;
}

.minical_wrapper td.headerbg {
height: 2em;
width: 2.5em;
background: var(--black);
color: var(--white);
font-size: 1em;
}

.minical_wrapper td.headerbg .headerlink {
color: var(--white) !important;
font-weight:normal !important;
}

.minical_wrapper td.headerbg .headerlink:hover {
color: var(--white) !important;
font-weight:normal !important;
opacity: 0.8;
}

.minical_wrapper .alternatebg1,
 .minical_wrapper .alternatebg2 {
background-color: transparent;
}

.redtext {
    color: rgb(221,30,63);
    font-size: 22px;
    font-weight: 400;
}

.colorsquare {
    display: none;
}

.detail_textgraphic .figure img {
    border-radius: 1.5em;
    box-shadow: var(--box-shadow);
}

.detail_textgraphic ul,
.detail_textgraphic ol {
font-size: 0.9em;
margin: 1.5em 0;
color: var(--schoolsnavy);
}

/** LANDING PAGES **/
.homeRow.product-offerings {
    margin-bottom: 80px;
}

.detail_textgraphic a strong,
.detail_textgraphic strong a,
 .detail_righttext a strong,
.detail_righttext strong a,
 .detail_news a.news_style,
 .button {
font-size: 0.85em;
font-family: var(--body-font);
line-height: 1em;
font-weight: 600;
display: inline-block;
vertical-align: top;
color: var(--black);
background: var(--white);
text-align: center;
padding: 1.35em 1.5em;
border: 1px solid var(--black);
-webkit-border-radius: 0.5em;
border-radius: 0.5em;
transition: var(--transition);
position: relative;
background: none;
}

.button.reverse {
color: var(--white)!important;
border-color: var(--white);
}

.detail_textgraphic a:hover strong,
.detail_textgraphic strong a:hover,
 .detail_righttext a:hover strong,
.detail_righttext strong a:hover,
 .detail_textgraphic a:focus strong,
.detail_textgraphic strong a:focus,
 .detail_righttext a:focus strong,
.detail_righttext strong a:focus,
 .detail_textgraphic a:active strong,
.detail_textgraphic strong a:active,
 .detail_righttext a:active strong,
.detail_righttext strong a:active,
 .detail_news a.news_style:active,
.detail_news a.news_style:focus,
.detail_news a.news_style:hover,
 .button:active,
.button:hover,
.button:focus,
 .button.reverse:hover,
.button.reverse:focus,
.button.reverse:active {
    background: var(--schoolsnavy);
    border-color: var(--schoolsnavy);
    color: var(--white);
    text-decoration: none;
}

.button-cta {
    font-weight: 400;
    display: inline-block;
    margin: 0.5em 0.5em 0.5em 0;
    position: relative;
    transition: var(--transition);
}

.button-cta span.icon {
font-size: 1.5em;
line-height: 1em;
padding: 0.5em;
color: var(--white);
-webkit-border-radius: 50%;
border-radius: 50%;
position: relative;
display: inline-block;
z-index: 1;
background: rgb(236,
111,
44);
transition: var(--transition);
}

.button-cta span.title {
position: absolute;
font-size: 1em;
font-weight: 700;
line-height: 1em;
padding: 1em 1.5em 1em 2.5em;
background: rgb(248,
248,
248);
color: rgb(223,
43,
18);
z-index: 0;
left: 50%;
top: 0;
width: 500%;
border-top-right-radius: 0.5em;
border-bottom-right-radius: 0.5em;
transition: var(--transition);
}

.button-cta:hover span.icon,
 .button-cta:focus span.icon,
 .button-cta:active span.icon {
background: var(--schoolsnavy);
}

.button-cta:hover span.title,
 .button-cta:focus span.title,
 .button-cta:active span.title {
color: var(--schoolsnavy);
}

.button-cta.cta-demo span.icon {
background: rgb(20,
11,
66);
background: -moz-linear-gradient(45deg,
 rgba(20,
11,
66,
1) 0%,
 rgba(22,
17,
95,
1) 100%);
background: -webkit-linear-gradient(45deg,
 rgba(20,
11,
66,
1) 0%,
rgba(22,
17,
95,
1) 100%);
background: linear-gradient(45deg,
 rgba(20,
11,
66,
1) 0%,
rgba(22,
17,
95,
1) 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#140b42',
 endColorstr='#21254C',
GradientType=1 );
}

.button-cta.cta-demo span.title {
color: var(--schoolsnavy);
}

.button-cta.cta-demo:hover span.title,
 .button-cta.cta-demo:focus span.title,
 .button-cta.cta-demo:active span.title {
color: rgb(223,
43,
18);
}

.button-cta.cta-demo:hover span.icon,
 .button-cta.cta-demo:focus span.icon,
 .button-cta.cta-demo:active span.icon {
background: rgb(223,
43,
18);
}

.button-cta.cta-connect span.icon,
 .button-cta.cta-contact span.icon {
background: rgb(183,
36,
16);
background: -moz-linear-gradient(45deg,
 rgba(183,
36,
16,
1) 0%,
 rgba(223,
43,
18,
1) 100%);
background: -webkit-linear-gradient(45deg,
 rgba(183,
36,
16,
1) 0%,
rgba(223,
43,
18,
1) 100%);
background: linear-gradient(45deg,
 rgba(183,
36,
16,
1) 0%,
rgba(223,
43,
18,
1) 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#b72410',
 endColorstr='#df2b12',
GradientType=1 );
}

.button-cta.cta-connect:hover span.icon,
 .button-cta.cta-contact:hover span.icon,
 .button-cta.cta-connect:focus span.icon,
 .button-cta.cta-contact:focus span.icon,
 .button-cta.cta-connect:active span.icon,
 .button-cta.cta-contact:active span.icon {
background: rgb(116,
118,
123);
}

.button-cta.cta-connect:hover span.title,
 .button-cta.cta-contact:hover span.title,
 .button-cta.cta-connect:focus span.title,
 .button-cta.cta-contact:focus span.title,
 .button-cta.cta-connect:active span.title,
 .button-cta.cta-contact:active span.title {
color: rgb(116,
118,
123);
}

/***iconFeature***/
#iconFeature {
margin: 2em 0 0;
padding: 2.5em 0!important;
width: 100%;
position: relative;
background: rgb(248,
248,
248);
float: left;
}

#iconFeature ul {
width: 100%;
display: inline-block;
position: relative;
margin: 0;
padding: 0;
list-style: none;
text-align: center;
}

#iconFeature ul li {
width: 17%;
margin: 0.5em 1% 1.5em;
display: inline-block;
vertical-align: top;
}

#iconFeature .itemInner {
width: 100%;
position: relative;
height: 14em;
float: left;
overflow: hidden;
}

#iconFeature .itemTop {
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
background: var(--white);
border: 1px solid #A7A9AC;
transition: var(--transition);
}

#iconFeature .itemBtm {
width: 100%;
height: 1em;
overflow: hidden;
position: absolute;
bottom: 0;
left: 0;
background: var(--schoolsnavy);
border: 1px solid var(--schoolsnavy);
transition: var(--transition);
}

#iconFeature li.iconColor1 .itemBtm {
background: var(--schoolsnavy);
}

#iconFeature li.iconColor2 .itemBtm {
background: #E42B12;
}

#iconFeature li.iconColor0 .itemBtm {
background: var(--gray);
}

#iconFeature .itemBtm .itemWrap {
height: 0;
overflow: hidden;
}

#iconFeature .itemWrap {
position: absolute;
top: 50%;
left: 0;
width: 100%;
padding: 0 2%;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
}

#iconFeature .iconWrap {
width: 5em;
height: 5em;
border-radius: 50%;
background: var(--gray);
color: var(--white);
display: inline-block;
line-height: 1em;
margin: 0 0 1em;
position: relative;
}

#iconFeature .iconWrap .icon {
font-size: 2.75em;
line-height: 1em;
float: left;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
transform: translate(-50%,
-50%);
}

#iconFeature .itemTop h3 {
color: var(--gray);
font-weight: 300;
font-size: 1.3em;
}

#iconFeature li:hover .itemBtm,
 #iconFeature li:focus .itemBtm,
 #iconFeature li:active .itemBtm {
height: 100%;
}

#iconFeature li:hover .itemBtm .itemWrap,
 #iconFeature li:focus .itemBtm .itemWrap,
 #iconFeature li:active .itemBtm .itemWrap {
height: auto;
overflow: visible;
}

#iconFeature li.wHover:hover .itemTop,
 #iconFeature li.wHover:focus .itemTop,
 #iconFeature li.wHover:active .itemTop {
height: 0;
}

#iconFeature .itemBtm .icon {
color: var(--white);
line-height: 1em;
font-size: 2.5em;
margin: 0 0 0.1em;
display: inline-block;
}

#iconFeature .itemBtm h3 {
color: var(--white);
font-size: 1.1em;
width: 100%;
margin: 0 0 0.5em;
}

#iconFeature .itemBtm p {
color: var(--white);
font-size: 0.75em;
line-height: 1.4em;
padding: 0;
}

#iconFeature .itemBtm a.button {
color: var(--white)!important;
border-color: var(--white);
padding: 1em!important;
font-size: 0.6em!important;
margin-top: 0.5em;
}

#calloutFeature {
margin: 2em 0 0;
padding: 2.5em 0!important;
width: 100%;
position: relative;
float: left;
}

#calloutFeature ul {
width: 100%;
display: inline-block;
position: relative;
margin: 0;
padding: 0;
list-style: none;
text-align: center;
}

#calloutFeature ul li {
vertical-align: top;
width: 27%;
margin: 0.5em 2% 1.5em;
display: inline-block;
}

#calloutFeature .calloutImg {
width: 60%;
height: 14em;
margin: 0 20% 1.5em;
display: inline-block;
background-size: cover!important;
background-position: center;
}

#calloutFeature .desc {
width: 100%;
display: inline-block;
position: relative;
}

#calloutFeature h3 {
font-weight: 300;
}

#calloutFeature p {
font-size: 0.8em;
line-height: 1.4em;
}

#calloutFeature .button {
font-size: 0.7em!important;
margin-top: 0.5em;
}

/***ENTRANCE***/
#entrance {
    background: rgb(30,31,30);
    display: block;
    float: unset;
}

#entranceImage {
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-size: cover !important;
    height: 29vw;
    min-height: 420px;
    position: relative;
    width: 100%;
}

#entranceText {
    left: 0;
    margin: 0 32px 0 80px;
    position: absolute;
    top: 15%;
    width: 55%;
}

#entranceText .button-class svg {
    height: 20px;
}

/* fixed CTA button*/
a.notification {
position: fixed;
right: 1%;
top: 50%;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
z-index: 9;
display: inline-block;
font-weight: 400;
}

a.notification:hover,
a.notification:focus,
a.notification:active {
width: 20%;
}

a.notification span.iconBg {
width: 3.6em;
height: 3.6em;
-webkit-border-radius: 3em;
border-radius: 3em;
color: var(--white);
background: rgb(236,
111,
44);
background: -moz-linear-gradient(45deg,
 rgba(236,
111,
44,
1) 0%,
 rgba(238,
127,
51,
1) 100%);
background: -webkit-linear-gradient(45deg,
 rgba(236,
111,
44,
1) 0%,
rgba(238,
127,
51,
1) 100%);
background: linear-gradient(45deg,
 rgba(236,
111,
44,
1) 0%,
rgba(238,
127,
51,
1) 100%);
filter: progid: DXImageTransform.Microsoft.gradient( startColorstr='#ec6f2c',
 endColorstr='#ee7f33',
GradientType=1 );
position: relative;
float: left;
transition: var(--transition);
z-index: 1;
}

a.notification span.icon {
font-size: 1.8em;
line-height: 0.8em;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
transform: translate(-50%,
-50%);
}

a.notification span.title {
z-index: 0;
color: var(--schoolsnavy);
font-family: var(--body-font);
font-weight: 700;
font-size: 1em;
line-height: 1em;
padding: 0;
width: 0;
-webkit-border-radius: 3.6em;
border-radius: 3.6em;
height: 100%;
position: absolute;
left: 0;
top: 0;
background: rgba(255,
127,
69,
0);
overflow: hidden;
transition: var(--transition);
}

a.notification span.title span {
position: absolute;
top: 50%;
left: 4.5em;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
width: 0;
overflow: hidden;
}

a.notification:hover span.icon,
a.notification:focus span.icon,
a.notification:active span.icon {
background: rgba(22,
17,
95,
0);
}

a.notification:hover span.title,
a.notification:active span.title,
a.notification:focus span.title {
width: 100%;
background: rgba(255,
255,
255,
0.86);
}

a.notification:hover span.title span,
a.notification:active span.title span,
a.notification:focus span.title span {
width: auto;
}

/*designs*/
#design {
padding: 4.5em 0 2.5em;
z-index: 8;
overflow: visible;
}

#design .text {
width: 50%;
position: relative;
float: left;
}

#design .text h2 {
font-size: 2.4em;
line-height: 1.1em;
padding-bottom: 0.7em;
width: 100%;
color: var(--schoolsnavy);
}

#design .text p {
line-height: 1.6em;
padding: 0 0 1.25em
}

#designProducts {
width: 40%;
margin: -1.5em 5% 0 0;
position: relative;
float: right;
}

#designProducts ul {
width: 100%;
display: inline-block;
margin: 0;
padding: 0;
list-style: none;
position: relative;
}

#designProducts li {
width: 55%;
display: inline-block;
z-index: 7;
background-size: 102% auto!important;
background-position: top left!important;
height: 20em;
border-radius: 0.5em;
box-shadow: var(--box-shadow);
position: absolute;
top: 0;
left: 0;
}

#designProducts li:last-child {
left: auto;
right: 0;
top: 3em;
z-index: 6;
}

#designProducts li:hover,
#designProducts li:focus,
#designProducts li:active {
z-index: 8;
transform: scale(1.15);
transition: var(--transition);
}

#designProducts li a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#designProducts li .overlay {
border-radius: 0.5em;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(97,
98,
101,
0.9);
transition: var(--transition);
opacity: 0;
}

#designProducts li:hover .overlay,
#designProducts li:focus .overlay,
#designProducts li:active .overlay {
opacity: 1;
}

#designProducts li .overlay .inner {
position: absolute;
width: 100%;
padding: 0 5%;
text-align: center;
left: 0;
top: 50%;
-webkit-transform: translate(0,
-50%);
-ms-transform: translate(0,
-50%);
transform: translate(0,
-50%);
}

#designProducts li .overlay .inner .iconBg {
width: 3.5em;
height: 3.5em;
border-radius: 50%;
background: var(--white);
color: rgb(97,
98,
101);
display: inline-block;
margin: 0 0 1em;
position: relative;
}

#designProducts li .overlay .inner .iconBg span.icon {
font-size: 2em;
line-height: 0.8em;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
transform: translate(-50%,
-50%);
}

#designProducts li .overlay .inner h4 {
color: var(--white);
font-family: var(--body-font);
line-height: 1.1em;
font-weight: 700;
font-size: 1.35em;
}

#designProducts li .overlay .inner p {
font-size: 0.9em;
line-height: 1.2em;
padding: 0.75em 0;
color: var(--white);
}

#designProducts li .overlay .inner .button {
font-size: 0.65em!important;
margin-top: 0.5em;
color: var(--white)!important;
border-color: var(--white)!important;
}

/***Mobile Apps***/
#mobile {
padding: 5.5em 0;
background: rgb(248,
248,
248);
overflow: visible;
z-index: 5;
}

#mobile:before,
#mobile:after {
content: '';
z-index: 0;
width: 100%;
height: 7.5em;
display: inline-block;
position: absolute;
top: 0;
left: 0;
background: url(custom/images/homepage/asset_app_section_a.png) left top no-repeat;
background-size: cover;
}

#mobile:after {
top: auto;
bottom: 0;
background: url(custom/images/homepage/asset_app_section_b.png) left top no-repeat;
background-size: cover;
}

#mobile .appImage {
margin: 0 7.5%;
width: 20%;
height: 110%;
float: left;
position: absolute;
top: 0;
left: 0;
z-index: 5;
background-size: auto 100%!important;
}

#mobile .appText {
width: 60%;
position: relative;
float: right;
margin: 4em 5% 0;
z-index: 1;
}

#mobile .appText h2 {
font-size: 2.4em;
line-height: 1.1em;
padding-bottom: 0.7em;
width: 100%;
color: var(--schoolsnavy);
}

#mobile .appText p {
line-height: 1.6em;
padding: 0;
}

#mobile .appText ul {
margin: 0;
padding: 0;
list-style: none;
width: 100%;
float: left;
}

#mobile .appText ul li {
width: 100%;
display: inline-block;
margin: 0 0 2em;
}

#mobile .appText ul li:last-child {
margin-bottom: 0;
}

#mobile .appText ul li .image {
width: 4.5em;
height: 4.5em;
margin-right: 2.5%;
background-size: cover!important;
float: left;
}

#mobile .appText ul li .text {
width: calc(95% - 4.5em);
float: right;
}

#mobile .appText ul li .text h4 {
font-size: 1.5em;
width: 100%;
display: inline-block;
font-family: var(--body-font);
color: var(--schoolsnavy);
font-weight: 700;
}

#mobile .appText ul li .text h4 a {
color: var(--schoolsnavy);
font-weight: 700;
}

#mobile .appText ul li .text h4 a:hover,
#mobile .appText ul li .text h4 a:focus,
#mobile .appText ul li .text h4 a:active {
color: var(--schoolsnavy);
}

/***Accessibility***/
#accessibility {
padding: var(--container-padding);
}

#accessibility .text {
text-align: center;
width: 100%;
position: relative;
float: left;
margin: 0 0 1.5em;
}

#accessibility .text h2 {
font-size: 2.4em;
line-height: 1.1em;
padding-bottom: 0.7em;
width: 100%;
color: var(--schoolsnavy);
}

#accessibility .text p {
line-height: 1.6em;
padding: 0;
width: 50%;
margin: 0 25%;
}

#accessibility ul {
width: 100%;
margin: 0;
padding: 0;
position: relative;
float: left;
text-align: center;
}

#accessibility ul li {
background: var(--schoolsnavy);
color: var(--white);
width: 22%;
position: relative;
display: inline-block;
margin: 2.5em 2% 0;
vertical-align: top;
border-radius: 1em;
}

#accessibility ul li:hover,
#accessibility ul li:focus,
#accessibility ul li:active {
box-shadow: var(--box-shadow);
transition: var(--transition);
transform: scale(1.15);
}

#accessibility ul li:nth-child(1) {
margin-left: 0;
background: rgb(221,
30,
62);
}

#accessibility ul li:nth-child(2) {
margin-left: 0;
background: rgb(28,
118,
187);
}

#accessibility ul li:nth-child(3) {
margin-left: 0;
background: var(--cms-primary);
}

#accessibility ul li:nth-child(4) {
margin-right: 0;
margin-left: 0;
background: rgb(81,
167,
64);
}

#accessibility ul li a {
display: inline-block;
width: 100%;
}

#accessibility ul li .inner {
float: left;
padding: 1.5em 15%;
width: 100%;
}

#accessibility ul li .iconBg {
width: 4.8em;
height: 5em;
display: inline-block;
margin: 0 0 0.25em;
background-size: cover!important;
}

#accessibility ul li h4 {
color: var(--white);
font-family: var(--body-font);
font-size: 1.32em;
line-height: 1.2em;
width: 100%;
padding: 0 10% 0.5em;
}

#accessibility ul li p {
font-size: 0.8em;
line-height: 1.4em;
color: var(--white);
padding: 0;
margin: 0 0 1em;
}

/*Support*/
#support {
padding: 2.5em 0 0;
margin-bottom: -1em;
}

#support .text {
width: 40%;
position: relative;
float: left;
}

#support .text h2 {
font-size: 2.4em;
line-height: 1.1em;
padding-bottom: 0.7em;
width: 100%;
color: var(--schoolsnavy);
}

#support .text p {
font-size: 0.9em;
line-height: 1.6em;
padding: 0
}

#support .text ul {
font-size: 0.9em;
margin: 1.5em 0;
color: var(--schoolsnavy);
}

#team {
width: 55%;
float: right;
position: relative;
padding: 1.5em 0;
}

#team.internal {
width: 100%;
}

#team ul {
margin: 0;
padding: 0;
list-style: none;
width: 100%!important;
float: left;
text-align: center
}

#team ul li {
display: inline-block;
width: 23%;
margin: 0 0.75% 0.75em;
vertical-align: top;
text-align: center;
}

#team ul li a {
position: relative;
float: left;
width: 100%;
}

#team ul li .image {
width: calc(100% - 2px);
margin: 0 0 0.25em;
border-radius: 50%;
border: 1px solid #e7e8e9;
background-size: cover!important;
background-position: center center!important;
overflow: hidden;
position: relative;
float: left;
box-shadow: var(--box-shadow);
}

#team ul li .name {
width: 100%;
float: left;
font-size: 0.9em;
font-weight: 400;
color: var(--black);
text-align: center;
}

#team ul li a:hover .overlay,
#team ul li a:focus .overlay,
#team ul li a:active .overlay {
opacity: 1;
}

#team ul li .overlay {
transition: var(--transition);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 6px solid #504d87;
background: var(--schoolsnavy);
border-radius: 50%;
opacity: 0;
}

#team ul li .overlay span {
position: absolute;
top: 50%;
left: 50%;
width: 80%;
-webkit-transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
transform: translate(-50%,
-50%);
line-height: 1.1em;
color: var(--white);
}

/** HOME STATISTICS **/
#stats {
    background: var(--lt-gray);
    padding: 60px 0;
}

#stats > .wrapper {
    align-items: center;
    display: flex;
    float: none;
    justify-content: space-between;
}

#stats .text {
    width: 50%;
}

#stats .text h3 {
    color: var(--schoolsnavy);
    font-size: 200px;
    line-height: 200px;
}

#stats .text h4 {
    color: var(--schoolsnavy);
    font-size: 50px;
    line-height: 62px;
    padding: 8px 0;
}

#stats ul {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 45%;
}

#stats ul li {
    border-bottom: 2px solid var(--mid-gray);
    border-right: 2px solid var(--mid-gray);
    flex-basis: 33%;
    padding: 24px;
}

#stats ul li:nth-child(3),
#stats ul li:nth-child(6) {
    border-right: none;
}

#stats ul li:nth-child(4),
#stats ul li:nth-child(5),
#stats ul li:nth-child(6) {
    border-bottom: none;
}

#stats ul li h3 {
    color: var(--schoolsnavy);
    display: flex;
    flex-direction: column;
    font-size: 50px;
    line-height: 50px;
    text-align: center;
}

#stats ul li h3 .btm {
    color: var(--black);
    font-size: 22px;
    font-weight: normal;
    line-height: 28px;
    margin-top: 8px;
}

/**Events**/
#events {
    background: var(--lt-gray);
    padding: 3.5em 0;
}

#events .text {
    float: left;
    position: relative;
    width: 30%;
}

#events ul {
text-align: right;
width: 65%;
margin: 0;
padding: 0;
list-style: none;
float: right;
}

#events ul li {
display: inline-block;
width: 29%;
margin-left: 3%;
position: relative;
border: 1px solid var(--schoolsnavy);
background: var(--white);
border-radius: 1em;
box-shadow: var(--box-shadow);
text-align: left;
vertical-align: top;
}

#events ul li a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: inline-block;
opacity: 0;
z-index: 1;
border-radius: 1em;
}

#events ul li a .button {
position: absolute;
width: 80%;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
transform: translate(-50%,
-50%);
border-color: var(--white)!important;
background: var(--white)!important;
font-size: 1.2em!important;
padding: 0.5em!important;
color: var(--schoolsnavy)!important;
}

#events ul li:hover a,
#events ul li:focus a,
#events ul li:active a {
opacity: 1;
background: rgba(22,
17,
95,
0.98);
}

#events ul li .inner {
display: inline-block;
position: relative;
padding: 1.5em 5%;
z-index: 0;
width: 100%;
}

#events ul li h3 {
font-size: 2em;
line-height: 1.15em;
margin-bottom: 0.5em;
}

#events ul li h3 span.day {
width: 100%;
display: inline-block;
font-family: var(--body-font);
color: var(--schoolsnavy);
font-weight: 700;
font-size: 0.5em;
line-height: 1em;
}

#events ul li h4 {
font-size: 1.15em;
font-family: var(--body-font);
color: var(--black);
line-height: 1.2em;
padding-bottom: 2em;
margin-bottom: 2em;
position: relative;
}

#events ul li h4:after {
content: '';
width: 20%;
height: 1px;
background: var(--black);
position: absolute;
bottom: 0;
left: 0;
}

#events ul li h5 {
font-size: 1em;
}

#events ul li h6 {
font-size: 0.9em;
}

#eventsItems ul {
width: 100%;
margin: 0 0 40px;
padding: 0;
list-style: none;
display: flex;
}

#eventsItems ul li {
display: inline-block;
width: 29%;
margin-left: 3%;
position: relative;
border: 1px solid var(--schoolsnavy);
background: var(--white);
border-radius: 1em;
box-shadow: var(--box-shadow);
text-align: left;
vertical-align: top;
}

#eventsItems ul li a {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
display: inline-block;
opacity: 0;
z-index: 1;
border-radius: 1em;
}

#eventsItems ul li a .button {
position: absolute;
width: 80%;
top: 50%;
left: 50%;
-webkit-transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
transform: translate(-50%,
-50%);
border-color: var(--white)!important;
background: var(--white)!important;
font-size: 1.2em!important;
padding: 0.5em!important;
color: var(--schoolsnavy)!important;
}

#eventsItems ul li:hover a,
#eventsItems ul li:focus a,
#eventsItems ul li:active a {
opacity: 1;
background: rgba(22,
17,
95,
0.98);
}

#eventsItems ul li .inner {
display: inline-block;
position: relative;
padding: 1.5em 5%;
z-index: 0;
width: 100%;
}

#eventsItems ul li h3 {
font-size: 2em;
line-height: 1.15em;
margin-bottom: 0.5em;
}

#eventsItems ul li h3 span.day {
width: 100%;
display: inline-block;
font-family: var(--body-font);
color: var(--schoolsnavy);
font-weight: 700;
font-size: 0.5em;
line-height: 1em;
}

#eventsItems ul li h4 {
font-size: 1.15em;
font-family: var(--body-font);
color: var(--black);
line-height: 1.2em;
padding-bottom: 2em;
margin-bottom: 2em;
position: relative;
}

#eventsItems ul li h4:after {
content: '';
width: 20%;
height: 1px;
background: var(--black);
position: absolute;
bottom: 0;
left: 0;
}

#eventsItems ul li h5 {
font-size: 1em;
}

#eventsItems ul li h6 {
font-size: 0.9em;
}

#gallery {
text-align: center;
padding: 3em 0;
}

#testimonial {
padding: 5.5em 0;
background: rgb(30,
31,
30);
z-index: 5
}

#testimonial:before,
#testimonial:after {
content: '';
z-index: 0;
width: 100%;
height: 7.5em;
display: inline-block;
position: absolute;
top: -1px;
left: 0;
background: url(custom/images/homepage/asset_testimonial_a.png) left top no-repeat;
background-size: cover;
z-index: 5;
}

#testimonial:after {
top: auto;
bottom: -1px;
background: url(custom/images/homepage/asset_testimonial_b.png) left top no-repeat;
background-size: cover;
}

#testimonial .bgImg {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background-size: cover!important;
background-position: center center!important;
background-attachment: fixed!important;
z-index: 0;
opacity: 0.4;
}

#cta {
    background: var(--white);
    background: linear-gradient(to bottom, rgb(255,255,255) 0%, rgb(248,248,248) 100%);
    padding: 2.5em 0 3.5em;
    text-align: center;
}

#cta h2 {
    text-align: center;
}

#cta ul {
    display: flex;
    justify-content: space-around;
}

#cta li {
    align-items: center;
    display: flex;
    flex-direction: column;
    list-style: none;
    padding: 0 16px;
    text-align: center;
}

#cta li .iconBg .icon {
    color: var(--schoolsnavy);
    font-size: 100px;
    line-height: 120px;
}

#products {
padding: 3.5em 0 2em;
text-align: center;
}

#products img {
width: 20%;
}

#products ul {
padding: 0;
list-style: none;
width: 100%;
display: inline-block;
position: relative;
margin: 1.5em 0 0;
}

#products ul li {
display: inline-block;
margin: 0 auto;
vertical-align: top;
}

#products ul li a {
background: var(--schoolsnavy);
color: var(--white);
margin: 0 0.5em;
border: none;
transition: var(--transition);
padding: 0;
font-weight: 700;
font-size: 1.5em;
cursor: pointer;
position: relative;
display: inline-block;
border-radius: 2em;
}

#products ul li:first-child a {
background: var(--schoolsnavy)
}

#products ul li:nth-child(3) a {
background: rgb(116,
118,
123)
}

#products ul li:nth-child(4) a {
background: rgb(239,
128,
51)
}

#products ul li a:hover,
#products ul li a:focus,
#products ul li a:active {
max-width: 100%;
width: 100%;
}

#products ul li span.icon {
font-size: 1.25em;
line-height: 0.8em;
position: relative;
padding: 0.75em;
float: left;
}

#products ul li span.text {
width: 0;
height: 0;
overflow: hidden;
opacity: 0;
transition: var(--transition);
transition-delay: .3s;
float: right;
}

#products ul li a:hover span.text,
#products ul li a:focus span.text,
#products ul li a:active span.text {
opacity: 1;
width: auto;
padding: 1em 1em 0.75em 0;
height: auto;
}

#library {
padding: 5.5em 0;
background: rgb(248,
248,
248);
overflow: visible;
z-index: 5;
}

#library:before,
#library:after {
content: '';
z-index: 0;
width: 100%;
height: 7.5em;
display: inline-block;
position: absolute;
top: 0;
left: 0;
background: url(custom/images/homepage/asset_app_section_a.png) left top no-repeat;
background-size: cover;
}

#library:after {
top: auto;
bottom: 0;
background: url(custom/images/homepage/asset_app_section_b.png) left top no-repeat;
background-size: cover;
}

.library-set {
width: 100%;
display: inline-flex;
flex-flow: row wrap;
justify-content: space-evenly;
align-items: stretch;
align-content: stretch;
margin: 0;
padding: 0;
list-style: none;
position: relative;
}

.library-set#essential-series-library .library-design {
flex-basis: 45%;
justify-content: space-between;
}

.library-set .library-design {
flex-basis: 30%;
margin-bottom: 1.5em;
display: inline-block;
position: relative;
background: var(--black);
border-radius: 0.5em;
}

.library-set .library-design .library-thumbnail {
float: left;
z-index: 1;
position: relative;
width: 100%;
height: 40vw;
background-position: top center!important;
background-size: cover!important;
border-radius: 0.5em;
box-shadow: var(--box-shadow);
}

.library-set .library-design .library-button {
color: var(--white);
padding: 0;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 3;
background: transparent;
border: none;
}

.library-set .library-design .library-title {
opacity: 0;
border-radius: 0.5em;
background: rgba(97,
98,
101,
0.9);
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 2;
display: inline-flex;
flex-flow: column wrap;
justify-content: center;
align-items: center;
align-content: center;
transition: var(--transition);
}

.library-set .library-design .library-title h3 {
margin: 0 0 0.5em;
text-align: center;
}

.library-set .library-design:hover .library-title .button.reverse,
 .library-set .library-design:focus .library-title .button.reverse,
 .library-set .library-design:active .library-title .button.reverse {
color: var(--white)!important;
background: var(--schoolsnavy);
border-color: var(--schoolsnavy);
text-decoration:none!important;
}

.library-set .library-design:hover .library-title,
 .library-set .library-design:focus .library-title,
 .library-set .library-design:active .library-title {
opacity: 1;
}

.library-set .library-design .library-title h3 {
color: var(--white);
}

.library-links {
width: 100%;
padding-top: 1em;
}

.library-links ul {
margin: 0;
padding: 0;
width: 100%;
list-style: none;
}

.library-links li {
margin: 0 0.5em 0.5em 0;
display: inline-block;
}

.library-set .library-design .library-title a {
color: #fff !important;
}

.modal-column {
flex-basis: 48%;
}

#modal-right ul {
margin: 0 0 0.5em;
}

.library-gallery {
display: flex;
flex-wrap: wrap;
justify-content: space-evently;
align-items: stretch;
align-content: stretch;
}

.library-gallery figure {
flex-basis: 30%;
display: inline-flex;
margin: 0 1.25% 1em;
flex-flow: row wrap;
justify-content: center;
align-content: center;
position: relative;
transition: var(--transition);
}

.library-gallery figure:hover {
-moz-transform: scale(1.1);
-webkit-transform: scale(1.1);
-o-transform: scale(1.1);
-ms-transform: scale(1.1);
transform: scale(1.1);
}

.library-gallery figure a {
width: 100%;
display: inline-block;
transition: var(--transition);
}

.library-gallery figure a::after {
display: none;
}

.library-gallery figure img {
width: 100%;
display: inline-block;
}

.library-gallery figcaption {
font-size: 0.8em;
width: 0;
overflow: hidden;
height: 100%;
font-weight: 700;
color: var(--schoolsnavy);
text-align: center;
display: inline-flex;
justify-content: center;
align-content: center;
align-items: center;
position: absolute;
top: 0;
left: 0;
background: rgba(255,
255,
255,
0.86);
transition: var(--transition);
}

.library-gallery a:hover figcaption,
.library-gallery a:focus figcaption {
width: 100%;
padding: 0 5%;
}

.ADA-revert {
width: 45px!important;
}

/*keyframes*/
@-webkit-keyframes stickyhead {
0% {
opacity: 0;
-webkit-transform: translateY(-100%)
}

100% {
opacity: 1;
-webkit-transform: translateY(0)
}

}

@-moz-keyframes stickyhead {
0% {
opacity: 0;
-moz-transform: translateY(-100%)
}

100% {
opacity: 1;
-moz-transform: translateY(0)
}

}

@keyframes stickyhead {
0% {
opacity: 0;
-webkit-transform: translateY(-100%);
-moz-transform: translateY(-100%);
-ms-transform: translateY(-100%);
-o-transform: translateY(-100%);
transform: translateY(-100%)
}

100% {
opacity: 1;
-webkit-transform: translateY(0);
-moz-transform: translateY(0);
-ms-transform: translateY(0);
-o-transform: translateY(0);
transform: translateY(0)
}

}

/* * CSS Styles to overwrite the bxSlider Defaults */
.bx-wrapper .bx-controls-direction {
display: none;
}

.bx-wrapper .bx-viewport {
background:none!important;
}

.bx-wrapper {
overflow: visible!important;
padding: 0!important;
}

.bx-wrapper .bx-pager {
width: 16px!important;
right: 0!important;
}

.bx-wrapper .bx-pager.bx-default-pager a {
color: var(--white)!important;
border-radius: 0!important;
background: var(--schoolsnavy)!important;
width: 16px!important;
height: 16px!important;
margin: 0 0 0.5em!important;
}

.bx-wrapper .bx-pager.bx-default-pager a:hover,
 .bx-wrapper .bx-pager.bx-default-pager a.active {
color: var(--white)!important;
background: var(--black)!important;
}

ul.bxslider {
margin: 0!important;
padding: 0!important;
}

ul.bxslider li {
width: calc(100% - 16px)!important;
}

.bx-wrapper {
margin-bottom: 1em!important;
}

/********** NEW FOOTER UPDATES **********/
#newFooter .main-wrapper {
display: flex;
justify-content: space-between;
margin: 0 auto;
max-width: 90%;
padding: 50px 12px;
}

#newFooter .footer-logos a {
display: block;
}

#newFooter .footer-logos a img {
max-width: 200px;
opacity: 1;
transition: var(--transition);
}

#newFooter .footer-logos a:hover img {
opacity: .85;
}

footer h2 {
color: var(--black);
font-size: 1.3em;
font-weight: 700;
margin: 0;
padding: 0 0 10px;
}

#newFooter .footer-col ul {
display: flex;
flex-direction: column;
}

#newFooter .icon {
color: #21254c;
display: inline-block;
font-size: 1.5em;
margin: 5px 10px 5px 0;
}

#newFooter .social-list {
margin-top: 15px;
}

#newFooter .social-list a {
background: #16115f;
border-radius: 50%;
color: #fff;
display: inline-block;
height: 3.4em;
margin: 0 0.25em;
position: relative;
transition: var(--transition);
width: 3.4em;
-webkit-border-radius: 50%;
}

#newFooter .social-list a:hover {
background: rgb(222,
222,
222);
color: var(--schoolsnavy);
}

#newFooter .social-list a span.icon {
color: #fff;
font-size: 1.5em;
left: 50%;
line-height: .8em;
position: absolute;
top: 50%;
transform: translate(-50%,
-50%);
-ms-transform: translate(-50%,
-50%);
-webkit-transform: translate(-50%,
-50%);
}

#newFooter .social-list a:hover span.icon {
color: var(--schoolsnavy);
}

/********** CMS4SCHOOLS LANDING PAGE **********/
body.cms-landing-page #banner,
 body.cms-landing-page #banner .bannerImage,
 body.cms-landing-page .middleColumn {
display: block;
float: unset;
}

body.cms-landing-page #banner.landing-page {
background: var(--white);
}

body.cms-landing-page #banner.landing-page #slideOverlay {
background: url(custom/images/interior/asset_banner_slant_white.png) 0 0 no-repeat;
}

body.cms-landing-page #banner.landing-page .imageDip {
opacity: 1;
}

body.cms-landing-page .button-links {
margin: 0 0 75px;
}

.product-links {
display: grid;
column-gap: 1.5em;
row-gap: 1.5em;
margin: 40px 0 0;
padding: 10px 0;
}

.product-links.link-count-1 {
grid-template-columns: repeat(1,
 1fr);
grid-template-rows: repeat(1,
 1fr);
}

.product-links.link-count-2 {
grid-template-columns: repeat(2,
 1fr);
grid-template-rows: repeat(1,
 1fr);
}

.product-links.link-count-3 {
grid-template-columns: repeat(3,
 1fr);
grid-template-rows: repeat(1,
 1fr);
}

.product-links.link-count-4 {
grid-template-columns: repeat(4,
 1fr);
grid-template-rows: repeat(1,
 1fr);
}

.product-links.link-count-5 {
grid-template-columns: repeat(4,
 1fr);
grid-template-rows: repeat(2,
 1fr);
}

.product-links.link-count-6 {
grid-template-columns: repeat(4,
 1fr);
grid-template-rows: repeat(2,
 1fr);
}

.product-links .product-item {
align-items: center;
background: var(--schoolsnavy);
background: linear-gradient(180deg,
 rgba(33,
37,
76,
1) 60%,
 rgba(0,
0,
0,
1) 100%);
border-radius: 1em;
box-shadow: var(--box-shadow);
color: var(--white);
display: flex;
flex-direction: column;
max-width: 410px;
opacity: 1;
padding: 30px 35px;
scale: 1;
text-align: center;
transition: var(--transition);
}

.product-links .product-item.item-acp {
background: rgb(221,
30,
63,
1);
background: linear-gradient(180deg,
 rgb(221,
30,
63,
1) 60%,
 rgb(158,
22,
45,
1) 100%);
}

.product-links .product-item.item-adapt {
background: rgb(28,
117,
187,
1);
background: linear-gradient(180deg,
 rgb(28,
117,
187,
1) 60%,
 rgb(23,
98,
156,
1) 100%);
}

.product-links .product-item.item-cms {
background: rgb(237,
70,
19,
1);
background: linear-gradient(180deg,
 rgb(237,
70,
19,
1) 60%,
 rgb(173,
51,
17,
1) 100%);
}

.product-links .product-item.item-seeds {
background: rgb(81,
167,
64,
1);
background: linear-gradient(180deg,
 rgb(81,
167,
64,
1) 60%,
 rgb(65,
135,
51,
1) 100%);
}

.product-links .product-item.item-mqr {
background: rgb(59,
169,
161,
1);
background: linear-gradient(180deg,
 rgb(59,
169,
161,
1) 60%,
 rgb(37,
105,
100,
1) 100%);
}

.product-links .product-item .title {
font-family: var(--body-font);
font-size: 1.5em;
line-height: 1.2em;
padding: 20px 0;
}

.product-links .product-item .description {
font-size: .9em;
font-weight: 400;
line-height: 1.65em;
}

.product-links .product-item svg {
height: auto;
max-width: 120px;
opacity: 1;
transition: var(--transition);
}

.product-links .product-item:hover {
box-shadow: var(--box-shadow);
color: var(--white);
scale: 1.05;
text-decoration: none;
}

.product-links .product-item:hover svg {
opacity: .8;
}

.product-link .icon-cms4schools:before {
content: "\e09d";
}

.icon-thumb:before {
content: "\e09d";
}

.icon-accessible:before {
content: "\e09d";
}

.icon-flow:before {
content: "\e09d";
}

.icon-headset:before {
content: "\e09d";
}

.icon-calendaring:before {
content: "\e09d";
}

.icon-translate:before {
content: "\e09d";
}

.icon-newspaper:before {
content: "\e09d";
}

.icon-user-permissions:before {
content: "\e09d";
}

.icon-phone-alert:before {
content: "\e09d";
}

.icon-branded-app:before {
content: "\e09d";
}

.icon-design:before {
content: "\e09d";
}

.icon-responsive:before {
content: "\e09d";
}

.icon-google:before {
content: "\e09d";
}

.icon-social-media:before {
content: "\e09d";
}

.features-list {
padding: 4em 5.5em;
}

.features-list ul {
display: flex;
flex-wrap: wrap;
}

.features-list ul li {
display: grid;
flex-basis: 50%;
grid-template-columns: 90px calc(100% - 90px);
grid-template-rows: repeat(2,
 auto);
list-style-type: none;
margin-bottom: 30px;
padding-right: 30px;
}

.features-list li .description {
font-size: .85em;
line-height: 1.5em;
}

.features-list li .features-icon {
grid-row: 1 / -1;
}

.features-list li .features-icon svg {
height: auto;
max-width: 70px;
}

.features-list li .features-icon-branded-app svg {
max-width: 55px;
}

.content-editor.homeRow {
display: block;
float: unset;
margin: 0 auto;
padding-top: 40px;
width: 100%;
}

.content-editor.homeRow > section {
margin: 0 auto;
width: 90%;
}

main.dynamic-lp .homeRow {
box-sizing: border-box;
float: none;
display: block;
position: relative;
width: 100%;
}

section#events.events-wrapper {
display: flex;
padding: 5.5em 5em 2.5em;
}

#events.events-wrapper > section:first-child {
align-self: center;
padding-right: 5em;
}

section#events.events-wrapper .wrapper {
float: none;
padding: 0;
}

section#events.events-wrapper ul {
float: none;
text-align: left;
width: 100%;
}

#events ul li h4 {
font-size: 1em;
line-height: 1.4em;
margin-bottom: 1em;
padding-bottom: 1em;
}

#events ul li a .button {
font-size: 1em !important;
}

ul.product-grid {
    display: flex;
    justify-content: center;
    padding: 0 32px;
}

ul.product-grid li {
    flex-basis: calc(25% - 32px);
    list-style: none;
    margin: 16px;
}

ul.product-grid li a {
    background-color: var(--black);
    border-radius: 20px;
    color: var(--white);
    display: flex;
    flex-direction: column;
    height: 100%;
    padding: 32px 16px 24px;
    text-align: center;
    text-decoration: none;
    transition: var(--transition);
}

ul.product-grid li img,
ul.product-grid li span {
    display: block;
}

ul.product-grid li img {
    margin: 0 auto 24px;
    width: 80%;
}

ul.product-grid li span,
ul.product-grid li p {
    color: var(--white);
    font-size: 22px;
    font-weight: normal;
    line-height: 32px;
    margin: 0;
    padding: 0;
    text-decoration: none;
}

ul.product-grid li a span.product-title {
    font-size: 62px;
    font-weight: bold;
    line-height: 56px;
    margin-bottom: 24px;
}

ul.product-grid li a:focus span,
ul.product-grid li a:hover span {
    color: var(--white);
    font-weight: normal;
    text-decoration: none;
}

ul.product-grid li a:focus span.product-title,
ul.product-grid li a:hover span.product-title {
    font-weight: bold;
}

ul.product-grid li a.brand-acp {
    background-color: var(--acp-primary);
}

ul.product-grid li a.brand-cms {
    background-color: var(--cms-primary);
}

ul.product-grid li a.brand-iep {
    background-color: var(--iep-primary);
}

ul.product-grid li a.brand-isp {
    background-color: var(--isp-primary);
}

ul.product-grid li a.brand-ada {
    background-color: var(--ada-primary);
}

ul.product-grid li a.brand-el {
    background-color: var(--el-primary);
}

ul.product-grid li a:focus,
ul.product-grid li a:hover,
ul.product-grid li a.brand-acp:hover,
ul.product-grid li a.brand-cms:hover,
ul.product-grid li a.brand-iep:hover,
ul.product-grid li a.brand-isp:hover,
ul.product-grid li a.brand-ada:hover,
ul.product-grid li a.brand-el:hover {
    background-color: var(--schoolsnavy) !important;
}

/***** CMS4SCHOOLS PAGE TOOLS ******/
#Grid934709 li a {
    background-color: #CF3D11;
}

#Grid934709 li:first-child a {
    background-color: #ED4613;
}

#Grid934709 li:last-child a {
    background-color: #AD330E;
}

/***** LEARNING PAGE TOOLS ******/
#sidebar_content #detailid_908593,
#detailid_908593 .right_content .upcoming_events_above,
#detailid_908593 .upcoming_events_date {
    display: none;
}

td#detailid_908592,
#detailid_908593 .right_content .upcoming_events_event,
#detailid_908593 .right_content > table > tbody {
    display: flex;
}

#detailid_908593 .right_content > table > tbody {
    flex-wrap: wrap;
}

td#detailid_908592 > section {
    flex: 1 1 40%;
    min-width: 300px;
    padding-right: 30px;
}

div#detailid_908593 {
    flex: 1 1 70%;
}

#detailid_908593 .right_hr_top,
#detailid_908593 .right_hr_bottom {
    display: none;
}

#detailid_908593 .right_content .upcoming_events_event {
    background: var(--white);
    border: 1px solid var(--schoolsnavy);
    border-radius: 1em;
    box-shadow: var(--box-shadow);
    flex-direction: column;
    height: calc(100% - 10px);
    margin: 0 5px 10px;
    max-width: 250px;
    min-width: 50px;
    padding: 1em;
}

#detailid_908593 .upcoming_events_link {
    flex-grow: 1;
    font-size: 22px;
    font-weight: 400;
    line-height: 30px;
    text-decoration: none;
}

#detailid_908593 .upcoming_events_link:focus,
#detailid_908593 .upcoming_events_link:hover {
    color: var(--schoolsnavy);
    font-weight: 400;
    text-decoration: underline;
}

#detailid_908593 .upcoming_events_event br {
    display: none;
}

#detailid_908593 .upcoming_events_time {
    color: var(--schoolsnavy);
    font-family: 'Oswald', sans-serif;
    font-size: 1em;
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.2em;
    margin-top: 16px;
    order: 12;
}

#detailid_908593 .event_day {
    color: var(--schoolsnavy);
    font-family: var(--body-font);
    font-weight: 700;
    line-height: 1em;
}

#detailid_908593 .event_date {
    color: var(--schoolsnavy);
    font-family: 'Oswald', sans-serif;
    font-size: 2em;
    line-height: 1.15em;
    margin-bottom: 0.5em;
    font-weight: 700;
    letter-spacing: -0.025em;
}

#detailid_902983 h5 {
    align-items: center;
    display: flex;
}

.detail_calendar .caltblShell,
.detail_calendar tr,
.detail_calendar td {
    margin: 0;
    padding: 0;
}

.detail_calendar select {
    cursor: pointer;
    margin: 0 16px 0 8px;
}

tr.calSubmitbtn {
    text-align: left;
}

table.event-modal-wrap {
    display: block;
    margin: 0 auto;
    width: 95vw;
}

.event-modal-wrap table {
    padding: 0;
}

.event-modal-wrap td[align="right"] {
    padding-right: 16px;
}

.event-modal-wrap table,
.event-modal-wrap td,
.event-modal-wrap tr {
    border: none;
}

.event-modal-wrap table {
    padding: 0;
}

.event-modal-wrap td p {
    padding: 0 0 16px 0;
}

.cms-tool-resources-links.detail_news .news_style:before {
    display: none !important;
}

.product-grid-wrapper,
.main_body_size ul.product-grid-wrapper {
    align-items: center;
    background: var(--primary-color);
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 70px 100px;
}

.main_body_size ul.product-grid-wrapper.transparent {
    background: transparent;
    margin: 0;
    padding: 20px;
}

.main_body_size ul.product-grid-wrapper {
    padding: 40px;
}

.product-grid-wrapper li {
    align-self: stretch;
    list-style: none;
    margin: 16px !important;
    width: 30%;
}

.product-grid-wrapper li .product-link {
    background: var(--white);
    border: 1px solid var(--black);
    border-radius: 20px;
    box-shadow: var(--box-shadow);
    display: flex;
    flex-direction: column;
    height: 100%;
    min-height: 250px;
    overflow: hidden;
    padding: 30px;
    position: relative;
    text-align: left;
    text-decoration: none;
    transition: var(--transition);
}

.product-grid-wrapper li .product-top {
    align-items: center;
    display: flex;
    justify-content: flex-start;
}

.product-grid-wrapper .product-top svg {
    height: auto;
    margin-bottom: 14px;
    margin-right: 16px;
    max-height: 50px;
    min-width: 50px;
    transition: var(--transition);
    width: 50px;
}

.product-grid-wrapper li .product-top svg path {
    fill: var(--primary-color);
}

.product-grid-wrapper li .product-title {
    color: var(--black);
    font-size: 26px;
    font-weight: 600;
    line-height: 32px;
    margin-bottom: 14px;
    padding-bottom: 10px;
    position: relative;
}

.product-grid-wrapper li .product-title:after {
    background: var(--primary-color);
    border-radius: 1em;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 100%;
}

.product-grid-wrapper .product-description,
.product-grid-wrapper .product-cta {
    color: var(--black);
    font-size: 18px;
    font-weight:normal;
    line-height: 30px;
    margin: 10px 0;
}

.product-grid-wrapper .product-overlay {
    align-items: flex-start;
    background: var(--white);
    border-radius: 1em;
    display: flex;
    flex-direction: column;
    height: 100%;
    justify-content: space-between;
    left: 0;
    min-height: 250px;
    overflow: hidden;
    padding: 30px;
    position: absolute;
    top: 100%;
    transition: var(--transition);
    width: 100%;
}

.product-grid-wrapper .product-cta {
    margin: 0;
}

.product-grid-wrapper .product-link-text {
    align-items: center;
    color: var(--black);
    display: flex;
    font-size: 20px;
    position: relative;
}

.product-grid-wrapper .product-link-text span {
    font-weight: normal;
    position: relative;
    transition: var(--transition);
}

.product-grid-wrapper .product-link-text span:after {
    content: "";
    background: var(--primary-color);
    border-radius: 1em;
    bottom: 3px;
    height: 2px;
    left: 0;
    position: absolute;
    transition: var(--transition);
    width: 0;
}

.product-grid-wrapper .product-link-text svg {
    height: auto;
    margin-left: 6px;
    transition: var(--transition);
    width: 14px;
}

.product-grid-wrapper .product-link-text svg path {
    fill: var(--schoolsnavy);
    transition: var(--transition);
}

.product-grid-wrapper .product-link > .product-link-text svg,
.product-grid-wrapper .product-link > .product-link-text span,
.product-grid-wrapper .product-link > .product-link-text span:after {
    transition: var(--transition);
}

.product-grid-wrapper .product-link:focus .product-overlay,
.product-grid-wrapper .product-link:hover .product-overlay {
    top: 0;
}

.product-grid-wrapper .product-link:focus .product-link-text span,
.product-grid-wrapper .product-link:hover .product-link-text span {
    font-weight: 600;
}

.product-grid-wrapper .product-link:focus .product-link-text svg,
.product-grid-wrapper .product-link:hover .product-link-text svg {
    margin-left: 12px;
}

.product-grid-wrapper .product-link:focus .product-link-text span:after,
.product-grid-wrapper .product-link:hover .product-link-text span:after {
    width: 100%;
}

.\!cms-mb-0,
.cms-mb-3,
.cms-mb-4,
.cms-mb-6,
.ec-container hr {
    margin-bottom: 0 !important;
}

img.cms-w-full {
    height: auto;
    max-width: 280px;
}

@media only screen and (max-width: 1400px) {
    body.cms-landing-page .product-links.link-count-4,
    body.cms-landing-page .product-links.link-count-5,
    body.cms-landing-page .product-links.link-count-6 {
        grid-template-columns: repeat(3, 1fr);
        grid-template-rows: repeat(2, 1fr);
    }

    #entranceImage {
        min-height: 360px;
    }

    #entranceText {
        top: 10%;
        width: 60%;
    }

    #entranceText h1 {
        font-size: 52px;
        line-height: 64px;
    }

    .dynamic-lp #entranceText h1 {
        font-size: 48px;
        line-height: 58px;
    }

    #entranceText .button-class {
        font-size: 22px;
        line-height: 22px;
    }

    #entranceText .button-class svg {
        height: 18px;
    }

    .homeRow h2 {
        font-size: 44px;
        line-height: 56px;
    }

    ul.product-grid {
        flex-wrap: wrap;
    }

    ul.product-grid li {
        flex-basis: calc(40% - 32px);
    }

    ul.product-grid li a {
        padding: 32px;
    }

    #stats ul li {
        padding: 16px;
    }

    #stats .text h3 {
        color: var(--schoolsnavy);
        font-size: 170px;
        line-height: 170px;
    }
}

@media only screen and (max-width: 1280px) {
    #footerLogo {
        width: 30%;
    }

    #footerAddress {
        width: 25%;
    }

    #banner.landing-page .pageTitle {
        width: 80%;
    }

    #designProducts li {
        height: 17.5em;
    }

    #mobile .appImage {
        margin: 0 0 0 5%;
        width: 27.5%;
    }

    #accessibility ul li h4 {
        padding: 0 0 0.5em;
    }

    #support .text {
        width: 50%;
    }

    #team {
        padding: 0;
        width: 45%;
    }

    #team ul li .overlay span {
        font-size: 0.8em;
    }

    #events ul li {
        font-size: 80%;
    }

    .library-gallery figure {
        flex-basis: 47.5%;
    }

    td#detailid_908592 > section {
        flex-basis: 30%;
    }
}

@media only screen and (max-width: 1200px) {
    h1,
    .titletext {
        font-size: 40px;
        line-height: 50px;
    }

    h2,
    .event-modal-title {
        font-size: 36px;
        line-height: 46px;
    }

    h3,
    h3.tool_heading {
        font-size: 30px;
        line-height: 40px;
    }

    h4 {
        font-size: 24px;
        line-height: 34px;
    }

    h5 {
        font-size: 23px;
        line-height: 36px;
    }

    h6 {
        font-size: 19px;
        line-height: 30px;
    }

    header {
        justify-content: space-between;
    }

    #entranceImage {
        min-height: 270px;
    }

    #entranceText {
        margin-left: 60px;
        width: 64%;
    }

    #entranceText h1 {
        font-size: 44px;
        line-height: 56px;
    }

    .dynamic-lp #entranceText h1 {
        font-size: 40px;
        line-height: 54px;
    }

    #entranceText .button-class {
        font-size: 20px;
        line-height: 20px;
        margin-top: 16px;
        padding: 12px 32px;
    }

    .homeRow h2 {
        font-size: 38px;
        line-height: 50px;
    }

    ul.product-grid li {
        flex-basis: calc(50% - 32px);
    }

    #banner .page-title {
        padding: 32px 50px;
    }

    .middleColumn {
        padding: 16px 50px;
    }

    .product-links .product-item svg {
        max-width: 80px;
    }

    #newFooter .main-wrapper {
        flex-wrap: wrap;
        max-width: 95%;
        padding: 30px 12px 50px;
    }

    #newFooter .footer-logos {
        flex-basis: 100%;
        margin-bottom: 30px;
        text-align: center;
    }

    #credit {
        align-items: flex-start;
        padding-top: 5px;
    }

    #credit ul {
        flex-basis: 40%;
    }

    #credit p {
        flex: 1 1 60%;
    }

    .middle_when_no_right_side_bar,
    .middle_when_right_side_bar.middle_when_no_right_side_bar {
        padding: 0;
    }

    .homeRow .product-grid-wrapper {
        padding: 60px;
    }

    .product-grid-wrapper li {
        width: 45%;
    }
}

@media only screen and (max-width: 1080px) {
    #design .text {
        width: 58%;
    }

    #designProducts {
        width: 35%;
    }

    #designProducts li {
        height: 15em;
    }

    #designProducts li .overlay {
        font-size: 75%;
    }

    #detailid_902983 h5 {
        font-size: 1em;
    }

    #detailid_902983 h5 img {
        margin-right: 5px;
        max-width: 40px;
    }
}

@media only screen and (max-width: 1024px) {
body {
font-size: 112.5%;
}

.leftNav {
display: none;
}

.main.w-left:after {
display: none;
}

.middleColumn {
width: 100%;
}

.no-left .middle_when_no_right_side_bar {
width: 100%;
padding: 0 5% 1.5em;
}

.middle_when_right_side_bar {
width: 62%;
padding: 0 3.5% 0 5%;
}

.middle_when_no_right_side_bar,
 .middle_when_right_side_bar.middle_when_no_right_side_bar {
width: 100%;
}

#sidebar_content {
width: 34%;
}

#banner.landing-page .pageTitle {
font-size: 80%;
}

#banner.landing-page .imageDip {
background-attachment: inherit!important;
}

#banner.landing-page .pageTitle p {
font-size: 1.1em;
}

#banner .bannerImage {
height: 47vw;
}

#banner:after {
height: 7vw;
}

#banner .pageTitle {
margin-bottom: 0;
width: 75%;
}

#footerLogo {
width: 80%;
margin: 0 10% 1.5em;
}

#footerAddress,
#socialIcons,
#footerButtons {
width: 30%;
margin: 0 1.5%;
}

#design .text {
width: 100%;
text-align: center;
}

#designProducts {
width: 90%;
margin: 1em 5%;
min-height: 45vw;
}

#designProducts li {
height: 55vw;
}

#designProducts li .overlay {
font-size: 100%;
opacity: 1;
background: rgba(97,
98,
101,
0.7);
}

#designProducts li:hover,
 #designProducts li:focus,
 #designProducts li:active {
-moz-transform: scale(1);
-webkit-transform: scale(1);
-o-transform: scale(1);
-ms-transform: scale(1);
transform: scale(1);
}

#mobile .appText {
font-size: 80%;
margin: 5.5em 0 0;
width: 70%;
}

#mobile .appImage {
height: 90%;
top: 12%;
}

#accessibility .text p {
width: 80%;
margin: 0 10%;
}

#accessibility ul li h4 {
font-size: 1.15em;
}

#support .text {
width: 100%;
margin-bottom: 1.5em;
}

#team {
width: 100%;
padding: 0;
}

#stats .text {
width: 100%;
text-align: center;
}

#stats ul {
width: 100%;
position: relative;
top: auto;
right: auto;
-webkit-transform: none;
-ms-transform: none;
transform: none;
margin: 1.5em 0 0;
}

#cta li {
width: 32%;
}

#products img {
width: 40%;
}

#products ul li span.text {
display: none;
}

#products ul li a:hover,
 #products ul li a:focus,
 #products ul li a:active {
width: auto;
}

#iconFeature ul li {
width: 23%;
}

#iconFeature .itemBtm {
height: 100%;
}

#iconFeature .itemBtm .itemWrap {
height: auto;
}

#library {
padding-top: 9em;
}

.library-set .library-design {
flex-basis: 45%;
}

.library-set .library-design .library-title {
opacity: 1;
background: rgba(97,
98,
101,
0.7);
}

.library-gallery figcaption {
width: 100%;
background: rgba(255,
255,
255,
0.75);
}

    #detailid_935060 section a {
        width: 100%;
    }
}

@media only screen and (max-width: 1000px) {
    :root {
        --container-padding: 0 40px;
    }

    #entranceText h1 {
        font-size: 40px;
        line-height: 52px;
    }

    .homeRow h2 {
        font-size: 34px;
        line-height: 46px;
    }
}

@media only screen and (max-width: 980px) {
    h1,
    .titletext {
        font-size: 36px;
        line-height: 46px;
    }

    h2,
    .event-modal-title {
        font-size: 32px;
        line-height: 42px;
    }

    h3,
    h3.tool_heading {
        font-size: 28px;
        line-height: 38px;
    }

    .middle_when_right_side_bar {
        width: 100%;
    }

    #sidebar_content {
        margin: 0;
        width: 100%;
    }

    #banner.landing-page .pageTitle h1 {
        font-size: 2.75em;
    }

    td#detailid_908592 {
        display: block;
    }

    td#detailid_908592 > section,
    div#detailid_908593 {
        flex: 0 0 100%;
    }

    #detailid_908593 .right_content > table > tbody {
        margin-top: 20px;
    }

    #credit {
        flex-wrap: wrap;
        padding-right: 30px;
    }

    #credit p,
    #credit ul {
        flex: 1 1 100%;
    }

    #credit ul {
        padding: 10px 0;
        text-align: left;
    }

    #credit ul li a {
        padding: 0;
    }

    #CMS4SchoolsLogo {
        align-items: center;
        float: none;
    }

    #events .text {
        margin-bottom: 1.5em;
        text-align: center;
        width: 100%;
    }

    #events .text .button {
        margin: 1em 0;
    }

    #events ul li {
        font-size: 100%;
        margin: 0 1.5%;
    }

    #events ul {
        text-align: center;
        width: 100%;
    }

    .modal__content {
        flex-flow: row wrap;
    }

    .modal-column {
        flex-basis: 100%;
    }

    .library-gallery figure {
        flex-basis: 22%;
    }

    body.cms-landing-page .product-links.link-count-4 {
        grid-template-columns: repeat(2,1fr);
        grid-template-rows: repeat(2,1fr);
    }

    body.cms-landing-page .product-links.link-count-5,
    body.cms-landing-page .product-links.link-count-6 {
        grid-template-columns: repeat(2,1fr);
        grid-template-rows: repeat(3,1fr);
    }
}

@media only screen and (max-width: 900px) {
    #entranceImage {
        background-position: left top !important;
    }

    #entranceText {
        margin: 0 60px;
        width: 70%;
    }

    #banner .pageTitle {
        text-align: center;
        width: 100%;
    }

    #banner .pageTitle h1 {
        text-align: center;
    }

    #banner .pageTitle p {
        max-width: 100%;
    }

    #newFooter .main-wrapper {
        max-width: 100%;
        padding: 40px 12px;
        text-align: center;
    }

    #newFooter .footer-col {
        flex-basis: 50%;
    }

    #newFooter .footer-col.footer-logos {
        margin: 0;
        order: 3;
    }

    #newFooter .footer-col.first {
        order: 1;
    }

    #newFooter .footer-col.second {
        order: 2;
    }

    #newFooter .footer-col.footer-links {
        order: 4;
    }

    #newFooter .footer-col.first,
    #newFooter .footer-col.second {
        margin-bottom: 50px;
    }
}

@media only screen and (max-width: 850px) {
#mobile .appText {
width: 60%;
font-size: 70%;
}

#mobile .appImage {
width: 35%;
}

}

@media only screen and (max-width: 800px) {
    :root {
        --container-padding: 0 24px;
    }

    body {
        font-size: 106.25%;
    }

    #entranceText {
        height: auto;
        margin: 32px 16px 16px;
        top: 0;
        width: 80%;
    }

    .dynamic-lp #entranceText h1 {
        font-size: 34px;
        line-height: 44px;
    }

    ul.product-grid li a {
        padding: 32px 16px 24px;
    }

    .figure {
        margin: 0.5em 0 !important;
        text-align: center;
        width: 100% !important;
    }

    .figure img {
        max-width: 100% !important;
        width: auto;
    }

    #accessibility ul li {
        margin: 0.75em 0 !important;
        width: 100%;
    }

    #events ul li {
        font-size: 100%;
        margin: 0.75em 0;
        width: 100%;
    }

    #cta li {
        margin: 1em 0;
        width: 100%;
    }

    #cta li p {
        margin: 0 30%;
        width: 40%;
    }

    #iconFeature ul li {
        width: 47%;
    }

    .library-gallery figure {
        flex-basis: 30%;
    }

    body.cms-landing-page .product-links {
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .main_body_size ul.product-grid-wrapper {
        padding: 20px;
    }

    .product-grid-wrapper li {
        width: 100%;
    }

    .product-grid-wrapper .product-overlay {
        min-height: auto;
        padding: 0;
        position: relative;
        top: 0;
    }

    .product-grid-wrapper .product-link-text {
        margin: 10px 0;
    }

    .product-grid-wrapper .product-link-text svg {
        margin-left: 8px;
    }

    .homeRow .product-grid-wrapper {
        padding: 20px;
    }

    #detailid_935060 section .icon-title-container a {
        font-size: 28px;
        line-height: 36px;
    }
}

@media only screen and (max-width: 767px) {
    body, p, p a, table, td, tr, blockquote p, .main_body_size ol li, .main_body_size ul li {
        font-size: 20px;
        line-height: 34px;
    }

    #banner .page-title,
    .middleColumn {
        padding: 16px 32px;
    }

    h1,
    .titletext {
        font-size: 32px;
        line-height: 42px;
    }

    h2,
    .event-modal-title {
        font-size: 28px;
        line-height: 38px;
    }

    h3,
    h3.tool_heading {
        font-size: 24px;
        line-height: 34px;
    }

    #detailid_902983 h5 img {
        max-width: unset;
    }
}

@media only screen and (max-width: 700px) {
    #entranceText {
        width: calc(100% - 32px);
    }

    ul.product-grid li {
        flex-basis: 100%;
        margin: 8px 0;
    }

    ul.product-grid li a {
        padding: 24px;
    }

    ul.product-grid li img {
        width: 300px;
    }

    #banner.landing-page .pageTitle {
        top: 0;
        left: 0;
        transform: none;
        width: 100%;
        padding: 15px;
        overflow: hidden;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        height: 100%;
    }

    #banner.landing-page .pageTitle p {
        font-size: 1em;
    }

    #banner.landing-page p {
        display: none;
    }

    #footerAddress,
    #socialIcons,
    #footerButtons {
        width: 100%;
        margin: 0.75em 0;
        text-align: center;
    }

    #footerAddress span.icon {
    float: none;
    }

    #footerAddress span.title {
        position: relative;
        top: auto;
        transform: none;
        left: auto;
        padding-left: 0.5em;
        vertical-align: top;
        display: inline-block;
    }

    #footerButtons li {
    text-align: center;
    }

    #footerBtm .wrapper {
    flex-wrap: wrap;
    padding: 0 12px;
    }

    #credit,
    #CMS4SchoolsLogo {
    flex: 1 1 100%;
    }

    #CMS4SchoolsLogo {
    justify-content: center;
    padding: 15px 0;
    }

    #credit {
    order: 2;
    padding-right: 0;
    text-align: center;
    }

    #credit ul {
    text-align: center;
    }

    .library-set#essential-series-library .library-design,
    .library-set .library-design {
    flex-basis: 75%;
    }

    #newFooter .footer-col {
    flex-basis: 100%;
    }

    #newFooter .footer-col.first,
    #newFooter .footer-col.second {
    margin-bottom: 30px;
    }

    #newFooter .footer-logos a img {
    margin-bottom: 15px;
    }
}

@media only screen and (max-width: 600px) {
    :root {
        --container-padding: 0 12px;
    }

    #banner .page-title,
    .middleColumn {
        padding: 16px;
    }

    h1,
    .titletext {
        font-size: 28px;
        line-height: 38px;
    }

    h2,
    .event-modal-title {
        font-size: 24px;
        line-height: 34px;
    }

    h3,
    h3.tool_heading {
        font-size: 23px;
        line-height: 34px;
    }

    h4 {
        font-size: 22px;
        line-height: 32px;
    }

    h6 {
        font-size: 16px;
    }

    #mobile {
        padding-bottom: 3em;
    }

    .iform-form-wrapper tr.iform-details.text-input-element,
    .iform-form-wrapper tr.iform-details.text-area-element,
    .detail_iform table.iform-checkbox .iform-checkbox-wrapper > tr,
    .iform-form-wrapper input[type="text"],
    .iform-form-wrapper select,
    .iform-form-wrapper textarea,
    p.form-paragraph ~ div .iform-input-text-box {
        width: 300px;
    }

    #mobile .appImage {
        height: 60%;
    }

    #mobile .appText {
        width: 70%;
    }

    #stats .text h3 {
        font-size: 8.5em;
    }

    #stats ul {
        font-size: 80%;
    }

    #products img {
        width: 80%;
    }

    #products ul li a {
        font-size: 1em;
    }

    #entranceText h1 {
        font-size: 32px;
        line-height: 44px;
    }

    .homeRow h2 {
        font-size: 28px;
        line-height: 38px;
    }
}

@media only screen and (max-width: 500px) {
    .library-gallery figure {
        flex-basis: 45%;
    }
}

@media only screen and (max-width: 480px) {
    .wrapper {
        padding: 0 3.5%;
        width: 100%;
    }

    .header.fixed {
        left: 0;
        position: relative;
        top: 0;
    }

    #footerLogo {
        margin: 0 0 1.5em;
        width: 100%;
    }

    #entranceText h1 {
        font-size: 28px;
        line-height: 40px;
    }

    #entranceText .button-class {
        padding: 12px 16px;
    }

    #designProducts li .overlay {
        font-size: 80%;
    }

    #mobile .appImage {
        height: 35%;
    }

    #mobile .appText {
        width: 100%;
    }

    #mobile .appText h2 {
        padding-left: 25%;
        padding-bottom: 2em;
    }

    #team ul li {
        width: 28%;
    }

    #stats .text h3 {
        font-size: 6em;
    }

    #stats ul {
        font-size: 80%;
    }

    #stats ul li {
        width: 50%;
    }

    #stats ul li:nth-child(4) {
        border-bottom: 2px solid #e2e2e3;
    }

    #stats ul li:nth-child(3),
    #stats ul li:nth-child(6) {
        border-right: 2px solid #e2e2e3;
    }

    #stats ul li:nth-child(2n) {
        border-right: none !important;
    }

    #cta li p {
        margin: 0 10%;
        width: 80%;
    }

    #iconFeature ul li {
        width: 80%;
    }

    #team ul li {
        width: 47%;
    }
}