:root {
    --font-color: #fff;
    --anchor-color: #999;
    --heading-color: #fff;
    --input-font-color: #555;
    --bottom-border-color: #464955;
    --body-background-color: #363945;
    --transparent-light: rgba(0, 0, 0, 0.4);
    --transparent-dark: rgba(0, 0, 0, 0.3);
    --colour-gold: #FFD700;
    --colour-font-footer: #CCC;
    --accent-color: #13ABAC; /**green*/
    --accent-color: #15C4FE; /*blue*/
    --accent-color: #F0E100; /*yellow*/

    --accent-color: #475B5A; /*feldgrau*/
    --accent-font-color: #999; /*feldgrau*/

    --accent-color: #FFADC6; /*pink*/
    --accent-font-color: #FFADC6; /*pink*/

    --accent-color: #C6D8AF; /*tea green*/
    --accent-font-color: #C6D8AF; /*tea green*/

    --accent-color: #72A1E5; /*little blue boy*/
    --accent-font-color: #72A1E5; /*little blue boy*/

    --accent-color: #BFB5AF; /*pale silver*/
    --accent-font-color: #BFB5AF; /*pale silver*/

    --accent-color: #357266; /*myrtle green*/
    --accent-font-color: #A3BBAD; /*cambridge blue*/

    --accent-color: #2A628F; /*Lapis Lazuli*/
    --accent-font-color: #3E92CC; /*Tufts Blue*/
    --accent-hover-color: #3E92CC; /*Tufts Blue*/
    --anchor-color: #3E92CC;
}

@font-face {
    font-family: "Open_Sans";
    src: local("?");
    src: url(/assets/fonts/OpenSans-Regular-webfont?#iefix) format("embedded-opentype"), url(/assets/fonts/OpenSans-Regular-webfont.woff) format("woff"), url(/assets/fonts/OpenSans-Regular-webfont.ttf) format("truetype"), url(/assets/fonts/OpenSans-Regular-webfont.svg#OpenSans-Regular-webfont) format("svg");
}

@font-face {
    font-family: "Open_Sans_bold";
    src: local("?");
    src: url(/assets/fonts/OpenSans-Semibold-webfont.ttf?#iefix) format("embedded-opentype"), url(/assets/fonts/OpenSans-Semibold-webfont.woff) format("woff"), url(/assets/fonts/OpenSans-Semibold-webfont.ttf) format("truetype"), url(/assets/fonts/OpenSans-Semibold-webfont.svg#OpenSans-Semibold-webfont) format("svg");
}

@font-face {
    font-family: "FontAwesome";
    font-style: normal;
    font-weight: 400;
    src: url(/assets/fonts/fa-solid-900.eot);
    src: url(/assets/fonts/fa-solid-900.eot?#iefix) format("embedded-opentype"), url(/assets/fonts/fa-solid-900.woff2) format("woff2"), url(/assets/fonts/fa-solid-900.woff) format("woff"), url(/assets/fonts/fa-solid-900.ttf) format("truetype"), url(/assets/fonts/fa-solid-900.svg#fontawesome) format("svg");
}

/*//////////// FOUNDATION OVERRIDES /////////////*/
[class*=block-grid-] {
    /*reset uneeded width margin*/
    margin: 0;
    /*padding hack for left & right positioning*/
    /*no need for a columns wrapper on a list*/
    padding-left: 0.46875em;
    padding-right: 0.46875em;
}

/*////////////////////// ROOT //////////////////////*/
html {
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    font-size: 16px;
}

body {
    height: 100%;
    width: 100%;
    margin: 0;
    font-family: "Open_Sans", Arial, Helvetica, sans-serif;
    background-color: #363945;
    line-height: 1.6rem;
    font-size: 1rem;
    overflow: auto !important;
    color: var(--font-color);
}

html, body {
    overflow-x: hidden;
    height: 100%;
    -webkit-overflow-scrolling: touch;
}

/*////////////////////// XX //////////////////////*/
h1, h2, h3, h4, h5, h6 {
    margin-bottom: 1.4rem;
    color: var(--heading-color);
    font-family: "Open_Sans", Arial, Helvetica, sans-serif;
}

h1 {
    font-size: 2.441rem;
    text-align: center;
    margin-bottom: 3rem;
}

h1 span {
    font-size: 1.25rem;
    color: #555;
}

h2 {
    font-size: 1.953rem;
}

h3 {
    font-size: 1.35rem;
}

h4 {
    font-size: 1.25rem;
}

h4 i {
    margin-right: 0.75rem;
    color: var(--accent-font-color);
}

h5 {
    font-size: 1rem;
}

h6 {
    font-size: 0.8rem;
}

strong {
    font-family: "Open_Sans_bold", Arial, Helvetica, sans-serif;
    color: #222;
}

a, a:focus {
    color: var(--anchor-color);
    text-decoration: none;
    transition: color 200ms ease-out 0s;
}

a:hover {
    color: #fff;
}

a.bad, a.bad:focus, a.bad:hover {
    color: #C13E4D !important;
}

p {
    font-family: "Open_Sans", sans-serif;
    font-size: 1rem;
    margin-bottom: 1.5rem;
    line-height: 1.5rem;
}

span.bad {
    color: #C13E4D !important;
}

span.good {
    color: #55B778 !important;
}

span.dark {
    color: #000 !important;
}

span.normal {
    color: #555 !important;
}

span.light {
    color: #959595;
}

hr {
    border-color: var(--bottom-border-color);
}

ol {
    list-style: decimal;
    padding-left: 18px;
}

ol li {
    padding-left: 5px;
}

ul li ul, ul li ol {
    margin-left: 0;
}

/*////////////////////// INPUTS //////////////////////*/
form {
    float: left;
    width: 100%;
}

label, textarea, select, input[type=text], input[type=password], input[type=submit], button {
    float: left;
    width: 100%;
    margin: 0;
    font-size: 1rem;
    font-family: "Open Sans", sans-serif;
    box-shadow: none;
    color: var(--input-font-color);
}

label {
    width: auto;
    float: left;
    font-weight: normal;
    line-height: 19px;
    padding: 8px 0;
    cursor: default;
    color: var(--heading-color);
}

input[type=text], input[type=password], input[type=date] {
    float: left;
    height: 45px;
    padding: 0;
    background-color: #fff;
    border: 1px solid #ddd;
    padding: 0 0.75rem;
    border-radius: 0.25rem;
    box-shadow: none;
    font-size: 1rem;
    font-family: "Open Sans", sans-serif;
    margin: 0;
}

textarea {
    float: left;
    height: 150px;
    padding: 0.75rem;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 0.25rem;
    resize: none;
}

select {
    float: left;
    cursor: pointer;
    height: 45px;
    padding: 0 1rem 0 0.5rem;
    box-shadow: 0 1px 2px rgba(255, 255, 255, 0.1) inset;
    text-indent: 0.25rem;
    border: 1px solid #ddd;
    background-color: #fff;
    border-radius: 0.25rem;
    background-position: right 10px center;
}

select:hover {
    background-position: right 10px center;
}

option {
    padding: 0.5rem;
}

input[type=text].date {
    width: calc(100% - 24px);
}

input[type=checkbox] {
    float: left;
    margin: 0.95rem 1rem 0 0;
}

input[type=radio] {
    float: left;
    margin: 0.2rem 1rem 0 0;
}

ul.data li.title input[type=checkbox] {
    float: left;
    margin: 0 1rem 0 0;
}

input[type=submit], input[type=button], button {
    float: left;
    border-radius: 0.20rem;
    border: none;
    transition: background-color 200ms ease-out 0s;
    background-color: rgba(0, 0, 0, 0.4);
    font-family: "Open_Sans", Arial, Helvetica, sans-serif;
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-size: 1.1rem;
    line-height: 35px;
    padding: 0.30rem 1rem;
    text-align: center;
    text-decoration: none;
    width: auto;
}

input[type=submit]:hover,
input[type=button]:hover,
button:hover {
    /* background-color: var(--accent-hover-color);*/
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
}

img.auto {
    margin: auto;
}

a.btn_link {
    /* border: 2px solid #fff;
    padding: 0.5rem 1rem;
    font-family: "Oswald", sans-serif;
    font-size: 1.3rem;
    text-transform: uppercase;
    color: #fff;
    display: inline-block;
    font-size: 1.1rem;
    line-height: 35px;*/
    float: left;
    border-radius: 0.20rem;
    border: none;
    transition: background-color 200ms ease-out 0s;
    background-color: rgba(0, 0, 0, 0.4);
    font-family: "Open_Sans", Arial, Helvetica, sans-serif;
    display: inline-block;
    cursor: pointer;
    color: #fff;
    font-size: 1.1rem;
    line-height: 35px;
    padding: 0.30rem 1rem;
    text-align: center;
    text-decoration: none;
    width: auto;
}

a.btn_link:hover {
    /*background-color: rgba(255, 255, 255, 0.2);
    text-decoration: none;*/
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
}

/*input[type=file] {
    line-height: 19px;
    padding: 8px 0;
    margin: 0;
}

label.file {
    width: 100%;
    height: 50px;
    line-height: 38px;
    padding: 0.55em 4.5em;
    background: url(/assets/images/cms/upload.png) no-repeat left top transparent;
}

label.file:hover {
    color: #999;
}*/
/*////////////////////// WRAPERS //////////////////////*/

#header_wrap {
    float: left;
    width: 100%;
}

#header_holder {
    margin: auto;
    /*max-width: calc(100% - 17.875rem);
    min-width: calc(100% - 17.875rem);*/
    max-width: 1550px;
    min-width: 950px;
    min-height: 100%;
    font-size: 1.2rem;
}

#menu_wrap {
    float: left;
    width: 100%;
    background-color: var(--transparent-light);
    min-height: 100px;
}

#menu_holder {
    margin: auto;
    max-width: 1550px;
    min-width: 950px;
}

#pushy-menu-btn-holder {
    display: none;
}

#content_wrap {
    float: left;
    width: 100%;
}

#content_holder {
    width: 100%;
    margin: 4rem auto 1rem auto;
}

#footer_wrap {
    float: left;
    width: 100%;
}

#footer_holder {
    width: 100%;
    margin: auto;
    padding: 2rem 0;
    border-top-width: 1px;
    border-top-style: solid;
    border-top-color: var(--bottom-border-color);
    color: var(--colour-font-footer);
}


/*////////////////////// HEADER //////////////////////*/

#logo_wrap {
    float: left;
    display: block;
    height: 100px;
    padding: 0.50rem 0 0.50rem 0;
}

#logo_wrap img {
    height: 100%;
}

#search_wrap {
    float: left;
    width: auto;
    height: 100px;
    display: block;
}

#search_wrap form {
    /*width: auto;*/
    width: 16rem;
    margin: 20px 0 0 0;
}

#search_wrap form input[type=text] {
    /*width: 215px;*/
    width: 12.5rem;
    height: 30px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    border-right: none;
    margin: 0;
}

#search_wrap form button {
    float: left;
    /*width: 40px;*/
    width: 2rem;
    height: 30px;
    line-height: 30px;
    background-color: #fff;
    color: var(--input-font-color);
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    border-left: none;
}



#header_menu_wrap {
    float: right;
    width: auto;
    display: none;
}

ul#header_menu {
    float: left;
    width: auto;
}

ul#header_menu li {
    float: left;
    width: auto;
    line-height: 70px;
    font-size: 1.6rem;
    transition: background-color 200ms ease-out 0s;
}

ul#header_menu li:hover {
    background-color: var(--bottom-border-color);
}

ul#header_menu li a {
    display: block;
    cursor: pointer;
    padding: 0 15px;
    color: var(--accent-font-color);
}


ul#profile_menu {
    float: left;
    width: auto;
}

ul#profile_menu > li:first-child {
    height: 70px;
    line-height: 70px;
    cursor: pointer;
    position: relative;
    padding-right: 1rem;
}

ul#profile_menu > li:first-child i:first-child {
    margin: 0;
}

ul#profile_menu > li:first-child i {
    padding: 1rem;
    margin: 0 0 0 1rem;
}

ul#profile_menu > li:first-child img {
    width: 40px;
    height: 40px;
    border-radius: 25px;
    margin: 1.2rem 1rem 0 0;
}

ul#profile_menu li ul {
    position: absolute;
    visibility: hidden;
    right: 0;
    margin: 0;
    padding: 0;
    top: 100%;
    width: 230px;
    background-color: var(--body-background-color);
    -moz-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2);
    box-shadow: 0 3px 4px rgba(0, 0, 0, 0.2);
    transition: opacity 0.25s ease-in-out;
    -moz-transition: opacity 0.25s ease-in-out;
    -webkit-transition: opacity 0.25s ease-in-out;
}

ul#profile_menu li:hover ul {
    visibility: visible;
}

ul#profile_menu li ul li {
    border-bottom: solid 1px var(--bottom-border-color);
    transition: background-color 200ms ease-out 0s;
}

ul#profile_menu li ul li:last-child {
    border-bottom: none;
}

ul#profile_menu li ul li:hover {
    background-color: var(--bottom-border-color);
}

ul#profile_menu li ul a {
    display: block;
    font-size: 1rem;
    color: var(--font-color);
    padding: 1rem;
}


/*////////////////////// MENU //////////////////////*/
#main-menu {
    float: right;
    width: auto;
    min-height: 100%;
    /*text-align: center;*/
}

#main-menu li {
    /*float: none;*/
    display: inline-block;
    width: auto;
    transition: background-color 200ms ease-out 0s;
    border-top: 5px solid transparent;
}

#main-menu li:hover,
#main-menu li.active {
    background: var(--transparent-dark);
    border-top-color: var(--colour-gold);
    border-top-width: 5px;
    border-top-style: solid;
}

#main-menu li a {
    color: #fff;
    width: 100%;
    height: 100%;
    padding: 0 22px;
    color: #fff;
    display: block;
    line-height: 95px; /* same as height in logo_wrap*/
    font-size: 0.95rem;
}

#main-menu li i {
    padding-right: 1rem;
}


/*////////////////////// PUSHY MENU //////////////////////*/
#pushy-menu-btn-holder {
    float: right;
    width: auto;
    min-height: 100%;
}

#pushy-menu-btn-holder li {
    /*float: none;*/
    display: inline-block;
    width: auto;
    transition: background-color 200ms ease-out 0s;
    border-top: 5px solid transparent;
}

#pushy-menu-btn-holder li:hover {
    background: var(--transparent-dark);
    border-top-color: var(--colour-gold);
    border-top-width: 5px;
    border-top-style: solid;
}

#pushy-menu-btn-holder li i {
    color: #fff;
    width: 100%;
    height: 100%;
    padding: 0 22px;
    color: #fff;
    display: block;
    line-height: 100px; /* same as height in logo_wrap*/
    font-size: 1.5rem;
    cursor: pointer;
}

/*////////////////////// FOOTER //////////////////////*/
#footer_info_copyright_holder,
#footer_info_sleeptwitch_holder {
    float: left;
    width: 50%;
    line-height: 40px;
    font-size: 14px;
}

#footer_info_sleeptwitch_holder ul li {
    line-height: 40px;
}

#footer_info_sleeptwitch_holder ul li a {
    color: var(--colour-font-footer);
}

#footer_info_sleeptwitch_holder ul li img {
    display: inline-block;
    height: 100%;
    vertical-align: middle;
}

/*////////////////////// CONTENT //////////////////////*/
#page_title {
    float: left;
    width: 100%;
    border-bottom: 1px solid var(--bottom-border-color);
    margin: 2rem 0 3rem 0;
    color: var(--accent-font-color);
}

#page_title ul {
    padding-left: 0.9375rem;
}

#page_title i {
    font-size: 1.2rem;
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
}

.content-area ul {
    padding-left: 1.5rem; /* space for bullets */
    margin-bottom: 1rem;
}

.content-area ul li {
    list-style-type: disc;
    list-style-position: outside; /* bullet stays outside */
    padding-left: 0.5rem;
    margin-bottom: 0.5rem;
}

/*#page_menu {
    width: 16rem;
    float: left;
}

#page_menu li {
    border-bottom: 1px solid var(--bottom-border-color);
}

#page_menu li a {
    padding: 0.70rem 1rem 0.70rem 1rem;
    text-indent: 0;
    display: block;
    color: var(--font-color);
    background-color: var(--accent-color);
    transition: background-color 200ms ease-out 0s;
}

#page_menu li a:hover {
    background-color: var(--accent-hover-color);
}

#page_menu li i {
    margin-right: 0.5rem;
}*/
/*#page_content form {
    border: 1px solid var(--bottom-border-color);
    padding: 1rem 0 0 0;
}
*/
#footer_info_sleeptwitch {
    float: right;
    width: auto;
}

#footer_info_sleeptwitch li {
    float: left;
    width: auto;
}
/*////////////////////// OVERRIDES //////////////////////*/
.full_width {
    width: 100%;
}

.site_auto {
    margin: auto;
    max-width: 1600px;
    min-width: 950px;
}

.auto, ul.auto li {
    width: auto;
}

.right {
    float: right !important;
}

.txt-right {
    text-align: right !important;
}

.left {
    float: left !important;
}

.txt-left {
    text-align: left !important;
}

.no-border {
    border: none !important;
}

.no-margin {
    margin: 0 !important;
}

.no-pad {
    padding: 0 !important;
}

.no-pad-btm {
    padding-bottom: 0 !important;
}

.no-pad-left {
    padding-left: 0 !important;
}

.no-pad-right {
    padding-right: 0 !important;
}

.margin-auto {
    margin: auto;
}

.margin-top-1 {
    margin-top: 1rem !important;
}

.margin-top-2 {
    margin-top: 2rem !important;
}

.margin-top-3 {
    margin-top: 3rem !important;
}

.margin-top-4 {
    margin-top: 4rem !important;
}

.margin-btm-1 {
    margin-bottom: 1rem !important;
}

.margin-btm-2 {
    margin-bottom: 2rem !important;
}

.margin-btm-3 {
    margin-bottom: 3rem !important;
}

.margin-btm-4 {
    margin-bottom: 4rem !important;
}

.pad-top-1 {
    padding-top: 1rem !important;
}

.pad-top-2 {
    padding-top: 2rem !important;
}

.w5 {
    width: 5px;
}

.w10 {
    width: 10px;
}

.w15 {
    width: 15px;
}

.w20 {
    width: 20px;
}

.w25 {
    width: 25px;
}

.w30 {
    width: 30px;
}

.w35 {
    width: 35px;
}

.w40 {
    width: 50px;
}

.w45 {
    width: 55px;
}

.w50 {
    width: 50px;
}
/*////////////////////// PAGER //////////////////////*/
.pager-wrap {
    float: left;
    width: 100%;
    padding: 0.75rem 1rem;
    margin: 0;
    background-color: var(--accent-color);
    color: #fff;
}

ul.pager-list li:first-child {
    margin-right: 1rem;
}

ul.pager-list li {
    float: left;
    width: auto;
    margin-right: 0.25rem;
    line-height: 26px;
}

ul.pager-list li:last-child {
    margin-right: 0;
}

ul.pager-list li a {
    color: #fff;
    width: 26px;
    height: 26px;
    display: block;
    text-align: center;
}

ul.pager-list li a:hover {
    color: #fff;
    background-color: var(--accent-hover-color);
    border-radius: 13px;
}

ul.pager-list li a.active {
    color: #fff;
    background-color: var(--accent-hover-color);
    border-radius: 13px;
}

/*//////////////// FILE UPLOADER ///////////////////*/
ul.upload-list li {
    position: relative;
}

ul.upload-list li .file-wrap {
    z-index: 8000;
}

ul.upload-list li .file-icons {
    width: 40px;
    float: left;
    position: relative;
}

ul.upload-list li .file-name {
    width: calc(100% - 40px);
    float: left;
    padding: 6px 0;
    position: relative;
}

ul li .file-progress {
    z-index: 1;
    width: 0px;
    height: 100%;
    position: absolute;
    background: #dbdbdb;
    opacity: 0.5;
    left: 0px;
    top: 0px;
}


/*///////////// DATA LIST /////////////////*/
ul.data {
    width: 100%;
    padding: 0;
}

ul.data li {
    padding: 0.75rem;
    margin-bottom: 0;
    border-bottom: solid 1px var(--bottom-border-color);
}

ul.data li:last-child {
    border-bottom: none;
}

ul.data > li.title {
    padding-left: 1rem;
    padding-right: 1rem;
    color: #fff;
}

ul.data > li.no_data {
    /* padding-left: 1rem;
    padding-right: 1rem;
    color: #fff;*/
    padding: 0.75rem 1rem;
    margin: 0;
    background-color: var(--accent-color);
}

ul.data > li.active {
    background-color: var(--bottom-border-color);
}

ul.data li.ui-sortable-placeholder {
    width: 100%;
    padding: 1rem;
    margin-bottom: 0;
    border: 1px dashed var(--accent-font-color);
    height: 38px !important;
}

/*////////////////////// FORMS //////////////////////*/
.form-wrap {
    float: left;
    width: 100%;
}

.form-row {
    float: left;
    width: 100%;
    margin-bottom: 1em;
    line-height: 35px;
}

/*.tiny-mce-wrap > .mce-content-body {
    font-family: "Open_Sans", Arial, Helvetica, sans-serif!important;
    line-height: 1.6rem!important;
    font-size: 1rem!important;
}*/
/*///////////// MESSAGE AREAS /////////////////*/
.success_holder, .info_holder, .validation-summary-errors {
    float: left;
    width: 100%;
    padding: 0.9rem 1.5rem 1.5rem 3.2rem;
    line-height: 1.4rem;
    margin: 0;
}

.success_holder {
    background: url(/assets/images/icons/success.png) no-repeat scroll 10px 15px #ebf7ef;
    border: 1px solid #d2ecdc;
    color: #55B778;
}

.info_holder {
    background: url(/assets/images/icons/info.png) no-repeat scroll 10px 15px #e0f0f7;
    border: 1px solid #c4e2f0;
    color: #369CCB;
}

.validation-summary-errors {
    background: url(/assets/images/icons/error.png) no-repeat scroll 10px 15px #f5e0e3;
    border: 1px solid #d2ecdc;
    color: #C13E4D;
}

.validation-summary-errors span {
    float: left;
    width: 100%;
}

.validation-summary-errors ul {
    float: left;
    margin: 10px 0px 0px 0px;
    padding-left: 0.75rem; /* space for bullets */
    list-style-position: outside; /* ensures bullets stay outside text */
}

.validation-summary-errors ul li {
    width: 100%;
    list-style-type: disc;
    display: list-item;
    min-height: 20px;
    line-height: 20px;
    padding-left: 0.5em; /* adjust to align text neatly */
    text-indent: 0; /* ensures wrapped lines align with first */
}

.field-validation-error {
    float: right;
    color: #B5453C;
}

.field-validation-valid {
    display: none;
}

input[type=text].input-validation-error, input[type=password].input-validation-error, input[type=date].input-validation-error, textarea.input-validation-error, select.input-validation-error {
    background-color: #f5e0e3;
    border: 1px solid #ecc5ca;
}


/*///////////// VIDEO /////////////////*/
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}


/*///////////////// FLEX LIST ///////////////////*/
.flex_list {
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: row wrap;
    flex-flow: row wrap;
}

.flex_list > li {
    border: 1rem solid;
    border-color: rgba(0, 0, 0, 0.3);
    padding: 0;
    background: transparent;
    background-color: rgba(0, 0, 0, 0.2);
}

.flex_list > li:nth-child(2n+1) {
    border-bottom: none;
}

.flex_list > li > .txt-content {
    padding: 1rem;
}

.flex_list > li > .txt-content:last-child {
    padding-bottom: 0;
}

.flex_list > li .txt-content img {
    border: 5px solid #fff;
}

.flex_list > li > h2 {
    z-index: 10;
    position: absolute;
    top: 0;
    left: 0;
    text-align: right;
    text-transform: uppercase;
    background: var(--colour-gold);
    font-size: 1.3rem;
    padding: 0.5rem 1rem;
    color: #fff;
    font-weight: 700;
    margin: 0;
    text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.4);
}

/*///////////// FOUNDATION MEDIUM /////////////////*/
@media screen and (max-width: 1024px) {
    .flex_list > li:first-child {
        border: 1rem solid;
        border-color: rgba(0, 0, 0, 0.3);
    }
}



/*/////////////// FLEX WRAPPER //////////////*/
.flex-container {
    display: flex;
    width: 100%;
    flex-wrap: wrap;
    column-gap: 2rem;
    /*justify-content: center;*/ /* Center horizontally */
    /*align-items: center;*/ /* Center vertically */
    /*height: 200px;*/ /* Required to see vertical centering */
}

.flex-container ul {
    list-style-type: disc;
    list-style-position: outside;
    padding-left: 1rem;
}

.flex-container li {
    margin-bottom: 1.3rem;
    padding-left: 1rem;
}

/*/////////////////// FULL WIDTH ///////////////////*/
.full-width-block-item {
    float: left;
    width: 100%;
    height: auto;
    margin-bottom: 4rem;
    position: relative;
}

.full-width-block-item h3 {
    font-size: 2.3rem;
    /* font-family: "Fira_Sans_Light", Arial, Helvetica, sans-serif;*/
    /*color: var(--grey-light-alt);*/
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--blue-dark);
}

.full-width-block-item h3 span.first-word {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--blue-dark);
}

.full-width-block-item video {
    width: 100%;
    height: 100%;
}

/*/////////////////// FLEX FULL WIDTH SPLIT CONTENT //////////////////*/
.split-content-block-item {
    float: left;
    width: 100%;
    height: auto;
    margin-bottom: 4rem;
    color: var(--white);
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    position: relative;
}

.split-content-block-item h3 {
    font-size: 2.3rem;
    /*font-family: "Fira_Sans_Extra_Light", Arial, Helvetica, sans-serif;*/
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--white);
}

.split-content-block-item h3 span.first-word {
    font-family: "Fira_Sans_Extra_Bold", Arial, Helvetica, sans-serif;
}

.split-content-block-item .content-area {
    padding: 3rem;
}

.split-content-block-item .content-area .content-title {
    font-weight: 900;
}

.split-content-block-item .blue {
    background-image: url(/clean-assets/images/public/shard-split-content.png);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-color: var(--blue);
    background-size: contain;
}

.split-content-block-item .blue-very-dark {
    background-color: var(--blue-very-dark);
}

.split-content-block-item .white {
    color: var(--blue);
}

.split-content-block-item .white h3 {
    color: var(--blue);
}

.split-content-block-item .white h3 span.first-word {
    color: var(--blue);
}

.split-content-block-item img {
    object-fit: cover;
}

.split-content-block-item .inner-pad {
    /*padding: 5rem 4rem 7rem 4rem;*/
    padding: 7rem 4rem 5rem 4rem;
}

.split-content-block-item h3 {
    color: var(--white);
}

.split-content-block-item .no-background-img {
    background-image: none;
}

@media screen and (max-width: 1024px) {
    .split-content-block-item .inner-pad {
        padding: 3rem 4rem 3rem 4rem;
    }
}

@media screen and (max-width: 810px) {
    .split-content-block-item .inner-pad {
        padding: 3rem 4rem 3rem 4rem;
    }
}

/* only flex on large screens */
@media screen and (min-width: 1024px) {
    .split-content-block-item {
        display: flex;
    }

    .split-content-block-item .blue {
        display: flex;
    }

    .split-content-block-item .image {
        display: flex;
    }
}

/*/////////////////// FLEX SHADOW COLUMNS //////////////////*/
.flex-box-shadow-item {
    float: left;
    position: relative;
    box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
    padding: 0;
    margin-bottom: 2rem;
    /*margin-right: 1rem;*/
}

.flex-box-shadow-item h3 {
    font-size: 2.3rem;
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--blue-dark);
}

.flex-box-shadow-item h3 span.first-word {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--blue-dark);
}


.flex-box-shadow-item h3.green {
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    line-height: 2.5rem;
    font-size: 2rem;
    color: var(--green-dark);
    text-transform: none;
}

.flex-box-shadow-item.full-inner-pad {
    padding: 3rem !important;
}

.flex-box-shadow-item.col-1 {
    width: calc(100% - 1rem) !important;
}

.flex-box-shadow-item.col-2 {
    width: calc(50% - 1rem) !important;
}

.flex-box-shadow-item.col-2-3 {
    width: calc(66.8% - 1rem) !important;
}

.flex-box-shadow-item.col-3 {
    /*width: calc(33.45% - 1.5rem) !important;*/
    width: calc(33.48% - 1.5rem) !important;
}

.flex-box-shadow-item.col-3-4 {
    width: calc(75% - 0.5rem) !important;
}

.flex-box-shadow-item.col-4 {
    width: calc(25% - 1.5rem) !important;
}

.flex-box-shadow-item .img-holder {
    position: relative;
}

.flex-box-shadow-item.col-2:nth-last-child(2),
.flex-box-shadow-item.col-3:nth-last-child(3),
.flex-box-shadow-item.col-4:nth-last-child(4) {
    margin-right: 0 !important;
}

.flex-box-shadow-item .img-shim {
    position: absolute;
    left: 2rem;
    bottom: -2.5px;
    width: 20%;
    height: 5px;
    background-color: var(--grey);
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
    padding: 0 2rem 0 2rem;
}

.flex-box-shadow-item.grey {
    background-color: var(--grey-light);
}

.flex-box-shadow-item .img-shim.blue {
    background-color: var(--blue-dark);
}

.flex-box-shadow-item .img-shim.white {
    background-color: var(--white);
}

.flex-box-shadow-item .img-shim.green {
    background-color: var(--green);
}

.flex-box-shadow-item .more-link {
    position: absolute;
    left: 0;
    bottom: 0;
    margin-bottom: 2rem;
}

.flex-box-shadow-item.no-shadow {
    box-shadow: none !important;
}

.flex-box-shadow-item .inner-pad {
    padding: 0rem 2rem 5rem 2rem !important;
}

.flex-box-shadow-item.blue {
    background-image: url(/clean-assets/images/public/shard-quarter-content.png);
    background-repeat: no-repeat;
    background-position: bottom left;
    background-color: var(--blue);
    background-size: contain;
    color: var(--white);
}

.flex-box-shadow-item.blue h3 {
    font-size: 2.3rem;
    /*font-family: "Fira_Sans_Extra_Light", Arial, Helvetica, sans-serif;*/
    font-family: "Fira_Sans_Bold", Arial, Helvetica, sans-serif;
    color: var(--white);
}

.flex-box-shadow-item.blue h3 span.first-word {
    font-family: "Fira_Sans_Extra_Bold", Arial, Helvetica, sans-serif;
    color: var(--white);
}

@media screen and (max-width: 1024px) {
    .flex-box-shadow-item.no-shadow {
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2) !important;
    }

    .flex-box-shadow-item .inner-pad {
        padding: 0rem 2rem 10rem 2rem !important;
    }

    .flex-box-shadow-item.col-2 {
        width: 100% !important;
    }

    /*.flex-box-shadow-item.col-2-3 {
        width: 100% !important;
    }*/

    .flex-box-shadow-item.col-3-4 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-4 {
        width: 100% !important;
    }

    /*.flex-box-shadow-item.col-4 {
        width: calc(50% - 1rem) !important;
    }*/
}

@media screen and (max-width: 810px) {
    .flex-box-shadow-item.no-shadow {
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2) !important;
    }

    .flex-box-shadow-item .inner-pad {
        padding: 0rem 2rem 8rem 2rem !important;
    }

    .flex-box-shadow-item.col-2-3 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-3 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-3-4 {
        width: 100% !important;
    }

    .flex-box-shadow-item.col-4 {
        width: 100% !important;
    }
}





.float-left {
    float: left !important;
}

.float-right {
    float: right !important;
}

/*///////////// VERY LARGE /////////////////*/
/*@media screen and (max-width: 10000px) {
    #header_holder {
        max-width: calc(100% - 60rem);
        min-width: calc(100% - 40rem);
    }

    #menu_holder {
        max-width: calc(100% - 40rem);
        min-width: calc(100% - 40rem);
    }

    #content_holder {
        max-width: calc(100% - 40rem);
        min-width: calc(100% - 40rem);
    }

    #footer_holder {
        max-width: calc(100% - 40rem);
        min-width: calc(100% - 40rem);
    }
}*/


/*///////////// VERY LARGE /////////////////*/
@media screen and (min-width: 1024px) {
    #header_holder {
        max-width: calc(100% - 25rem);
        min-width: calc(100% - 25rem);
    }

    #menu_holder {
        max-width: calc(100% - 25rem);
        min-width: calc(100% - 25rem);
    }

    #content_holder {
        max-width: calc(100% - 25rem);
        min-width: calc(100% - 25rem);
    }

    #footer_holder {
        max-width: calc(100% - 25rem);
        min-width: calc(100% - 25rem);
    }

    /* main body content */
    #page_title {
        margin: 2rem 0 2rem 0;
    }

    #page_menu {
        width: 100%;
        margin: 0 0 2rem 0;
    }

    #page_menu ul {
        width: auto
    }

    #page_menu ul li {
        width: auto;
        border: 1px solid var(--bottom-border-color);
        margin: 0 0.5rem 0 0;
    }
}

/*///////////// PRETTY  LARGE /////////////////*/
/*@media screen and (min-width: 1023px) {
    #header_holder {
        max-width: calc(100% - 30rem);
        min-width: calc(100% - 30rem);
    }

    #menu_holder {
        max-width: calc(100% - 30rem);
        min-width: calc(100% - 30rem);
    }

    #content_holder {
        max-width: calc(100% - 30rem);
        min-width: calc(100% - 30rem);
    }

    #footer_holder {
        max-width: calc(100% - 30rem);
        min-width: calc(100% - 30rem);
    }
}*/


/*///////////// LARGE BESPOKE FOR MENU/////////////////*/
@media screen and (max-width: 1130px) {
    /* turn off main menu and switch to burger */
    #main-menu {
        display: none;
    }

    #pushy-menu-btn-holder {
        display: inline;
    }
}


/*///////////// FOUNDATION LARGE /////////////////*/
@media screen and (max-width: 1024px) {
    #header_holder {
        max-width: calc(100% - 12rem);
        min-width: calc(100% - 12rem);
    }

    #menu_holder {
        max-width: calc(100% - 12rem);
        min-width: calc(100% - 12rem);
    }

    #content_holder {
        max-width: calc(100% - 10rem);
        min-width: calc(100% - 10rem);
    }

    #footer_holder {
        max-width: calc(100% - 12rem);
        min-width: calc(100% - 12rem);
    }
}

/*///////////// FOUNDATION MEDIUM /////////////////*/
@media screen and (max-width: 840px) {
    #header_holder {
        max-width: calc(100% - 12rem);
        min-width: calc(100% - 12rem);
    }

    #menu_holder {
        max-width: calc(100% - 12rem);
        min-width: calc(100% - 12rem);
    }

    #content_holder {
        max-width: calc(100% - 8rem);
        min-width: calc(100% - 8rem);
    }

    #footer_holder {
        max-width: calc(100% - 12rem);
        min-width: calc(100% - 12rem);
    }

    /* footer responsivness */
    #footer_info_copyright_holder,
    #footer_info_sleeptwitch_holder {
        float: none;
        width: 100%;
    }

    #footer_info_copyright_holder {
        float: none;
        text-align: center;
    }

    #footer_info_sleeptwitch {
        float: none;
        text-align: center;
    }

    #footer_info_sleeptwitch li {
        display: inline-block;
        float: none;
        width: auto;
    }
}


/*///////////// FOUNDATION SMALL /////////////////*/
@media screen and (max-width: 640px) {
    #header_holder {
        max-width: calc(100% - 3rem);
        min-width: calc(100% - 3rem);
    }

    #menu_holder {
        max-width: calc(100% - 3rem);
        min-width: calc(100% - 3rem);
    }

    #content_holder {
        max-width: calc(100% - 3rem);
        min-width: calc(100% - 3rem);
    }

    #footer_holder {
        max-width: calc(100% - 3rem);
        min-width: calc(100% - 3rem);
    }

    .no-pad-small {
        padding: 0 !important;
    }

    input[type=submit], input[type=button], button {
        width: 100%;
    }

    p {
        margin-bottom: 1.3rem;
        line-height: 1.5rem;
    }

    a.btn_link {
        width: 100%;
        text-align: center;
    }
}

/*///////////// VERY SMALL SCREEN /////////////////*/
@media screen and (max-width: 400px) {
    #header_holder {
        max-width: calc(100% - 2rem);
        min-width: calc(100% - 2rem);
    }

    #menu_holder {
        max-width: calc(100% - 2rem);
        min-width: calc(100% - 2rem);
    }

    #content_holder {
        max-width: calc(100% - 2rem);
        min-width: calc(100% - 2rem);
    }

    #footer_holder {
        max-width: calc(100% - 2rem);
        min-width: calc(100% - 2rem);
    }
}


.cssload-spin-box {
    position: absolute;
    margin: auto;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    width: 15px;
    height: 15px;
    border-radius: 100%;
    box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -o-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -ms-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -webkit-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    -moz-box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    animation: cssload-spin ease infinite 4.6s;
    -o-animation: cssload-spin ease infinite 4.6s;
    -ms-animation: cssload-spin ease infinite 4.6s;
    -webkit-animation: cssload-spin ease infinite 4.6s;
    -moz-animation: cssload-spin ease infinite 4.6s;
}

@keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-o-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-ms-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-webkit-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}

@-moz-keyframes cssload-spin {
    0%, 100% {
        box-shadow: 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf;
    }

    25% {
        box-shadow: -15px 15px #dfdfdf, -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49;
    }

    50% {
        box-shadow: -15px -15px #4f4d49, 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf;
    }

    75% {
        box-shadow: 15px -15px #dfdfdf, 15px 15px #4f4d49, -15px 15px #dfdfdf, -15px -15px #4f4d49;
    }
}
