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

:root {
    --sans: "NeueHaasGroteskDisplay55Roman", "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --sans-italic: "NeueHaasGroteskDisplay56Italic", "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --sans-bold: "NeueHaasGroteskDisplay75Bold", "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --sans-bold-italic: "NeueHaasGroteskDisplay76BoldItalic", "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --sans-light: "NeueHaasGroteskDisplay45Light", "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --sans-medium: "NeueHaasGroteskDisplay65Medium", "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    --knockout: "KnockoutNo.49Lightweight";
}


/*--------------------------------------------------------
	Font Assignments
--------------------------------------------------------*/

body {
    font-family: 'Playfair Display', serif;
    font-family: var(--sans);
    font-size: 16px;
    line-height: 1.428571429;
    color: #231F20;
    background-color: #525252;
    max-width: 100%;
    overflow-x: hidden;
}

header,
footer,
nav {
    font-family: 'Playfair Display', serif;
    font-family: var(--sans);
    font-size: 16px;
    color: #231F20;
}

@media (max-width: 500px) {
    .site-wrapper {
        overflow-x: hidden;
    }
}


/*--------------------------------------------------------
	Utilities
--------------------------------------------------------*/

.fullscreen-banner {
    position: relative;
    margin-left: -50vw;
    left: 50%;
    right: 0px;
    width: 100vw;
}

@media (min-width:768px) {
     :root {
        --side-margin: calc((100vw - 750px) / 2);
    }
}

@media (min-width:991px) {
     :root {
        --side-margin: calc((100vw - 970px) / 2);
    }
    .wrapper {
        width: 970px;
    }
}

@media (min-width:1201px) {
     :root {
        --side-margin: calc((100vw - 1170px) / 2);
    }
    .wrapper {
        width: 1170px;
    }
}


/*  Wrappers
   *.wrapper acts as a more symantic stand in for <container><row><col-md-12></col-md-12></row></container> in sections of this build that don't require stacking columns 
*/

.wrapper {
    margin-right: auto;
    margin-left: auto;
    max-width: 100%;
    position: relative;
    height: inherit;
    padding-left: 15px;
    padding-right: 15px;
}

.full-width {
    /* Make an element span the width of the viewport */
    position: relative;
    left: calc(var(--side-margin) * -1);
    right: calc(var(--side-margin) * -1);
    width: calc(100vw + 13px);
}

.img-responsive.full-width:not(#mycanvas img) {
    /* Make sure that when the system automatically adds the class .img-responsive that it doesn't break .full-width. This is not applied to images viewed on the Grid Editor page. */
    max-width: unset;
}

#gm-canvas .full-width {
    left: unset;
    right: unset;
    width: unset;
}

@media (max-width: 990px) {
    .wrapper,
    .container {
        /* Extra wiggle room at a breakpoint that needs it  */
        width: 100%;
    }
    .full-width {
        --side-margin: -15px;
        left: var(--side-margin);
        right: var(--side-margin);
        width: calc(100vw + 30px);
    }
}

.button-link {
    display: block;
    text-transform: uppercase;
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans-bold);
    width: fit-content;
    font-size: 24px;
    background: white;
    outline: 1px solid var(--color);
    padding: .75rem clamp(15px, 5vw, 4ch);
    border-radius: .5em;
    color: var(--color);
    font-weight: bold;
    transition: .125s color ease-in-out;
    text-align: center;
}

.button-link:hover,
.button-link:focus {
    color: #177981;
    text-decoration: none;
}

#mycanvas .button-link {
    --color: #333;
}

.button-link:not(:last-child) {
    margin-bottom: 1em;
}

.button-link:not(:first-child) {
    margin-top: 1em;
}


/*--------------------------------------------------------
	Top Menu
--------------------------------------------------------*/

section.top nav.topbar #navbar ul.navbar-nav li a[href="https://mms.rolf.org/members/directory/search_rolf_FAR.php"],
section.top nav.topbar #navbar ul.navbar-nav li a[href="https://rolf.org/apply.php"] {
    color: #237174;
    color: #4da8a4;
    transition: .125s color ease-in-out;
}

section.top nav.topbar #navbar ul.navbar-nav li a[href="https://mms.rolf.org/members/directory/search_rolf_FAR.php"]:hover,
section.top nav.topbar #navbar ul.navbar-nav li a[href="https://mms.rolf.org/members/directory/search_rolf_FAR.php"]:focus,
section.top nav.topbar #navbar ul.navbar-nav li a[href="https://rolf.org/apply.php"]:hover,
section.top nav.topbar #navbar ul.navbar-nav li a[href="https://rolf.org/apply.php"]:focus {
    color: #BA7B59;
}

section.top nav.topbar .searchbar .input-group-btn>button,
section.top nav.topbar #navbar .navbar-form .btn-default {
    background-image: url(../images/search.svg);
    background-color: white;
    background-size: 20px;
    background-repeat: no-repeat;
    background-position-y: 4px;
}


/*--------------------------------------------------------
	Log-in Modal
--------------------------------------------------------*/

.modal-header {
    /*Applies to any modal on the site*/
    border: none;
}

#login-modal .modal-dialog {
    max-width: 260px;
    font-size: 16px;
}

#login-modal input[name="Username"],
#login-modal input[name="Password"] {
    width: 100%;
    padding-left: .25em;
    padding-right: .25em;
    margin-bottom: 0.5em;
    height: 2em;
}

#login-modal a {
    display: block;
    margin-bottom: .5em;
}

#login-modal input[type="submit"] {
    color: #177981;
    border-color: #177981;
    border-width: 1px;
    border-style: solid;
    text-transform: none;
    font-weight: bold;
    font-size: 1em;
    padding: .5em 1.5em;
    box-sizing: content-box;
    width: 7em;
    max-width: 100%;
    text-align: center;
    display: block;
    -webkit-transition: .5s all;
    -o-transition: .5s all;
    transition: .5s all;
    line-height: 1em;
    text-decoration: none;
    background: transparent;
    margin-left: auto;
    margin-right: auto;
}

#login-modal input[type="submit"]:hover {
    color: #BA7B59;
    border-color: #BA7B59;
    text-decoration: none;
}


/*--------------------------------------------------------
	Menus
--------------------------------------------------------*/

.dropdown-submenu b.caret {
    display: none;
}

@media (min-width: 1200px) {
    ul.navbar-nav>li.dropdown>ul.dropdown-menu {
        /*Style replaces need for .dropdown-menu-left*/
        left: 0;
        right: auto;
    }
}

@media (max-width: 1200px) {
    .open {
        display: block;
    }
}

#navbar2 li.memonly_grey a {
    opacity: .5;
}

#navbar2 a[href*="faculty.php"]+ul>li>a[href*="faculty.php"],
#navbar2 a[href*="visitors.php"]+ul>li>a[href*="visitors.php"],
#navbar2 a[href*="about-the-institute.php"]+ul a[href*="about-the-institute.php"]+ul>li>a[href*="about-the-institute.php"] {
    display: none;
}

@media (max-width: 1200px) {
    #navbar2 a[href*="faculty.php"]+ul>li>a[href*="faculty.php"],
    #navbar2 a[href*="visitors.php"]+ul>li>a[href*="visitors.php"],
    #navbar2 a[href*="about-the-institute.php"]+ul a[href*="about-the-institute.php"]+ul>li>a[href*="about-the-institute.php"] {
        display: block;
    }
    #navbar2 .navbar-header {
        float: none;
    }
    #navbar2 .navbar-collapse {
        border-top: 1px solid transparent;
        box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
    }
    #navbar2 .navbar-collapse.collapse {
        display: none!important;
    }
    #navbar2 .navbar-nav {
        float: none!important;
        margin: 7.5px -15px;
    }
    #navbar2 .navbar-nav>li {
        float: none;
    }
    #navbar2 .navbar-nav>li>a {
        padding-top: 10px;
        padding-bottom: 10px;
    }
    /* since 3.1.0 */
    #navbar2 .navbar-collapse.collapse.in {
        display: block!important;
    }
    #navbar2 .collapsing {
        overflow: hidden!important;
    }
}


/*--------------------------------------------------------
	Homepage Annoucements Banner
--------------------------------------------------------*/


/*#announcements > .column {
	margin-bottom: -1px;
}*/

#announcements {
    display: none;
}

#announcements>.column>* {
    background: #561A40;
    color: white;
    margin: 0;
    text-align: center;
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans);
    font-size: 20px;
    padding: 10px;
}

#announcements.show-announcements {
    display: block;
}

#announcements.gm-editing {
    display: block !important;
}


/*--------------------------------------------------------
	Homepage Slideshow
--------------------------------------------------------*/

#slide-row {
    margin-bottom: 48px;
    --size: 40px;
}

#slide-row>.column {
    padding: 0;
}

#slide-row img {
    width: 100%;
}


/* Journal modal */

#journal-modal-trigger {
    background: #8F3660;
    color: white;
    text-align: center;
    display: inline-block;
    width: 300px;
    max-width: 100%;
    padding: .75rem 2ch;
    font-style: italic;
    font-family: var(--sans-italic);
    text-decoration: underline;
    transition: .125s background ease-in-out;
    z-index: 2;
}

#journal-modal-trigger:hover,
#journal-modal-trigger:focus {
    background: #65B5BB;
}

#journal-modal-trigger:not(#mycanvas #journal-modal-trigger) {
    position: absolute;
    top: 1rem;
    left: 0;
}

@media (max-width: 1100px) {
    #journal-modal-trigger:not(#mycanvas #journal-modal-trigger) {
        top: 0;
    }
}


/* Newsletter Form */

.form-row {
    display: grid;
    gap: 3ch;
    grid-template-columns: 40px 1fr;
}

.form-row+.form-row {
    margin-top: .5rem;
}

.captcha-row>*,
.submit-row>* {
    grid-column: 1 / -1;
}

.form-disclaimer {
    opacity: .8;
}

@media (min-width: 768px) {
    .form-disclaimer {
        font-size: 15px;
    }
}


/* Mobile banner */

@media (min-width: 768px) {
    #mobile-banner:not(#mycanvas #mobile-banner) {
        display: none;
    }
}

#mobile-banner figcaption {
    color: white;
    background: #b0704e;
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans);
    padding: 2rem 50px 2rem 15px;
    font-size: 18px;
}

#mobile-banner .button-link {
    margin-left: auto;
    margin-right: auto;
}

#slide-row .carousel-control.right,
#slide-row .carousel-control.left {
    height: var(--size);
    opacity: 1;
    width: var(--size);
    color: transparent;
    text-shadow: none;
    bottom: 50px;
    position: absolute;
    top: unset;
    background-size: 15px;
    background-position: center;
    background-repeat: no-repeat;
    transition: .125s opacity ease-in-out;
}

#slide-row .carousel-control.left {
    left: calc(50% - var(--size));
    background-image: url('../images/left-arrow.svg');
    background-color: #8F3660;
}

#slide-row .carousel-control.right {
    right: calc(50% - var(--size));
    background-image: url('../images/right-arrow.svg');
    background-color: #177981;
}

#slide-row .carousel-control.left:hover,
#slide-row .carousel-control.left:focus,
#slide-row .carousel-control.right:hover,
#slide-row .carousel-control.right:focus {
    opacity: .9;
}

@media (max-width: 767px) {
    #slide-row {
        margin-left: 0;
        margin-right: 0;
    }
    #slide-row .carousel {
        display: none;
    }
}


/*--------------------------------------------------------
	Homepage Newsfeed
--------------------------------------------------------*/

.news .col-xs-12:before {
    content: none !important;
    border: 0 !important;
}

.news .col-xs-12>div:empty::before {
    content: none;
}

.news .col-xs-12 {
    column-count: 2;
    column-gap: 30px;
    position: relative;
    padding-left: 15px;
    padding-right: 15px;
}

@media (max-width: 767px) {
    .news .col-xs-12 {
        column-count: 1;
    }
}

.news .col-xs-12>div {
    border-left: 5px solid #8F3660;
    position: relative;
    padding-left: 20px;
}

.news .news-item {
    page-break-inside: avoid;
}

.news .news-item .description {
    margin-bottom: 1.5em;
}

.news .col-xs-12 h4 {
    margin-bottom: 5px;
}

.news-item::before {
    content: none;
    display: block;
    color: #32343F;
    margin: 0px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 700;
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans-bold);
}

.news-item[data-month-year^="January"]::before,
.news-item[data-month-year^="February"]::before,
.news-item[data-month-year^="March"]::before,
.news-item[data-month-year^="April"]::before,
.news-item[data-month-year^="May"]::before,
.news-item[data-month-year^="June"]::before,
.news-item[data-month-year^="July"]::before,
.news-item[data-month-year^="August"]::before,
.news-item[data-month-year^="September"]::before,
.news-item[data-month-year^="October"]::before,
.news-item[data-month-year^="November"]::before,
.news-item[data-month-year^="December"]::before {
    /*content: attr(data-month-year);*/
}

.news-item[data-month-year^="January"]+.news-item[data-month-year^="January"]::before,
.news-item[data-month-year^="February"]+.news-item[data-month-year^="February"]::before,
.news-item[data-month-year^="March"]+.news-item[data-month-year^="March"]::before,
.news-item[data-month-year^="April"]+.news-item[data-month-year^="April"]::before,
.news-item[data-month-year^="May"]+.news-item[data-month-year^="May"]::before,
.news-item[data-month-year^="June"]+.news-item[data-month-year^="June"]::before,
.news-item[data-month-year^="July"]+.news-item[data-month-year^="July"]::before,
.news-item[data-month-year^="August"]+.news-item[data-month-year^="August"]::before,
.news-item[data-month-year^="September"]+.news-item[data-month-year^="September"]::before,
.news-item[data-month-year^="October"]+.news-item[data-month-year^="October"]::before,
.news-item[data-month-year^="November"]+.news-item[data-month-year^="November"]::before,
.news-item[data-month-year^="December"]+.news-item[data-month-year^="December"]::before {
    content: none;
}


/*--------------------------------------------------------
	Footer
--------------------------------------------------------*/

footer p.serif {
    font-family: 'Playfair Display', serif;
    font-family: var(--sans);
}

@media (min-width: 768px) {
    footer span.quote-featured {
        padding-top: 35px;
    }
}


/*--------------------------------------------------------
	Calendar Page
--------------------------------------------------------*/

.chambernation_calendar_info table tbody tr:first-of-type td {
    color: white;
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans);
}

.chambernation_event_type .form-wrap form {
    margin-bottom: 0;
}

.chambernation_event_type {
    margin-bottom: 20px;
}

#chambernation_mini_cal table[style="border:2px solid #CCCCCC"] tr td {
    padding: 0px;
}

#chambernation_mini_cal table[style="border:2px solid #CCCCCC"] tr td center {
    background: #234155;
    color: #ffffff;
    padding: 8px;
}

.chambernation_calendar_info table tbody tr td font div a {
    font-family: 'Playfair Display', serif;
    font-family: var(--sans);
    font-size: 16px;
}


/*--------------------------------------------------------
	Other front-facing pages
--------------------------------------------------------*/

input[alt="PayPal - The safer, easier way to pay online!"]::-webkit-input-placeholder,
input[alt="PayPal - The safer, easier way to pay online!"]::-moz-placeholder,
input[alt="PayPal - The safer, easier way to pay online!"]:-ms-input-placeholder,
input[alt="PayPal - The safer, easier way to pay online!"]:-moz-placeholder {
    color: white;
    /*For styling inputs that function as links on donate.php*/
}


/*--------------------------------------------------------
	MemberLeap/MMS/System Pages
--------------------------------------------------------*/

.mms-container {
    min-height: calc(100vh - 356px - 118px - 63px);
    /*Make sure the minimum height of the main container is the height of the screen minus the height of the header, top section and footer*/
}

*[style*="Verdana"],
*[style*="verdana"],
*[style*="Verdana, Arial, sans-serif"],
font[face*="Verdana"],
font[face*="verdana"],
.mms-container #mheader_5_wrapper,
.mms-container td,
.mms-container .dataTables_wrapper {
    font-family: inherit !important;
    font-size: inherit;
}

.mms-container #mheader_5_wrapper #form-wrapper {
    font-family: inherit !important;
}

#mmsnav * {
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-family: var(--sans) !important;
}

.mms-container *[class^="ui-"],
.mms-container .actionBtn {
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans);
}

.mms-container .mem_head1 {
    font-family: inherit;
    /*Removes Verdana from https://www.memberleap.com/members/memberbilling.php*/
}

.evr-field-info {
    font-size: 12px !important;
}


/*--------------------------------------------------------
	MemberLeap Member/Admin menu page
--------------------------------------------------------*/

.mms-container .nav-tabs {
    border-bottom: none;
    padding-top: 15px;
}

.mms-container .nav-tabs .dropdown-toggle:focus {
    color: white;
}

.mms-container .nav-tabs .dropdown-toggle:hover svg *,
.mms-container .nav-tabs .dropdown-toggle:focus svg * {
    fill: white;
}

.mms-container #adminMenu {
    padding-left: 0;
    padding-right: 0;
}

.mms-container #admin_full .admin-menu {
    background: #32343F;
    /*font-family: "neue-haas-grotesk-text","Helvetica Neue",Helvetica,Arial,sans-serif;*/
}

.mms-container #admin_full .admin-menu .menu-item .block .block-item li:first-of-type {
    font-family: unset;
}

.mms-container #admin_full .admin-menu .menu-item .block .block-item:hover {
    background-color: #177A81;
    color: white;
}

.mms-container #admin_full .admin-menu .menu-item .block .block-item:hover svg * {
    fill: white !important;
}

#My_Profile,
#Member_Information,
#Billing_Info,
#Other_Info {
    font-size: 14px;
}


/*--------------------------------------------------------
	Mlist.php aka Member Database aka Member Database System aka
	https://www.memberleap.com/members/secure/mlist/mlist.php?z_m_type=M&z_clr=X
--------------------------------------------------------*/

#mlist_wrapper * {
    font-family: Verdana !important;
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-family: var(--sans) !important;
}


/*--------------------------------------------------------
	Find A Rolfer and Rolfer to Rolfer pages
--------------------------------------------------------*/

form[action="search_rolf_FAR.php"] *,
form[action="search_rolf_R2R.php"] * {
    font-size: unset;
    max-width: 100%;
}

form[action="search_rolf_FAR.php"] input,
form[action="search_rolf_R2R.php"] input,
form[action="search_rolf_FAR.php"] .search-field,
form[action="search_rolf_R2R.php"] .search-field {
    border-radius: 0;
}

form[action="search_rolf_FAR.php"] .css_button,
form[action="search_rolf_R2R.php"] .css_button {
    display: inline-block;
    font-weight: normal;
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 14px;
    font-size: 16px;
    line-height: 1.428571429;
    border-radius: 0px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, 0.3);
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans);
    margin: unset;
    height: unset;
    background: #177a81;
    box-shadow: none;
}

form[action="search_rolf_FAR.php"] .css_button:active,
form[action="search_rolf_R2R.php"] .css_button:active {
    box-shadow: none;
}


/*--------------------------------------------------------
	Store
--------------------------------------------------------*/

div[style="border:1px solid #888; background-color:#FFF; width:100%; margin:0px auto; padding:6px;"] {
    border: none !important;
    padding: 0 !important;
}

#store_table h1 {
    color: #231F20;
}

@media (min-width: 768px) {
    #store_table h1 {
        font-size: 38px;
    }
}

#store_table .form-control.numeric-input {
    max-width: 10ch;
    display: inline-block;
}


/*--------------------------------------------------------
	Help Desk
--------------------------------------------------------*/

#HelpContent *[face="verdana,arial,helvetica,sans-serif"] {
    font-family: 'Playfair Display', serif !important;
    font-family: var(--sans) !important;
}


/*--------------------------------------------------------
	Slideshow Manager Scrolling Banners page
--------------------------------------------------------*/

#mms_content #mms_list,
#mms_content,
#mms_list_wrapper.dataTables_wrapper {
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
    font-family: var(--sans) !important;
}


/*--------------------------------------------------------
	https://www.memberleap.com/members/memberinfo/rolf_prospective_1.php?orgcode=ROLF
--------------------------------------------------------*/

section.top {
    border-left: none;
    border-right: none;
    border-bottom: none;
}


/*--------------------------------------------------------
	connect_membership.php
--------------------------------------------------------*/


/*--------Key Benefits--------*/

#key-benefits {
    background: #8F3660;
    font-size: 25px;
    padding: 1.2em 2em;
    color: white;
    font-family: "neue-haas-grotesk-text", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-family: var(--sans);
}

#key-benefits h2 {
    color: white;
}

#key-benefits ol {
    list-style: none;
    counter-reset: item;
    padding: 0;
    margin: 0;
    columns: 2;
}

#key-benefits li {
    counter-increment: item;
    padding: 0;
    margin: 0 0 1em;
    line-height: 1.4;
}

#key-benefits li::before {
    content: counter(item)') ';
}

@media (max-width: 990px) {
    #key-benefits {
        font-size: 22px;
    }
}

@media (max-width: 767px) {
    #key-benefits {
        font-size: 16px;
        padding: 1.2em 0;
        position: relative;
        z-index: 1;
    }
    #key-benefits::after {
        content: '';
        background: inherit;
        display: block;
        width: 130%;
        position: absolute;
        top: 0;
        left: -50vw;
        margin-left: 50%;
        bottom: 0;
        z-index: -1;
    }
    #key-benefits ol {
        columns: 1;
    }
    #key-benefits li {
        margin-bottom: .7;
    }
}


/* Compact list */

.page-container .compact-list li,
.page-container .two-columns li {
    margin-bottom: 5px;
}

#programs-overview h2 {
    color: #177981;
}

.bordered {
    display: block;
    border: 1px solid #BA7B59;
    padding: 20px;
}

ul.bordered {
    padding-left: 40px;
}

.two-columns {
    display: block;
    column-fill: balance;
    gap: 30px;
    column-width: calc(767px/2);
}


/* Slideshow text per #245176  */

#slide-row .carousel-caption {
    top: 0;
    bottom: 0;
    right: 25%;
    display: flex;
    align-items: center;
    text-align: left;
}

@media (min-width: 1600px) {
    #slide-row .carousel-caption {
        margin-left: -12vw;
    }
}

#slide-row .caption-text {
    margin-bottom: 0;
}

#slide-row headline {
    color: var(--color);
    font-size: 80px;
    line-height: 1;
    font-weight: 100;
    display: block;
    max-width: 780px;
    margin-bottom: 20px;
    font-family: var(--sans-light);
}

#slide-row speaker {
    display: block;
    font-size: 25px;
    margin-bottom: 45px;
    line-height: 1;
}

#slide-row #gisele-slide speaker {
    /* Per ticket #294142 */
    max-width: 750px;
}

#slide-row #gisele-slide dates {
    /* Per ticket #294142 */
    max-width: 960px;
}

#slide-row program {
    display: block;
    font-size: 37px;
    font-weight: bold;
    /* text-transform: uppercase; */
    margin-bottom: 5px;
    line-height: 1;
    font-family: var(--sans);
}

#slide-row dates {
    display: block;
    line-height: 1;
    font-size: 37px;
    font-family: var(--sans-light);
}

#slide-row .caption-wrapper ul {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 30px;
    margin-top: 1em;
}

#slide-row .caption-wrapper li+li {
    margin-top: 1em;
}

#slide-row .button-link:not(#mobile-banner .button-link) {
    text-shadow: none;
    background: var(--color);
    color: white;
    font-weight: normal;
    font-size: 20px;
    max-width: 100%;
    min-width: 300px;
    border-radius: 1em;
}

@media (max-width: 1720px) {
    #slide-row #gisele-slide headline {
        /* Per ticket #294142 */
        font-size: 75px;
    }
}

@media (max-width: 1560px) {
    #slide-row .carousel-caption {
        left: 30px;
    }
    #slide-row #gisele-slide speaker:not(#structure-slide speaker),
    #slide-row #gisele-slide dates {
        /* Per ticket #294142 */
        font-size: 30px;
    }
}

@media (max-width: 1460px) {
    #slide-row .carousel-caption {
        left: 30px;
    }
    #slide-row #gisele-slide headline {
        /* Per ticket #294142 */
        font-size: 55px;
    }
    #slide-row #gisele-slide headline br {
        /* Per ticket #294142 */
        display: none;
    }
}

@media (max-width: 1350px) {
    #slide-row .carousel-caption {
        left: 30px;
    }
    #slide-row headline {
        font-size: 70px;
    }
    #slide-row program {
        font-size: 30px;
    }
    #slide-row dates {
        font-size: 27px;
    }
    #slide-row #gisele-slide headline {
        /* Per ticket #294142 */
        font-size: 50px;
    }
    #slide-row #gisele-slide speaker:not(#structure-slide speaker),
    #slide-row #gisele-slide dates {
        /* Per ticket #294142 */
        font-size: 25px;
    }
}

@media (max-width: 1280px) {
    #slide-row headline {
        font-size: 60px;
        margin-bottom: 10px;
    }
    #slide-row speaker {
        font-size: 20px;
        margin-bottom: 25px;
    }
    #slide-row program {
        font-size: 25px;
    }
    #slide-row dates {
        font-size: 20px;
    }
    #slide-row .caption-wrapper ul {
        font-size: 20px;
    }
}

@media (max-width: 1100px) {
    #slide-row headline {
        max-width: 760px;
    }
    #slide-row speaker {
        font-size: 18px;
    }
    #slide-row program {
        font-size: 20px;
    }
    #slide-row dates {
        font-size: 18px;
    }
    #slide-row .caption-wrapper ul {
        display: flex;
        gap: 1rem 30px;
    }
    #slide-row .caption-wrapper li+li {
        margin-top: 0;
    }
    #slide-row .button-link:not(#mobile-banner .button-link) {
        font-size: 16px;
        min-width: unset;
    }
}

@media (max-width: 960px) {
    #slide-row #gisele-slide headline {
        /* Per ticket #294142 */
        display: none;
    }
    #slide-row #gisele-slide speaker:not(#structure-slide speaker),
    #slide-row #gisele-slide dates {
        /* Per ticket #294142 */
        font-size: 20px;
    }
}

@media (max-width: 920px) {
    #slide-row headline {
        font-size: 45px;
        max-width: 630px;
    }
    #slide-row speaker {
        font-size: 16px;
        margin-bottom: 22px;
    }
    #slide-row program {
        font-size: 18px;
    }
    #slide-row dates {
        font-size: 16px;
    }
}

@media (max-width: 845px) {
    #slide-row headline {
        font-size: 36px;
        max-width: 550px;
    }
    #slide-row speaker {
        margin-bottom: 15px;
    }
    #slide-row .caption-wrapper ul {
        font-size: 15px;
    }
}

@media (max-width: 785px) {
    #slide-row .carousel-caption {
        top: 15px;
    }
    #slide-row headline {
        font-size: 30px;
        max-width: 4300px;
    }
    #slide-row speaker {
        margin-bottom: 15px;
    }
    #slide-row .caption-wrapper ul {
        font-size: 15px;
    }
}


/* Accordions */

.accordion-wrap {
    display: flex;
    gap: 1rem 50px;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

.accordion {
    width: 540px;
    max-width: 100%;
}

.accordion button {
    width: 100%;
    border-radius: 0;
    appearance: none;
    outline: 0;
    border: 0;
    background: #BA7B59;
    text-align: left;
    padding: 2em;
}

.accordion+.accordion button {
    background: #65B5BB;
}

.accordion button h3 {
    color: white;
    margin: 0;
    position: relative;
    padding-right: calc(24px + 1ch);
}

.accordion button h3::before {
    content: '';
    width: 0px;
    height: 0px;
    border-top: 0.5em solid transparent;
    border-bottom: 0.5em solid transparent;
    border-left: 0.5em solid white;
    position: absolute;
    right: 0;
    transition: .125s transform ease-in-out;
    transform: rotate(90deg);
}

.accordion button.collapsed h3::before {
    transform: rotate(0deg);
}


/* .accordion button:not(.collapsed) h3::before {
    transform: rotate(0deg);
}
.accordion button.collapsed h3::before {
} */

.accordion button+div {
    border: 1px solid currentColor;
    padding: 1em;
}

.accordion ul {
    padding: 0;
    margin: 0 0 0 1em;
}

.accordion .in h3 {
    color: #BA7B59;
}


/* Icons list */

.icons-list {
    list-style: none;
    background: #BA7B59;
    padding: 1em;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(195px, 1fr));
    gap: 1rem 30px;
}

#subpage .icons-list * {
    color: white;
    margin: 0;
    text-align: center;
    line-height: 1.2;
}

.icons-list li {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.icons-list p {
    font-family: var(--sans-light);
}

#subpage .icons-list a:last-child {
    margin-top: auto;
}


/* Round icons list */

.round-icons-list {
    display: flex;
    justify-content: space-between;
    gap: 1em 50px;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    font-size: 14px;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
}

.round-icons-list li {
    text-align: center;
    position: relative;
}

.round-icon {
    border-radius: 50%;
    background: #BA7B59;
    width: 280px;
    height: 280px;
    text-align: center;
    padding: 50px 20px;
    color: white;
}

#subpage .round-icon img {
    width: 50%;
    margin: 0 auto 0.25em;
    padding: 5px;
}

#subpage .round-icons-list a:is(.round-icons-list a) {
    text-decoration: none;
}

.round-icons-list a::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
}


/* Overwrite .carousel-quotes styles from app.css per instructions on #256044 */

@media (min-width: 992px) {
    .page-container blockquote,
    .home-container blockquote {
        display: grid;
        text-align: center;
    }
    .page-container blockquote footer,
    .home-container blockquote footer {
        right: unset;
        left: unset;
        justify-self: center;
        text-align: center;
    }
    .page-container blockquote footer cite,
    .home-container blockquote footer cite {
        background: #32343F;
        max-width: 510px;
    }
}


/* Per message #92 on #256044 */

.carousel blockquote {
    font-size: 2.6rem;
}


/* Fixing height on flex'd columns */

@media (min-width: 992px) {
    .v-align {
        height: 100%;
    }
}


/* Homepage Slideshow Styles per #256044 */


/* Slideshow controls */

#slide-row .carousel-control.left {
    left: calc(100% - (var(--size) * 3));
}

#slide-row .carousel-control.right {
    left: calc(100% - (var(--size) * 2));
    right: unset;
}


/* Headline */

#slide-row headline {
    color: white;
    font-family: var(--knockout), sans-serif;
    text-transform: uppercase;
    line-height: 0.75;
    font-size: 95px;
}

#slide-row #structure-slide headline {
    font-family: var(--sans-medium);
    font-size: 95px;
    text-transform: none;
    line-height: .9;
}

headline+headline {
    /* Move the second headline up from the 20px margin-bottom that is applied to each headline */
    /* margin-top: -10px; */
}

#nobuko-slide headline {
    font-size: 80px;
    line-height: .8;
}

@media (max-width: 1200px) {
    #slide-row headline {
        font-size: 90px;
    }
    #nobuko-slide headline {
        font-size: 70px;
        max-width: 60vw;
    }
    #slide-row #structure-slide headline {
        font-size: 75px;
    }
}

@media (max-width: 990px) {
    #slide-row headline {
        font-size: 80px;
    }
    #nobuko-slide headline {
        font-size: 60px;
    }
}

@media (max-width: 900px) {
    #nobuko-slide headline {
        font-size: 50px;
    }
    #slide-row #structure-slide headline {
        font-size: 55px;
    }
}


/* Speaker */

#slide-row speaker:not(#structure-slide speaker) {
    font-size: 37px;
    font-family: var(--sans-medium);
    margin-bottom: 0;
    margin-top: 1em;
}

#structure-slide speaker {
    max-width: 52vw;
}

@media (max-width: 990px) {
    #slide-row speaker:not(#structure-slide speaker) {
        margin-top: .5em;
        font-size: 30px;
    }
}


/* Dates */

@media (min-width: 1351px) {
    #slide-row speaker,
    #slide-row dates {
        line-height: 1.2;
    }
}

#structure-slide dates {
    max-width: 50vw;
}


/* Links */

#slide-row ul li,
#slide-row .page-container ol li {
    /* Overwrite outside dev's CSS */
    margin-bottom: 0;
}

@media (min-width: 1101px) {
    #slide-row .caption-wrapper li+li {
        /* Overwrite our CSS */
        /* Media query won't be necessary once this is added with our CSS */
        margin-top: 0.75em;
    }
}

#slide-row .button-link:not(#mobile-banner .button-link) {
    font-family: var(--sans);
}

#slide-row .caption-wrapper ul {
    display: flex;
    gap: .75em 30px;
    flex-wrap: wrap;
    flex-direction: column;
}

@media (min-width: 901px) {
    #slide-row #structure-slide ul {
        flex-direction: row;
        align-items: center;
    }
}

#slide-row .caption-wrapper li+li {
    margin-top: 0;
}

#structure-slide img {
    width: unset;
    margin: 0;
}

#slide-row em {
    color: var(--color);
    display: inline-block;
    margin-right: .25ch;
}


/* Ida Talks webpage per #283054 */

:is(#homepage,
#subpage) .offscreen {
    /* Class is used on elements that should be part of the document structure or read by a screenreader without being shown on the screen */
    position: absolute;
    left: -666vw;
}

#ida-talks-caption-row figure {
    font-size: 40px;
    display: flex;
    gap: 1rem 30px;
    align-items: center;
    line-height: 1.25;
    justify-content: space-around;
}

#ida-talks-caption-row figcaption {
    max-width: 550px;
}

#ida-talks-caption-row img {
    margin-block: 0;
    /* margin-inline: 2em; */
    border-radius: 50%;
    width: 400px;
}

.blockquote-list {
    border-left: 3px solid #BA7B59;
}

.blockquote-list ::marker {
    color: #BA7B59;
}

@media (max-width: 1200px) {
    #ida-talks-caption-row img {
        /* margin-inline: 1em; */
        width: 300px;
    }
}

@media (max-width: 990px) {
    #ida-talks-caption-row figure {
        font-size: 30px;
    }
}

@media (max-width: 767px) {
    #ida-talks-caption-row figure {
        flex-wrap: wrap;
    }
}


/* Audio elements */

audio::-webkit-media-controls-enclosure {
    /* Only visible in webkit browsers */
    border: 1px solid #BA7B59;
}

audio::-webkit-media-controls-play-button:active {
    /* Audio player play button - pause */
    background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjQkE3QjU5IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik02IDE5aDRWNUg2djE0em04LTE0djE0aDRWNWgtNHoiLz4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KPC9zdmc+);
}

audio::-webkit-media-controls-play-button {
    /* Audio player play button - play */
    background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjQkE3QjU5IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik04IDV2MTRsMTEtN3oiLz4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KPC9zdmc+);
}

audio::-webkit-media-controls-mute-button {
    /* Audio player mute button - unmuted */
    background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjQkE3QjU5IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0zIDl2Nmg0bDUgNVY0TDcgOUgzem0xMy41IDNjMC0xLjc3LTEuMDItMy4yOS0yLjUtNC4wM3Y4LjA1YzEuNDgtLjczIDIuNS0yLjI1IDIuNS00LjAyek0xNCAzLjIzdjIuMDZjMi44OS44NiA1IDMuNTQgNSA2Ljcxcy0yLjExIDUuODUtNSA2LjcxdjIuMDZjNC4wMS0uOTEgNy00LjQ5IDctOC43N3MtMi45OS03Ljg2LTctOC43N3oiLz4KICAgIDxwYXRoIGQ9Ik0wIDBoMjR2MjRIMHoiIGZpbGw9Im5vbmUiLz4KPC9zdmc+);
}

audio::-webkit-media-controls-mute-button:active {
    /* Audio player mute button - muted */
    background-image: url(data:image/svg+xml;base64,PHN2ZyBmaWxsPSIjQkE3QjU5IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICAgIDxwYXRoIGQ9Ik0xNi41IDEyYzAtMS43Ny0xLjAyLTMuMjktMi41LTQuMDN2Mi4yMWwyLjQ1IDIuNDVjLjAzLS4yLjA1LS40MS4wNS0uNjN6bTIuNSAwYzAgLjk0LS4yIDEuODItLjU0IDIuNjRsMS41MSAxLjUxQzIwLjYzIDE0LjkxIDIxIDEzLjUgMjEgMTJjMC00LjI4LTIuOTktNy44Ni03LTguNzd2Mi4wNmMyLjg5Ljg2IDUgMy41NCA1IDYuNzF6TTQuMjcgM0wzIDQuMjcgNy43MyA5SDN2Nmg0bDUgNXYtNi43M2w0LjI1IDQuMjVjLS42Ny41Mi0xLjQyLjkzLTIuMjUgMS4xOHYyLjA2YzEuMzgtLjMxIDIuNjMtLjk1IDMuNjktMS44MUwxOS43MyAyMSAyMSAxOS43M2wtOS05TDQuMjcgM3pNMTIgNEw5LjkxIDYuMDkgMTIgOC4xOFY0eiIvPgogICAgPHBhdGggZD0iTTAgMGgyNHYyNEgweiIgZmlsbD0ibm9uZSIvPgo8L3N2Zz4=);
}


/* #287797 message #260: Course Catalog section */

.contact-section {
    background: #134F5C;
    color: white;
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(215px, 1fr));
    gap: 1em 30px;
    width: 500px;
    margin: 1em auto;
    max-width: 100%;
    padding: 1em;
    font-size: 16px;
    font-family: var(--sans);
}

@media (min-width: 601px) {
    .contact-section {
        font-size: 14px;
    }
}

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

.contact-section :is(h2,
h3,
h4,
h5,
h6,
a) {
    color: white;
}

.contact-section :is(h2,
h3,
h4,
h5,
h6,
) {
    font-size: 16px;
    margin: 0;
}

.contact-section a {
    text-decoration: underline;
}


/* #287797 Nikki needs to add items to the grid in https://mms.rolf.org/members/course_catalog_test.php?org_id=ROLF without them being placed in a column */

.span-all {
    grid-column: 1/-1;
}

.details-description {
    /*Course Catalog detail page accordion to span two columns in the .details-list */
    column-span: all;
}