:root {
    --blue: #1daee0;
    --link-blue: #1a9fcb;
    /*5% less bright using the HSL color method to make the thin, bright text stand out more against the white background*/
    --green: #d7dd3b;
    --dark-gray: #262728;
    --light-gray: #515151;
    --text-gray: #4d4d4d;
    --gap: 35px;
    --page-width: 100vw;
    --side-margin: calc((100vw - var(--page-width)) / -2);
}

@media (min-width: 992px) {
     :root {
        --page-width: 970px;
    }
}

@media (min-width: 1201px) {
     :root {
        --page-width: 1170px;
    }
}


/*^^These are CSS variables. They allow us to declare NEMOA's colors once and then reference those values through out the styles. Read more about CSS variables at https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables*/


/*html {
  scroll-behavior: smooth;
}*/

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


/*^^This changes the box model of everything in the website and can be overwriten per component if needed. To read more about box-sizing and why you'd want to overwrite it see https://css-tricks.com/international-box-sizing-awareness-day/ or https://www.w3schools.com/cssref/css3_pr_box-sizing.asp*/


/*--------------------------------------------------------
	FONT ASSIGNMENTS
--------------------------------------------------------*/

body {
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    overflow-x: hidden;
    color: var(--text-gray);
    position: relative;
    max-width: 100%;
}

body,
header,
nav,
main,
footer {
    font-family: 'Raleway', sans-serif;
    font-size: 16px;
    /*^^ Overwrites mms_styles.css*/
}

p {}


/*--------------------------------------------------------
	H1 - H6
--------------------------------------------------------*/

h1,
h2,
h3,
h4,
.mms-headings
/*Headings inside of the MMS do not conform to the semantic H# structure*/

{
    margin: 0px 0px .25em;
    padding: 0px;
    font-weight: bold;
    line-height: 1em;
    text-transform: uppercase;
    color: var(--blue);
}

.gray-background h1,
.gray-background h2,
.gray-background h3,
.gray-background h4 {
    color: var(--green);
}

h1 {
    font-size: 2.2em;
}

h2 {
    font-size: 1.9em;
}

h3 {
    font-size: 1.6em;
}

h4 {
    font-size: 1.4em;
}

#subpage-main h1 {
    color: var(--blue);
    margin-bottom: 1em;
}

#subpage-main h2 {
    color: var(--blue);
    margin-bottom: .5em;
}

#subpage-main h3,
#subpage-main h4 {
    text-transform: none;
    color: var(--light-gray);
    opacity: .8;
    margin-bottom: 0.5em;
}

@media(max-width: 800px) {
    #subpage-main h1 {
        font-size: calc(2.2em - 3px);
    }
    #subpage-main h2 {
        font-size: calc(2em - 3px);
    }
    #subpage-main h3 {
        font-size: calc(1.8em - 3px);
    }
    #subpage-main h4 {
        font-size: calc(1.5em - 3px);
    }
}

@media(max-width: 400px) {
    #subpage-main h1 {
        font-size: calc(2.2em - 5px);
    }
    #subpage-main h2 {
        font-size: calc(2em - 5px);
    }
    #subpage-main h3 {
        font-size: calc(1.8em - 5px);
    }
    #subpage-main h4 {
        font-size: calc(1.5em - 5px);
    }
}

#subpage-main p+h1,
#subpage-main p+h2,
#subpage-main p+h3,
#subpage-main p+h4 {
    margin-top: 1.25em;
}

h1.title:empty {
    display: none;
}


/*^^Hides the extra margin that is added on pages without a title*/


/*--------------------------------------------------------
	LINKS
--------------------------------------------------------*/

a {
    color: var(--link-blue);
    text-decoration: underline;
    transition: .1s ease-in color, .125s ease-in background-size;
    position: relative;
    background-size: 0 100%;
    background-repeat: no-repeat;
}

a:empty {
    display: none;
}

main:not(#mms-main) a:not(.left-arrow):not(.right-arrow):hover,
main:not(#mms-main) a:not(.left-arrow):not(.right-arrow):focus {
    color: var(--link-blue);
    position: relative;
    text-decoration: none;
    background-image: linear-gradient(transparent calc(100% - .125em), var(--green) .5em);
    background-size: 100% 100%;
}

a.block-link {
    display: block;
    max-width: -webkit-fit-content;
    max-width: -moz-fit-content;
    max-width: fit-content;
    margin-bottom: 1.25em;
}

a.left-arrow:hover,
a.right-arrow:hover,
a.left-arrow:focus,
a.right-arrow:focus {
    background-image: none;
}

a.left-arrow:hover polyline,
a.right-arrow:hover polyline,
a.right-arrow:focus polyline,
a.left-arrow:focus polyline {
    stroke: var(--blue);
    transition: .1s ease-in stroke;
}

a.button {
    color: var(--blue);
    border-color: var(--blue);
    border-width: 3px;
    border-style: solid;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.15em;
    padding: .5em 1.5em;
    box-sizing: content-box;
    max-width: 16em;
    text-align: center;
    display: inline-block;
    margin: 2em auto;
    transition: .5s color, .5s border-color;
    line-height: 1em;
    text-decoration: none;
}

a.button:hover {
    color: var(--green);
    border-color: var(--green);
    text-decoration: none;
    background-image: none;
}

a.button:before {
    content: none;
}

section.gray-background a.button,
a.button.green {
    color: var(--green);
    border-color: var(--green);
}

section.gray-background a.button:hover,
a.button.green:hover {
    color: var(--blue);
    border-color: var(--blue);
}

.two-link-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 650px) {
    .two-link-wrapper,
    .two-link-wrapper a {
        display: block;
    }
}


/*--------------------------------------------------------
	Objects
--------------------------------------------------------*/


main>.row {
    position: relative;
    padding-block: var(--gap);
}

main:is(#subpage-main, #mms-main)>.row {
    padding-block: calc(var(--gap) / 4);
}

main:is(#subpage-main, #mms-main)>.row:first-child {
    padding-top: var(--gap);
}

main:is(#subpage-main, #mms-main)>.row:last-child {
    padding-bottom: var(--gap);
}

@media (max-width: 990px) {
    main:is(#homepage-main, #subpage-main) > .row > .column:not(:first-child) {
        margin-top: var(--gap);
    }
}

@media (max-width: 767px) {
    main {
        --gap: 25px;
    }
}

/*----------------------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;
}

@media (min-width:768px) {
    .wrapper {
        width: 750px;
    }
}

@media (min-width:992px) {
    .wrapper {
        width: 970px;
    }
}

@media (min-width:1200px) {
    .wrapper {
        width: 1170px;
    }
}

@media (max-width:768px) {
    .wrapper {
        padding-left: 15px;
        padding-right: 15px;
    }
}


/* background-row */



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

.background-row:not(#mycanvas .background-row, #gm-canvas .background-row) {
    color: white;
}

.background-row:not(#mycanvas .background-row, #gm-canvas .background-row)::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--side-margin);
    right: var(--side-margin);
    display: block;
    background: var(--light-gray);
}

#subpage-main:has(.background-row:last-child) {
    /* If .background-row is the last row, don't include a gap between main and footer */
    margin-bottom: 0;
    padding-bottom: 0;
}

#subpage-main>.background-row:last-child {
    /* If .background-row is the last row, don't include a gap between main and footer */
    margin-bottom: 0;
}

.background-row h1,
.background-row h2,
.background-row h3,
.background-row h4 {
    color: var(--green);
}

/*----------------------Decorative Items----------------------*/

#home-main hr {
    border-top: 2.5px solid var(--green);
    position: relative;
    margin-top: 20px;
    margin-bottom: 20px;
    margin-left: -50vw;
    left: 50%;
    right: 0px;
    width: 100vw;
    top: 0px;
    bottom: 0px;
}

@supports (-ms-ime-align: auto) {
    /*Hr's aren't aligned correctly in Edge*/
    #home-main hr {
        margin-left: auto;
        margin-right: auto;
        left: inherit;
        right: inherit;
        /*IE doesn't recognize initial or unset as values*/
        width: 100%;
    }
}

.three-circles {
    display: flex;
    justify-content: space-between;
    width: 7.7em;
    margin-left: auto;
    margin-right: auto;
    margin-top: 1em;
    margin-bottom: 1em;
}

.three-circles .circle-svg {
    height: 1.4em;
    width: 1.4em;
}


/*----------------------Lists--------------------------*/

nav ul,
#home-main ul,
footer ul {
    -webkit-padding-start: 0px;
    -moz-padding-start: 0px;
    -ms-padding-start: 0px;
    list-style: none;
}

#subpage-main ul {
    padding-left: 1em;
    padding-bottom: 1em;
}

#subpage-main li {
    padding-bottom: .25em;
}

@media (max-width: 500px) {
    #subpage-main li {
        padding-bottom: .5em;
    }
}

#subpage-main ul.no-dots {
    list-style: none;
    padding-left: 0;
}

@media (min-width: 1200px) {
    /*#subpage-main .two-ordered-columns {
		columns: 2;
	}*/
}

#subpage-main .three-ordered-columns li {
    padding-top: .5em;
}

#subpage-main ol.three-ordered-columns li strong {
    text-transform: capitalize;
}

#subpage-main ol.three-ordered-columns li::before,
#subpage-main ol.three-ordered-columns li strong {
    display: inline;
}

.three-ordered-columns cite {
    font-style: normal;
    display: block;
}

#subpage-main ul.four-column-list {
    -webkit-column-count: 4;
    -moz-column-count: 4;
    column-count: 4;
    -webkit-column-gap: 4em;
    -moz-column-gap: 4em;
    column-gap: 4em;
    margin-bottom: 2em;
}

#subpage-main .four-column-list li {
    padding-bottom: .75em;
    line-height: 1.25;
}

@media (max-width: 1140px) {
    #subpage-main ul.four-column-list {
        -webkit-column-count: 3;
        -moz-column-count: 3;
        column-count: 3;
        -webkit-column-gap: 4em;
        -moz-column-gap: 4em;
        column-gap: 4em;
    }
}

@media (max-width: 700px) {
    #subpage-main ul.four-column-list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
        -webkit-column-gap: 4em;
        -moz-column-gap: 4em;
        column-gap: 4em;
    }
}

@media (max-width: 500px) {
    #subpage-main ul.four-column-list {
        column-count: inherit;
        margin-bottom: 1em;
    }
}

ol {
    list-style-type: none;
    padding-left: 0;
    counter-reset: ordered-list-counter;
}

ol li::before {
    font-family: 'Roboto', sans-serif;
    /*padding-right: .25em;*/
    content: counter(ordered-list-counter)". ";
    counter-increment: ordered-list-counter;
    opacity: .8;
}


/*----------------------Tables--------------------------*/

#subpage-main table {
    font-family: 'Roboto', sans-serif;
    max-width: 80%;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 990px) {
    #subpage-main table {
        max-width: 100%;
    }
}

@media (max-width: 550px) {
    #subpage-main table {
        font-size: 15px;
        line-height: 1.25em;
    }
}

#subpage-main *+table {
    margin-top: 2em;
}

#subpage-main table+* {
    margin-top: 3em;
}

#subpage-main table caption {
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
}

#subpage-main table tr {
    border-left: .35em solid white;
    border-right: .35em solid white;
}

#subpage-main table *+strong {
    margin-top: .75em;
}

#subpage-main table tbody>tr:nth-of-type(even) {
    background: #F6F6F6;
    border-left: .35em solid #F6F6F6;
    border-right: .35em solid #F6F6F6;
}


/*-------------Figures, Figcaptions--------------------*/

#subpage-main *+figure {
    margin-top: 2em;
}

#subpage-main figure+*:not(figcaption) {
    margin-top: 48px;
    /*Most likely the same as 3em, but when it was following an h# the margin was too large*/
}

#subpage-main figure+figcaption {
    margin-top: 1em;
    margin-bottom: 3em;
}


/*-------------Contact Cards--------------------*/

.contact-card .photo-wrapper {
    min-width: 150px;
    width: 150px;
    max-width: 150px;
    height: 150px;
    overflow: hidden;
}

.contact-card .photo-wrapper img {
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center top;
    object-position: center top;
    min-width: 150px;
}

.contact-card .contact-info {
    margin-bottom: .75em;
}

.contact-card .contact-info a[href^="mailto"] {
    font-size: 1.1em;
    font-weight: bold;
}

.contact-card .contact-info .title {
    font-weight: bold;
    opacity: .8;
}

.contact-card .contact-info span {
    display: block;
    /*margin-bottom: .25em;*/
}

.contact-grid {
    margin-bottom: 1.25em;
}

@media (max-width: 400px) {
    .contact-grid {
        margin-bottom: 2em;
    }
}


/*The styles above will work on any legacy browser with the exception of object-fit/position which I've accounted for with the min/max-width on the img's. Everything below will take advantage of Grid and Flexbox*/

@supports ((display: -ms-grid) or (display: grid)) {
    .contact-grid {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(auto-fill, minmax(365px, 1fr));
        grid-gap: 1em;
    }
    .contact-card {
        display: flex;
        flex-direction: row;
    }
    .photo-wrapper+.contact-info {
        padding-left: 1em;
    }
    /*@media (max-width: 1000px) {
		.contact-grid {
			-ms-grid-columns: (1fr)[2];
			    grid-template-columns: repeat(2, 1fr);
		}
	}*/
    @media (max-width: 550px) and (min-width: 400px) {
        /*.contact-grid {
			grid-gap: .5em;
		}*/
        .contact-card .photo-wrapper {
            width: 100%;
            height: 150px;
            /*background: #e6e6e6;*/
            display: flex;
            justify-content: center;
            align-items: center;
        }
        .contact-card .photo-wrapper img {
            width: 150px;
        }
        .contact-card .photo-wrapper+.contact-info {
            margin-top: .25em;
            font-size: 15px;
        }
    }
    @media (max-width: 400px) {
        .contact-grid {
            display: block;
        }
        .contact-card {
            /*flex-direction: column;*/
            margin-bottom: 2.5rem;
        }
        .contact-card .photo-wrapper {
            min-width: 40%;
            width: 40%;
            max-width: 40%;
            height: auto;
        }
        .photo-wrapper+.contact-info {
            /*padding-left: 0;
			padding-top: .5em;*/
            margin-bottom: 1.5em;
        }
        #subpage-main img {
            min-width: unset;
        }
    }
}


/*-------------Biography Cards--------------------*/

.biographies {
    margin-top: 2em;
}

.biography-card {
    margin-bottom: 3em;
}

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

#subpage-main .biography-card>.name-and-title>h2 {
    margin-bottom: .25em;
    text-transform: none;
    color: var(--light-gray);
    opacity: .8;
    font-size: 1.6em;
}

.biography-card span {
    display: block;
}

.biography-card h2+span {
    font-weight: bold;
    opacity: .8;
}

.biography-card .description {
    margin-top: .5em;
}


/*The styles above will work on any legacy browser with the exception of object-fit/position which I've accounted for with the min/max-width on the img's. Everything below will take advantage of Grid and Flexbox*/

@supports ((display: -ms-grid) or (display: grid)) {
    @media (min-width: 800px) {
        .biographies {
            display: -ms-grid;
            display: grid;
            -ms-grid-columns: (1fr)[2];
            grid-template-columns: repeat(2, 1fr);
            grid-gap: 1em 3em;
        }
        .biography-card {
            margin-bottom: 0;
        }
        #subpage-main .biography-card>.name-and-title>h2 {
            margin-bottom: .125em;
        }
    }
}


/*----------------------Misc. Objects--------------------------*/

template {
    display: none;
}

*+.embed-responsive {
    margin-top: 2em;
}

.embed-responsive+*:not(a) {
    margin-top: 3em;
    display: block;
}

address {
    margin-bottom: unset;
    /*Overwrites Bootstrap style*/
}

.full-width {
    position: absolute;
    margin-left: -50vw;
    left: 50%;
    right: 0px;
    width: 100vw;
    top: 0px;
    bottom: 0px;
}

.promos {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    margin-top: 2em;
    margin-bottom: 3em;
}

.promo-item {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 120px 1fr;
    grid-template-columns: 120px 1fr;
}


/*----------------------Utility Functions--------------------------*/


/*These classes were set up to balance sponsor logos shown in a grid with other logos of different proportions, but can be used across the site*/

.bigger,
.wide-and-short {
    transform: scale(1.1) translateX(.5em);
}

.bigger-2x {
    transform: scale(1.25) translateX(.9em);
}

.smaller {
    transform: scale(.9) translateX(-.5em);
}


/*--------------------------------------------------------
						Login Modal
--------------------------------------------------------*/

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

.close,
.close:hover {
    opacity: 1;
}

.close svg.menu-trigger {
    width: 30px;
    height: 30px;
}

.close svg.menu-trigger line {
    stroke-width: 4px;
}

.close svg.menu-trigger .line-1 {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
}

.close svg.menu-trigger .line-4 {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
}

.close svg.menu-trigger .line-2 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}

.close svg.menu-trigger .line-3 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}

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

#login-modal h2 {
    font-size: 1.4em;
    text-transform: capitalize;
    letter-spacing: -0.4px;
}

#login-modal label {
    position: absolute;
    left: -200vw;
}

#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: var(--blue);
    border-color: var(--blue);
    border-width: 3px;
    border-style: solid;
    text-transform: uppercase;
    font-weight: bold;
    font-size: 1.15em;
    padding: .5em 1.5em;
    box-sizing: content-box;
    width: 7em;
    max-width: 100%;
    text-align: center;
    display: block;
    transition: .5s all;
    line-height: 1em;
    text-decoration: none;
    background: transparent;
    margin-left: auto;
    margin-right: auto;
}

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


/*--------------------------------------------------------
						HEADER
--------------------------------------------------------*/

header {}

header#sticky-header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
}

header#sticky-header.scrolled {
    box-shadow: 1.79px 2.69px 17.92px rgba(0, 0, 0, 0.2);
}

#login-section {
    height: 42px;
}

@media (max-width: 800px) {
    #login-section {
        display: none;
    }
}

#login-section ul {
    position: absolute;
    right: 0;
    top: calc( 50% - (1em * .5));
}

@media (max-width: 800px) {
    #login-section ul {
        padding-right: .5em;
    }
}

#login-section ul li {
    display: inline-block;
}

#login-section ul li a,
.login-link {
    margin-left: 1em;
    font-weight: bold;
    text-transform: uppercase;
}


/*#login-section ul li a:hover {
	color: var(--green);
}*/

#masthead {
    height: 235px;
    display: flex;
    position: relative;
    background-image: url(../images/circles-background.svg);
    background-position-y: -40px;
    background-color: var(--dark-gray);
}

#header-logo {
    margin: auto;
    text-align: center;
}

#header-logo a {
    text-decoration: none;
}

@media (max-width: 650px) {
    #masthead {
        height: inherit;
        /*IE doesn't support unset as a value*/
        height: unset;
    }
    #header-logo {
        margin: 1.5em auto;
    }
}

@media (max-width: 550px) {
    #header-logo {
        margin: 1.25em auto;
    }
}

#masthead .nemoa-logo {
    max-width: 100%;
    display: block;
    margin: auto;
    width: 453px;
}

@media (max-width: 800px) {
    #masthead .nemoa-logo {
        width: 300px;
        height: 92.23px;
    }
}

@media (max-width: 550px) {
    #masthead .nemoa-logo {
        max-width: 100%;
        width: 200px;
        height: calc( (92.23 / 300) * 200px);
        /*Doing the math on the height since Safari can't handle height: auto; on SVG's*/
    }
}

#masthead .org-name {
    color: white;
    font-size: 14px;
    margin-top: 1em;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    display: block;
    font-weight: bold;
}

@media (max-width: 600px) {
    #masthead .org-name {
        width: 300px;
        text-align: center;
        margin-left: auto;
        margin-right: auto;
        margin-top: .75em;
    }
}

@media (max-width: 550px) {
    #masthead .org-name {
        text-transform: none;
        font-size: 12px;
        max-width: 60vw;
    }
}

@media (max-width: 300px) {
    #masthead .org-name {
        max-width: calc( 100vw - 20px);
        font-size: 11px;
        margin-top: .5em;
    }
}

#sticky-header {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    background: white;
    z-index: 10;
}

#header-news-feed {
    font-size: 1em;
    background: var(--blue);
    padding: .5em;
    text-transform: uppercase;
    text-align: center;
    color: white;
    font-weight: bold;
    font-variant: lining-nums;
    transition: height .5s ease-out .5s;
    text-transform: capitalize;
}

@media (max-width: 800px) {
    #header-news-feed {
        text-transform: none;
        font-weight: normal;
    }
}

#sticky-header.scrolled #header-news-feed {
    height: 0;
    overflow-y: hidden;
    padding: 0;
}

#header-news-feed a {
    color: inherit;
    text-decoration: none;
}

#header-news-feed a:hover {
    color: var(--green);
}


/*--------------------------------------------------------
			Navigation Logo Mask
--------------------------------------------------------*/

li.home-mask,
.mobile-home-mask {
    width: 0;
    overflow: hidden;
    transition: .1s ease-in all;
    text-align: left;
    position: relative;
    top: .8em;
    display: inline-block;
}

@media (min-width: 800px) {
    .scrolled li.home-mask {
        width: calc( ( 526.162 / 161.766) * 1.7em);
        margin-left: .75em;
        margin-right: .75em;
    }
}

li.home-mask a:before {
    content: none;
}

#main-navigation li.home-mask a {
    padding: 0;
}

#main-navigation li.home-mask svg.nemoa-logo,
.mobile-home-mask svg.nemoa-logo {
    height: 1.7em;
    width: calc( ( 526.162 / 161.766) * 1.7em);
}


/*--------------------------------------------------------
				Mobile Trigger in Header
--------------------------------------------------------*/

#main-navigation {
    background: white;
}

@media (max-width: 800px) {
    #main-navigation {
        display: flex;
        justify-content: space-between;
    }
}

#main-navigation .login-links {
    display: none;
}

@media (max-width: 800px) {
    #main-navigation .login-links {
        display: inline-block;
    }
    #main-navigation .login-links a {
        margin-top: auto;
        margin-bottom: auto;
    }
}

#mobile-menu-trigger {
    display: none;
}

nav>label[for="mobile-menu-trigger"] {
    cursor: pointer;
    margin: auto 1em auto 1.5em;
    height: 40px;
}

@media (min-width: 800px) {
    nav>label[for="mobile-menu-trigger"] {
        display: none;
    }
}

svg.menu-trigger {}

.menu-trigger line {
    transition: .1s ease-in all;
}

#mobile-menu-trigger:checked~label .line-1 {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: left;
    transform-origin: left;
}

#mobile-menu-trigger:checked~label .line-4 {
    -webkit-transform: scaleX(0);
    transform: scaleX(0);
    -webkit-transform-origin: right;
    transform-origin: right;
}

#mobile-menu-trigger:checked~label .line-2 {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}

#mobile-menu-trigger:checked~label .line-3 {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    -webkit-transform-origin: center;
    transform-origin: center;
}


/*--------------------------------------------------------
					Navigation
--------------------------------------------------------*/

header nav ul {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    margin: 0;
}

@media (min-width: 900px) {
    header nav ul#menu {
        display: flex;
        justify-content: space-between;
        margin-left: auto;
        margin-right: auto;
        max-width: 1120px;
        padding-right: 1ch;
    }
}

header nav li {
    text-align: left;
    position: relative;
}

header nav li a {
    font-weight: normal;
    display: block;
    text-decoration: none;
    color: var(--text-gray);
    position: relative;
}

header nav li a:hover,
header nav li a:focus {
    background-color: transparent;
    text-decoration: none;
    color: var(--text-gray);
}

header nav>ul>li {
    display: inline-block;
}


/* ^^ Top level navigation list items*/

header nav>ul>li>a {
    font-size: 16px;
    font-weight: bold;
    padding: 1em .75em;
    text-transform: uppercase;
}

@media (max-width: 1130px) and (min-width: 800px) {
    header nav>ul>li>a,
    #login-section ul li a,
    .login-link {
        text-transform: capitalize;
    }
}

@media (max-width: 1050px) and (min-width: 800px) {
    header nav>ul>li>a {
        font-size: 14px;
        padding: 1em .4em;
    }
    .scrolled li.home-mask {
        width: calc( ( 526.162 / 161.766) * 1.5em);
        margin-left: .4em;
        margin-right: .4em;
    }
}


/* ^^ Top level navigation links*/

nav>ul>li>a:hover:before {
    content: none;
}


/*Carats*/

nav a.submenu-parent:after {
    content: "\25BE";
    font-size: .9em;
    padding-left: .25ch;
    display: inline-block;
    transition: .25s transform;
}

@media (max-width: 800px) {
    nav a.submenu-parent.focus:after {
        -webkit-transform: rotate(-180deg) translateX(-4px);
        transform: rotate(-180deg) translateX(-4px);
        -webkit-transform-origin: center;
        transform-origin: center;
    }
}

.submenu-parent+ul {
    display: none;
    position: absolute;
    top: calc( 100% - 5px);
    left: 0;
    z-index: 5;
    min-width: 210px;
    margin: 0px;
    font-size: inherit;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: none;
    border-radius: 0px;
    box-shadow: 0px 0px 20px 9px rgba(0, 0, 0, .05);
    padding: .5em 1em;
}


/* ^^ Dropdown submenus*/

.submenu-parent+ul li {
    display: block;
    float: none;
    padding: .5em 0;
    padding-right: .5em;
}


/* ^^ Dropdown submenu list items*/

.submenu-parent+ul a {
    width: auto;
    padding: .5em 0 .25em;
    display: inline;
}

@media (min-width: 800px) {
    header nav ul li a.submenu-parent:hover+ul,
    header nav ul li a.submenu-parent+ul:hover,
    header nav ul li a.submenu-parent:focus+ul,
    header nav ul li a.submenu-parent+ul:focus {
        display: block;
    }
    header nav li.close-menu {
        display: none;
    }
}


/*--------------------------------------------------------
					Contact Icon
--------------------------------------------------------*/

a.contact-icon {
    display: none;
}

li.contact-mask {
    transition: .1s ease-in width;
}

a.contact-icon svg {
    display: none;
    position: relative;
    bottom: -23.8px;
    transition: .1s ease-in bottom .3s;
}

a.contact-icon svg rect,
a.contact-icon svg polyline {
    stroke: var(--blue);
    transition: .5s stroke;
}

a.contact-icon:hover svg rect,
a.contact-icon:hover svg polyline {
    stroke: var(--green);
}

@media (min-width: 800px) {
    .scrolled li.contact-mask {
        overflow: hidden;
        width: 23.8px;
        height: 20px;
        position: relative;
        top: .3em;
    }
    .scrolled a.contact-text {
        display: none;
    }
    .scrolled a.contact-icon {
        padding: 0;
        display: block;
    }
    .scrolled a.contact-icon svg {
        display: block;
        bottom: 0px;
    }
}

@media (min-width: 900px) {
    .scrolled li.contact-mask {
        top: calc(54px / 2 - 10px);
    }
}


/*--------------------------------------------------------
					Mobile Navigation
--------------------------------------------------------*/

@media (max-width: 800px) {
    #main-navigation>ul:not(.login-links) {
        position: fixed;
        z-index: 50;
        top: 0px;
        bottom: 0px;
        left: -100%;
        background: white;
        width: 270px;
        max-width: calc( 100vw - 20px);
        text-align: left;
        transition: .1s ease-in left;
        overflow-y: scroll;
    }
    #mobile-menu-trigger:checked~ul {
        left: 0;
    }
    /* ^^ Styles to move the menu to the side of the screen and hide/reveal it*/
    #main-navigation>ul:not(.login-links) {
        padding: 0 35px;
        box-shadow: 1.79px 2.69px 17.92px rgba(0, 0, 0, 0.2);
    }
    nav>ul:not(.login-links)>li {
        display: block;
    }
    nav>ul>li>a {
        padding: .75em;
    }
    .submenu-parent+ul {
        box-shadow: none;
        position: relative;
        top: 0px;
        padding: 0;
        padding-left: .75em;
    }
    .submenu-parent+ul a {
        padding-left: 0;
        pointer-events: auto;
    }
    /*nav ul li a.submenu-parent:focus + ul,
	nav ul li a.submenu-parent + ul:focus, 
	nav ul li a.submenu-parent + ul:active  {
	    display: block;
		pointer-events: none;
		position: relative;
	}*/
    nav ul li a.submenu-parent.focus+ul {
        display: block;
        position: relative;
    }
    .submenu-parent+ul a:after {
        content: normal;
    }
}


/*--------------------------------------------------------
			Mobile Menu Logo and Close Trigger
--------------------------------------------------------*/

@media (max-width: 800px) {
    li.close-menu {
        text-align: right;
        margin-top: 1em;
    }
    li.home-mask {
        width: 100%;
        margin-left: 0;
        margin-right: 0px;
        padding-left: calc( 1em - 4px);
        padding-right: calc( 1em - 4px);
        top: 0;
        left: 0;
        margin-top: 0.5em;
    }
    li.home-mask svg.nemoa-logo {
        width: 100%;
        height: calc( (92.23 / 300) * 159px);
    }
    .close-menu label {
        margin: 0;
    }
    .close-menu svg.menu-trigger {
        width: 30px;
        height: 30px;
    }
    .close-menu svg.menu-trigger line {
        stroke-width: 4px;
    }
    #mobile-menu-trigger:checked~ul label .line-1 {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: left;
        transform-origin: left;
    }
    #mobile-menu-trigger:checked~ul label .line-4 {
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transform-origin: right;
        transform-origin: right;
    }
    #mobile-menu-trigger:checked~ul label .line-2 {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg);
        -webkit-transform-origin: center;
        transform-origin: center;
    }
    #mobile-menu-trigger:checked~ul label .line-3 {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: center;
        transform-origin: center;
    }
}


/*--------------------------------------------------------
				Homepage/Subpage/MMS Main
--------------------------------------------------------*/

#home-main {
    max-width: 100%;
}

#home-main .row,
#home-main .col-md-12 {
    display: contents;
}

#subpage-main,
#mms-main {
    margin-top: 2em;
}

#subpage-main {
    /*Every page will be at least 1/3 of the screen size tall*/
    min-height: calc( 100vh / 3);
    max-width: 1120px;
}

@media (max-width: 768px) {
    #subpage-main {
        max-width: 100%;
        /*overflow-x: hidden;*/
    }
}

#subpage-main img {
    max-width: 100%;
    height: auto;
    display: block;
}

#subpage-main a>img {
    /*Hides the green underline when the link surrounding the image is hovered*/
    position: relative;
    z-index: 2;
}

#mms-main a:before {
    content: unset;
}


/*--------------------------------------------------------
					Homepage: Sections
--------------------------------------------------------*/

section[id^="home-"] {
    font-size: 20px;
    position: relative;
    padding-top: 75px;
    padding-bottom: 45px;
    text-align: center;
}

@media (max-width: 1000px) {
    section[id^="home-"] {
        font-size: 18px;
        padding-left: 1em;
        padding-right: 1em;
    }
}

@media (max-width: 800px) {
    section[id^="home-"] {
        padding-left: 2em;
        padding-right: 2em;
    }
}

@media (max-width: 500px) {
    section[id^="home-"] {
        font-size: 16px;
        padding-left: 1em;
        padding-right: 1em;
    }
}

section[id^="home-"] p {
    margin-left: auto;
    margin-right: auto;
    max-width: 850px;
}

section.gray-background {
    color: white;
}

section.gray-background:before,
section.gray-background:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    margin-left: -50vw;
    left: 50%;
    right: 0px;
    width: 100vw;
}

section.gray-background:before {
    background-image: url(../images/circles-background.svg);
    background-size: cover;
    background-position-y: -200px;
    background-position-x: center;
    z-index: -1;
    opacity: 0.1;
}

section.gray-background:after {
    background-color: var(--light-gray);
    z-index: -2;
}

#home-why-attend h1,
#home-summit-speakers h2,
#home-whos-attending h2,
#home-testimonials h2,
#home-sponsors h2 {
    font-size: 2.2em;
    font-weight: 900;
    margin-bottom: 1em;
}

@media (max-width: 800px) {
    #home-why-attend h1,
    #home-summit-speakers h2,
    #home-whos-attending h2,
    #home-testimonials h2,
    #home-sponsors h2 {
        font-size: 2em;
        margin-bottom: .5em;
    }
}


/*--------------------------------------------------------
					Homepage: Banner
--------------------------------------------------------*/

#home-banner {
    text-transform: uppercase;
    line-height: 1em;
    height: 600px;
    padding-left: 0 !important;
    padding-right: 0 !important;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
}

@media (max-width: 500px) {
    #home-banner {
        justify-content: center;
    }
}

#home-banner::before {
    content: "";
    background-image: url(../images/NEMOA_Spring18-5188-cropped2.jpg);
    background-size: cover;
    background-position-y: center;
    position: absolute;
    margin-left: -50vw;
    left: 50%;
    right: 0px;
    width: 100vw;
    top: 0px;
    bottom: 0px;
    z-index: -1;
}

@media (max-width: 960px) and (min-width: 430px) {
    #home-banner {
        height: calc( ( 600 / 970) * 100vw);
    }
}

@media (max-width: 500px) {
    #home-banner::before {
        background-image: url(../images/NEMOA_Spring18-5188-for-mobile.png);
    }
}

#home-banner figure {}

#home-banner figcaption {}

#home-banner figcaption:before {
    content: "";
    background-image: url(../images/circles-background.svg);
    background-size: cover;
    background-position: center;
    position: absolute;
    top: 20%;
    bottom: 0;
    margin-left: -50vw;
    left: 50%;
    right: 0px;
    width: calc(100vw + 5px);
    /*^^Compensates for the few pixels it doesn't cover at very small screen sizes*/
    -webkit-mask-image: linear-gradient(transparent, black);
    mask-image: linear-gradient(transparent, black);
    z-index: -1;
    background-color: var(--dark-gray);
}

@supports (-ms-ime-align: auto) {
    /*MS Edge doesn't support mask-image so we set the opacity of the background color and image to 50% and make the overlay cover the entire image*/
    #home-banner figcaption:before {
        opacity: .5;
        top: 0;
    }
}


/* #home-banner figcaption>span {
    display: block;
    line-height: 0.95em;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
    color: white;
    font-weight: 900;
    font-size: 3.2em;
}

@media (max-width: 800px) {
    #home-banner figcaption>span {
        font-size: 2em;
    }
}

@media (max-width: 600px) {
    #home-banner figcaption>span {
        font-size: 1.5em;
    }
} */

#home-banner figcaption>span.date-and-location {
    color: var(--green);
    font-size: 2.4em;
    font-weight: bold;
    margin-bottom: .5em;
}

@media (max-width: 1000px) {
    #home-banner figcaption .optional-bullet {
        display: block;
        visibility: hidden;
        margin-top: -1em;
    }
}


/* #home-banner figcaption>span:nth-of-type(2) {
    color: white;
    font-weight: 900;
    font-size: 5em;
    margin: 0 auto;
}

#home-banner figcaption>span:nth-of-type(2):first-line {
    font-size: 0.563em;
    line-height: 1em;
}

@media (max-width: 1200px) and (min-width: 430px) {
    #home-banner figcaption>span:nth-of-type(2) {
        font-size: calc( ( 80 / 1170) * 100vw);
    }
}

@media (max-width: 560px) {
    #home-banner figcaption>span:nth-of-type(2) br {
        display: none;
    }
}

@media (max-width: 840px) and (min-width: 430px) {
    #home-banner figcaption>span.date-and-location {
        font-size: calc( ( 48 / 840) * 100vw);
    }
} */

@media (max-width: 430px) {
    #home-banner {
        height: 450px;
        padding-top: 30px;
        padding-bottom: 30px;
        box-sizing: content-box;
        max-width: 100%;
    }
    #home-banner figcaption {
        font-size: 16px;
        text-align: left;
        padding-left: 15px;
        padding-right: 15px;
    }
    #home-banner figcaption>span:nth-of-type(2) {
        font-size: 2.8em;
    }
    #home-banner figcaption>span.date-and-location {
        font-size: 1.8em;
    }
}

@media (max-width: 350px) {
    #home-banner figcaption>span:nth-of-type(2) {
        font-size: 2.2em;
    }
}


/*--------------------------------------------------------
					Homepage: Why Attend
--------------------------------------------------------*/

#home-why-attend {}

@media (max-width: 1000px) {
    #home-why-attend p {
        text-align: left;
        margin-bottom: 1.25em;
    }
}

#home-why-attend h1,
#home-why-attend h2,
#home-why-attend h3,
#home-why-attend h4 {
    color: var(--blue);
}

#home-why-attend h2 {
    font-size: 1.6em;
}

@media (max-width: 800px) {
    /*#home-why-attend h1,*/
    #home-why-attend h2 {
        text-align: left;
    }
}

#home-why-attend .three-column-grid {
    margin-top: 50px;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 30px;
}

#home-why-attend a.button {
    margin-top: 0px;
    margin-bottom: 0px;
}

#home-why-attend .three-column-grid>*:nth-child(1n+4) {
    /*Anything after the first three columns will span the entire row*/
    grid-column: span 3;
}

@media (max-width: 990px) {
    #home-why-attend .three-column-grid {
        display: block;
    }
    #home-why-attend a.button {
        margin: 2em auto;
    }
}


/*--------------------------------------------------------
					Homepage: Summit Speakers
--------------------------------------------------------*/

#home-summit-speakers {
    /*text-align: center;*/
    color: white;
}

#home-summit-speakers h1,
#home-summit-speakers h2,
#home-summit-speakers h3,
#home-summit-speakers h4 {
    color: var(--green);
}

.speaker-photo-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    justify-items: center;
    grid-row-gap: 40px;
    grid-column-gap: 90px;
    margin-left: auto;
    margin-right: auto;
    max-width: 960px;
    margin-bottom: 50px;
    margin-top: 50px;
}

.speaker-photo-grid .speaker-grid-item {
    text-transform: uppercase;
    line-height: 1.1em;
    font-weight: bold;
}

@media (max-width: 800px) {
    .speaker-photo-grid {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    }
}

.speaker-photo-grid img {
    display: block;
    max-width: 100%;
    width: 267px;
    height: auto !important;
    border: 6px solid var(--green);
    border-radius: 50%;
    margin-bottom: 10px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 550px) {
    .speaker-photo-grid {
        display: block;
    }
    .speaker-photo-grid .speaker-grid-item {
        margin-bottom: 2em;
    }
    .speaker-photo-grid img {
        max-width: 60%;
    }
}

.speaker-name {
    font-size: 1.1em;
    display: block;
    margin-top: .75em;
}

.speaker-company {
    font-size: .9em;
    display: block;
}

#home-summit-speakers hr+p {
    margin-top: 2em;
    margin-bottom: 1.5em;
}

#home-summit-speakers a.button {
    margin: 0;
}


/*--------------------------------------------------------
					Homepage: Who's Attending
--------------------------------------------------------*/

#home-whos-attending {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 30px 20px;
    grid-template-areas: "venue-photos attending-text" "venue-photos attending-sponsors" "venue-photos attending-button";
}

#home-whos-attending .venue-photos {
    -ms-grid-row: 1;
    -ms-grid-row-span: 3;
    -ms-grid-column: 1;
    grid-area: venue-photos;
}

#home-whos-attending img {
    display: block;
    max-width: 100%;
    height: auto;
}

#home-whos-attending .attending-text {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
    grid-area: attending-text;
    margin-top: 1em;
}

#home-whos-attending #attending-sponsors-list {
    -ms-grid-row: 2;
    -ms-grid-column: 2;
    grid-area: attending-sponsors;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    justify-items: center;
    align-items: center;
    justify-content: space-around;
}

#home-whos-attending #attending-sponsors-list li {}

#home-whos-attending a.button {
    -ms-grid-row: 3;
    -ms-grid-column: 2;
    grid-area: attending-button;
    margin-top: unset;
    margin-bottom: 1em;
    -ms-grid-column-align: center;
    justify-self: center;
    -ms-grid-row-align: end;
    align-self: end;
}

@media (max-width: 1100px) {
    #home-whos-attending {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
    #home-whos-attending .venue-photos {
        display: none;
    }
    #home-whos-attending #attending-sponsors-list {
        margin: 2em auto;
    }
}

@media (max-width: 1100px) and (min-width: 650px) {
    #home-whos-attending {
        max-width: 75vw;
    }
    #home-whos-attending #attending-sponsors-list {
        max-width: 50vw;
        grid-gap: 30px 10vw;
    }
}

@media (max-width: 650px) {
    #home-whos-attending {
        display: block;
    }
    #home-whos-attending #attending-sponsors-list {
        -ms-grid-columns: (33vw)[2];
        grid-template-columns: repeat(2, 33vw);
        margin-left: auto;
        margin-right: auto;
    }
}


/*--------------------------------------------------------
					Homepage: What Attenees are Saying
--------------------------------------------------------*/

#home-testimonials {}

#home-testimonials h3 {
    margin-top: .75em;
    margin-bottom: .75em;
}

.testimonial-item {}

.testimonial-item {
    text-align: left;
    display: -ms-grid;
    display: grid;
    max-width: 945px;
    margin-left: auto;
    margin-right: auto;
    grid-template-areas: "img quote" "img cite";
    grid-column-gap: 80px;
    position: relative;
}

@media (max-width: 1200px) {
    .testimonial-item {
        grid-column-gap: 50px;
    }
}

.testimonial-item:nth-of-type(even) {
    grid-template-areas: "quote img" "cite img";
    left: 0.5em;
}

.testimonial-item img {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    -ms-grid-column: 2;
    grid-area: img;
    display: block;
    max-width: 100%;
    height: auto !important;
    border: 6px solid var(--green);
    border-radius: 50%;
}

.testimonial:before {
    content: open-quote;
    margin-left: -0.3em;
}

.testimonial {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
    grid-area: quote;
    font-size: 1.5em;
    text-transform: uppercase;
    line-height: 1.15em;
    padding: 0px;
    border-left: none;
    margin: unset;
    -ms-grid-row-align: end;
    align-self: end;
    font-weight: bold;
}

.testimonial:after {
    content: close-quote;
}

.testimonial-author {
    -ms-grid-row: 2;
    -ms-grid-column: 1;
    grid-area: cite;
    font-size: 1.1em;
    color: var(--blue);
    font-style: normal;
    text-indent: -1em;
    /*^^ For hanging punctuation of the the em-dash */
    margin-top: .5em;
    line-height: 1.1em;
}

.testimonial-author:before {
    content: "\2014";
}

.testimonial-item:nth-of-type(even) .testimonial,
.testimonial-item:nth-of-type(even) .testimonial-author {
    text-align: right;
}

@media (max-width: 900px) {
    .testimonial-item {
        grid-column-gap: 1.5em;
        -ms-grid-columns: minmax(100px, 150px) 1fr;
        grid-template-columns: minmax(100px, 150px) 1fr;
        margin: 1.5em 0;
    }
    .testimonial-item:nth-of-type(even) {
        -ms-grid-columns: 1fr minmax(100px, 150px);
        grid-template-columns: 1fr minmax(100px, 150px);
        left: unset;
    }
    .testimonial {
        text-transform: none;
    }
}

@media (max-width: 750px) {
    #home-testimonials {
        padding-left: 1em;
        padding-right: 1em;
    }
    .testimonial {
        font-size: 1.1em;
    }
    .testimonial-author {
        font-size: 1em;
        margin-top: .5em;
    }
}

@media (max-width: 600px) {
    .testimonial-item,
    .testimonial-item:nth-of-type(even) {
        display: block;
    }
    .testimonial-item img {
        display: inline-block;
        max-width: 20vw;
        position: absolute;
        top: calc( 40% - 10vw);
        left: 0;
    }
    .testimonial-item .testimonial,
    .testimonial-item .testimonial-author,
    .testimonial-item:nth-of-type(even) .testimonial,
    .testimonial-item:nth-of-type(even) .testimonial-author {
        text-align: left;
        display: inline-block;
        max-width: calc( 80vw - 4em);
        position: relative;
        left: calc( 20vw + 1.25em);
    }
}

@media (max-width: 370px) {
    .testimonial-item img {
        top: -3px;
    }
    .testimonial-item .testimonial,
    .testimonial-item .testimonial-author,
    .testimonial-item:nth-of-type(even) .testimonial,
    .testimonial-item:nth-of-type(even) .testimonial-author {
        max-width: calc( 80vw - 3.5em);
        left: calc( 20vw + 0.95em);
    }
}

#home-testimonials p.guaranteed-text {
    max-width: 29em;
}


/*--------------------------------------------------------
					Homepage: Thank You to Our Sponsors
--------------------------------------------------------*/

#home-sponors {}

#sponsor-slideshow .carousel-inner {
    min-height: 262px;
}

@media (max-width: 460px) {}

.sponsor-grid {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[4];
    grid-template-columns: repeat(4, 1fr);
    max-width: 1120px;
    grid-gap: 30px 50px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 990px) {
    .sponsor-grid {
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 630px) {
    .sponsor-grid {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    }
}

.sponsor-grid img {
    -ms-grid-column-align: center;
    justify-self: center;
    -ms-grid-row-align: center;
    align-self: center;
    display: block;
    max-width: 100%;
    height: auto !important;
    max-height: 70px;
}

@media (max-width: 800px) {
    #sponsor-slideshow {
        padding-top: 1em;
        padding-bottom: 1em;
    }
}

@media (max-width: 630px) {
    #sponsor-slideshow .carousel-inner {
        min-height: 400px;
        min-height: calc(( 347 / 630) * ( 100vw + 30px));
    }
}

@media (max-width: 500px) {
    #sponsor-slideshow .carousel-inner {
        min-height: 180px;
        /*min-height: calc(( 347 / 630 ) * ( 100vw + 30px));*/
    }
    .sponsor-grid {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    }
    .sponsor-grid img {
        max-height: 40px;
    }
}

@media (max-width: 400px) {
    #sponsor-slideshow .carousel-inner {
        min-height: unset;
    }
    #sponsor-slideshow .item,
    #sponsor-slideshow .sponsor-grid {
        height: 160px;
    }
    .sponsor-grid {
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .sponsor-grid img {
        width: auto;
        height: auto;
        max-width: 70%;
        max-height: 60%;
    }
}

#sponsor-slideshow .left-arrow {
    text-decoration: none;
    position: absolute;
    left: -2em;
    top: 50%;
}

#sponsor-slideshow .right-arrow {
    text-decoration: none;
    position: absolute;
    right: -2em;
    top: 50%;
}

@media (max-width: 1100px) {
    #sponsor-slideshow .left-arrow {
        left: 0;
        top: 100%;
    }
    #sponsor-slideshow .right-arrow {
        left: 4em;
        right: inherit;
        right: unset;
        top: 100%;
    }
}

@media (max-width: 1100px) and (min-width: 990px) {
    #sponsor-slideshow .left-arrow,
    #sponsor-slideshow .right-arrow {
        margin-top: 2em;
    }
}

#sponsor-slideshow .left-arrow:before,
#sponsor-slideshow .right-arrow:before {
    content: none;
}


/*--------------------------------------------------------
					Homepage: Photogrid
--------------------------------------------------------*/

#home-photo-grid {
    min-height: calc( 100vw / ( ( 394 * 5) / ( 190 * 3)));
    /*Because of the absolute positioning on the #home-photo-grid>figure, this calculation is needed to add back the height of the grid*/
    display: flex;
}

#home-photo-grid figure {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[5];
    grid-template-columns: repeat(5, 1fr);
}

#home-photo-grid figure img {
    place-self: stretch;
    max-width: 100%;
    display: block;
}

@media (max-width: 1200px) {
    #home-photo-grid {
        min-height: calc( 100vw / ( ( 394 * 4) / ( 190 * 3)));
        /*4 columns, 3 rows */
    }
    #home-photo-grid figure {
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr);
    }
    #home-photo-grid figure img:nth-of-type(1n+13) {
        /*Any photo after the 12th (the last of the third row in this query) will be hidden*/
        display: none;
    }
}

@media (max-width: 950px) {
    #home-photo-grid {
        min-height: calc( 100vw / ( ( 394 * 3) / ( 190 * 3)));
        /*3 columns, 3 rows */
    }
    #home-photo-grid figure {
        -ms-grid-columns: (1fr)[3];
        grid-template-columns: repeat(3, 1fr);
    }
    #home-photo-grid figure img:nth-of-type(1n+10) {
        /*Any photo after the 9th (the last of the third row in this query) will be hidden*/
        display: none;
    }
}

@media (max-width: 475px) {
    #home-photo-grid {
        min-height: calc( 100vw / ( ( 394 * 2) / ( 190 * 3)));
        /*2 columns, 3 rows */
    }
    #home-photo-grid figure {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    }
    #home-photo-grid figure img:nth-of-type(1n+7) {
        /*Any photo after the 6th (the last of the third row in this query) will be hidden*/
        display: none;
    }
}

#home-photo-grid figcaption {
    margin: auto;
    z-index: 2;
    font-size: calc( 100vw / ( 2000 / 116));
    color: white;
    font-weight: 900;
    text-transform: uppercase;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
}

@media (max-width: 750px) {
    #home-photo-grid figcaption {
        font-size: 45px;
    }
}

@media (max-width: 430px) {
    #home-photo-grid figcaption {
        font-size: calc( 100vw / ( 430 / 40));
    }
}


/*--------------------------------------------------------
				CSS Styles for Inner Pages
--------------------------------------------------------*/


/*----------Responsive Nivo*/

div[id^=slider-container-FD],
div[id^=slider_FD],
.nivoSlider img {
    max-width: 100% !important;
    height: auto !important;
}


/*----------Nivo Controls*/

.nivo-prevNav,
.nivo-nextNav {
    background-image: none !important;
    width: 25px !important;
    top: 25% !important;
    /*Fallback for browsers that don't support calc*/
    top: calc( 50% - 50px) !important;
    text-decoration: none;
    color: white;
    font-weight: bold;
    font-size: 75px;
    font-family: Arial, sans-serif;
    text-shadow: 0px 0px 10px rgba(51, 51, 51, 0.4);
}

.nivo-prevNav:hover,
.nivo-nextNav:hover {
    text-decoration: none;
    color: #ae0e0d;
    text-shadow: none;
}

.nivo-prevNav {
    left: 10px !important;
}

.nivo-nextNav {
    right: 10px !important;
}

.nivo-prevNav:after {
    content: "‹";
}

.nivo-nextNav:after {
    content: "›";
}


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

footer {
    color: white;
    text-transform: uppercase;
    font-size: 16px;
    bottom: -1px;
    /*For some reason there is a 1px gap at the bottom of the screen in Chrome*/
    z-index: 3;
    max-width: 100%;
}

#subpage-main~footer,
#mms-main~footer {
    /*When the footer is shown on subpages or the MMS, do this*/
    margin-top: 4em;
}

footer section {
    background: var(--light-gray);
    position: relative;
}

#footer-top-row {
    padding-top: 35px;
    padding-bottom: 25px;
    display: -ms-grid;
    display: grid;
    display: flex;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    justify-content: space-between;
    grid-gap: 30px;
    font-weight: 900;
    padding-left: 10em;
    padding-right: 10em;
    letter-spacing: .75px;
    z-index: 3;
    transition: grid-template-columns .5s, padding-top .25s;
    transition: grid-template-columns .5s, padding-top .25s, -ms-grid-columns .5s;
}

@media (max-width: 1250px) {
    #footer-top-row {
        padding-left: 5em;
        padding-right: 5em;
    }
}

@media (max-width: 1050px) {
    #footer-top-row {
        padding-left: 2em;
        padding-right: 2em;
    }
}

@media (max-width: 850px) {
    #footer-top-row {
        display: block;
        text-align: center;
    }
}

#footer-signup {
    max-width: 320px;
}

@media (max-width: 850px) {
    #footer-signup {
        margin-right: auto;
        margin-left: auto;
    }
}

#footer-signup span {
    display: block;
    line-height: 1.25em;
    margin-bottom: .25em;
}

#footer-signup span:first-of-type {
    color: var(--green);
    font-size: 1.125em;
}

#footer-signup span:last-of-type {
    color: white;
}

#footer-top-row a.button {
    border-color: white;
    color: white;
    font-size: 1.125em;
    padding: 1em 2em;
    margin-top: 3px;
}

#footer-top-row a.button:hover {
    color: var(--green);
    border-color: var(--green);
}

@media (max-width: 850px) {
    #footer-top-row a.button {
        margin-top: 1em;
    }
}

@media (max-width: 500px) {
    .signup-banner #footer-signup span {
        display: inline;
    }
    .signup-banner #footer-signup span:last-of-type::before {
        content: ' ';
        display: inline;
    }
    #footer-top-row a.replace-button-link {
        color: white;
        pointer-events: none;
        text-decoration: none;
    }
    /*These two styles ^^ vv work in conjuction to ensure that the link only shows up as a link before the banner turns back into the footer*/
    .signup-banner #footer-top-row a.replace-button-link {
        pointer-events: auto;
        /*text-decoration: underline;*/
    }
    .signup-banner #footer-top-row a.button {
        display: none;
    }
}

#footer-social-links span {
    margin-right: 10px;
}

#footer-social-links ul {
    display: inline-block;
    position: relative;
    top: 7px;
}

#footer-social-links li {
    display: inline-block;
    margin-right: 5px;
}

#footer-social-links svg {
    border-radius: 50%;
    background: var(--blue);
    padding: 5px;
    transition: .5s background;
}

#footer-social-links svg:hover {
    background: var(--green);
}

#footer-social-links svg:hover path {
    fill: white;
    transition: .5s fill;
}

#footer-social-links svg:hover path {
    fill: var(--text-gray);
}

#footer-nav-row {
    border-top: 1px solid white;
    text-align: center;
    padding: 1em;
}

#footer-nav-row nav ul {}

@media (max-width: 850px) {
    #footer-nav-row nav ul {
        display: block;
        -webkit-column-count: 4;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-count: 4;
        max-width: 450px;
        width: 100%;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
    }
}

@media (max-width: 500px) {
    #footer-nav-row nav ul {
        -webkit-column-count: 3;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-count: 3;
    }
}

@media (max-width: 350px) {
    #footer-nav-row nav ul {
        -webkit-column-count: 2;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-count: 2;
    }
}

#footer-nav-row nav ul li a {
    color: white;
    font-size: .9em;
    padding: 0;
    padding-right: 5px;
    border-right: 3px solid white;
    margin-left: 1px;
}

#footer-nav-row nav ul li:last-of-type a {
    border-right: none;
}

@media (max-width: 850px) {
    #footer-nav-row nav ul li a:before {
        content: none;
    }
    #footer-nav-row nav ul li a {
        text-transform: capitalize;
        padding: .5em;
        display: inline-block;
        border: none;
        margin: 0;
    }
}

#footer-nav-row nav ul li a:after {
    content: none;
}

#footer-credits-row {
    text-align: center;
    font-size: 14px;
    padding: 1em;
    text-transform: none;
    border-top: 1px solid white;
}


/*--------------------------------------------------------
						Footer Signup Banner
--------------------------------------------------------*/

footer.signup-banner {
    opacity: 0.99;
    position: sticky;
    position: -webkit-sticky;
    right: 0;
    /*display: none;*/
}

footer.signup-banner #footer-top-row {
    height: 110px;
    padding-top: 25px;
    -ms-grid-columns: 1fr 1fr 0px;
    grid-template-columns: 1fr 1fr 0px;
    background: var(--blue);
}

@media (max-width: 850px) {
    footer.signup-banner #footer-top-row {
        height: 110px;
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
        display: -ms-grid;
        display: grid;
        font-size: 14px;
        padding-left: 4em;
        padding-right: 4em;
    }
}

@media (max-width: 650px) {
    footer.signup-banner #footer-top-row {
        -ms-grid-columns: 1.25fr 1fr;
        grid-template-columns: 1.25fr 1fr;
        font-size: 14px;
        padding-left: 2em;
        padding-right: 2em;
        text-transform: none;
    }
}

@media (max-width: 530px) {
    footer.signup-banner #footer-top-row {
        display: block;
        padding: 1em;
        height: unset;
    }
}

footer.signup-banner #footer-signup {
    -ms-grid-column-align: self-end;
    justify-self: self-end;
}

@media (max-width: 850px) {
    footer.signup-banner #footer-signup {
        text-align: left;
    }
}

@media (max-width: 530px) {
    footer.signup-banner #footer-signup {
        text-align: center;
        margin-bottom: 1em;
    }
}

footer.signup-banner #footer-top-row a.button {
    padding: 0.9em 2em;
    margin-bottom: 0;
}

@media (max-width: 1250px) {
    footer.signup-banner #footer-top-row a.button {
        margin-right: 0;
    }
}

@media (max-width: 850px) {
    footer.signup-banner #footer-top-row a.button {
        margin-top: 0;
    }
}

@media (max-width: 530px) {
    footer.signup-banner #footer-top-row a.button {
        margin-bottom: 0;
    }
}

footer.signup-banner #footer-social-links {
    display: none;
    opacity: 0;
}

footer.signup-banner #footer-nav-row,
footer.signup-banner #footer-credits-row {
    position: absolute;
    top: 0px;
    z-index: -1;
    /*move these rows behind the #footer-top-row*/
}


/*--------------------------------------------------------
						Subpage Styles
--------------------------------------------------------*/

#subpage-main section {
    position: relative;
    padding-bottom: 20px;
}

#subpage-main section>h1:first-child,
#subpage-main section>h2:first-child {
    padding-top: 25px;
}


/*These 3 styles above give a bit a breathing space above the sections so if sections are linked to by their IDs then clicking on the link doesn't put its heading at the very top of the viewport*/

@media (max-width: 850px) {
    /*Switch buttons to regular links on smaller screens */
    #membership-renewals a.button,
    #membership-page .embed-responsive~a {
        border: none;
        font-size: inherit;
        text-transform: none;
        font-weight: normal;
        max-width: 200vw;
        display: block;
        text-align: left;
        padding: 0;
        margin: 1.5em 0;
        text-decoration: underline;
    }
}


/*--------------------------------------------------------
						Summit Page Styles
--------------------------------------------------------*/

#subpage-main.summit-page {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2fr 3fr 1170px 5fr;
    grid-template-columns: 2fr 3fr 1170px 5fr;
    max-width: unset;
}

@media (max-width: 1530px) {
    #subpage-main.summit-page {
        -ms-grid-columns: 1fr 3fr 970px 4fr;
        grid-template-columns: 1fr 3fr 970px 4fr;
    }
}

@media (max-width: 1350px) {
    #subpage-main.summit-page {
        -ms-grid-columns: 1fr 4fr 750px 5fr;
        grid-template-columns: 1fr 4fr 750px 5fr;
    }
}

@media (max-width: 1100px) {
    #subpage-main.summit-page {
        -ms-grid-columns: 2em 140px 1fr 1.5em;
        grid-template-columns: 2em 140px 1fr 1.5em;
    }
}

@media (max-width: 800px) {
    #subpage-main.summit-page {
        width: 100%;
        display: block;
        margin-top: 0;
        padding-left: 0;
        padding-right: 0;
    }
}

@media (max-width: 768px) {
    #subpage-main.summit-page.wrapper {
        padding-left: 0;
        padding-right: 0;
    }
}

.summit-page .button {
    margin-top: .75em;
    margin-bottom: 2em;
}

#summit-summary img {
    margin-bottom: 1em;
    width: 100%;
}

#subpage-main.summit-page section {
    -ms-grid-column: 3;
    grid-column-start: 3;
    padding-bottom: 0;
    padding-top: 5em;
    margin-top: -3em;
    /*Pad the top of the section so that it isn't covered by the sticky navigation then use the negative margin to remove the large gap between sections*/
}

#subpage-main.summit-page section:nth-child(1) {
    z-index: 9;
    /*Make sure each section sits on top of the following section so that links are still clickable due to the padded and pulled up solution to adding headroom for each href in the summit-menu.*/
}

#subpage-main.summit-page section:nth-of-type(1) {
    z-index: 8;
}

#subpage-main.summit-page section:nth-of-type(2) {
    z-index: 7;
}

#subpage-main.summit-page section:nth-of-type(3) {
    z-index: 6;
}

#subpage-main.summit-page section:nth-of-type(4) {
    z-index: 5;
}

#subpage-main.summit-page section:nth-of-type(5) {
    z-index: 4;
}

#subpage-main.summit-page section:nth-of-type(6) {
    z-index: 3;
}

#subpage-main.summit-page section:nth-of-type(7) {
    z-index: 2;
}

@media (max-width: 800px) {
    #subpage-main.summit-page section {
        padding-top: 5em;
        padding-bottom: 0;
        padding-left: 15px;
        padding-right: 15px;
        margin-top: -3em;
    }
}

@media (min-width: 800px) {
    #subpage-main #summit-summary {
        margin-top: -7em;
    }
}

@media (max-width: 550px) {
    #subpage-main.summit-page section {
        margin-top: -5em;
    }
}


/*---------------------#Summit Menu------------------*/

#summit-menu {
    position: sticky;
    position: -webkit-sticky;
    top: 20vh;
    height: 0;
    overflow: visible;
    /*	z-index: 10;*/
    width: 100%;
    -ms-grid-column: 2;
    grid-column-start: 2;
}

#summit-menu ul {
    list-style: none;
    padding-left: 0;
}

@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700') (min-width: 800px);
@media (max-width: 800px) {
    #summit-menu {
        top: 40px;
        height: unset;
        background: white;
        z-index: 9;
    }
    #summit-menu ul {
        display: flex;
        justify-content: space-between;
        top: 0;
        padding: .75em 1em;
        font-family: 'Roboto Condensed', sans-serif;
    }
    .scrolled+#subpage-main.summit-page #summit-menu ul {
        box-shadow: 1.79px 2.69px 17.92px rgba(0, 0, 0, 0.2);
    }
}

#summit-menu li {}

#summit-menu li a::before,
#summit-menu li a:hover::before,
#summit-menu li a::after,
#summit-menu li a:hover::after {
    content: none;
}

#summit-menu li a {
    padding: 0;
    text-decoration: none;
    color: var(--text-gray);
    transition: .25s color;
    width: fit-content;
    width: -moz-fit-content;
    width: -webkit-fit-content;
}

#summit-menu .show-on-small {
    display: none;
}

@media (max-width: 700px) {
    #summit-menu li a {
        font-size: 14px;
    }
}

@media (max-width: 550px) {
    #summit-menu li a {
        font-size: 13px;
    }
    #summit-menu .hide-on-small {
        display: none;
    }
    #summit-menu .show-on-small {
        display: inline;
    }
}

@media (max-width: 460px) {
    #summit-menu li a {
        font-size: 12px;
    }
}

#summit-menu li a:hover,
#summit-menu li a:focus {
    color: var(--blue);
    background-color: transparent;
}

#summit-menu li.active a::before {
    content: '';
    background: var(--blue);
    position: absolute;
    height: 1em;
    width: .5em;
    left: -1em;
    top: 1px;
}

@media (max-width: 800px) {
    #summit-menu li.active a::before {
        position: absolute;
        width: 100%;
        right: 0;
        height: 0.3em;
        left: 0;
        top: unset;
        bottom: -.3em;
    }
}


/*-------Toggle between Top and Summit links------*/


/*To free up some space on very small screens, the link text for "Summit" (AKA "Summit 2019" on larger screens) will change from "Summit" to "Top" once someone has scrolled past that initial section*/

#summit-menu li.active a {
    font-weight: bold;
    color: var(--blue);
}

li.to-the-top {
    display: none;
}

@media (max-width: 800px) {
    #sticky-header.scrolled+main li.summary+li.to-the-top {
        display: inline;
    }
    #sticky-header.scrolled+main li.active.summary+li.to-the-top {
        display: none;
    }
    li.to-the-top.active {
        display: none;
    }
    #sticky-header.scrolled+main li.summary {
        display: none;
    }
    #sticky-header.scrolled+main li.active.summary {
        display: inline;
    }
}


/*---------------------#Summit Summary------------------*/

#summit-summary h1 {
    text-align: center;
    font-weight: 800;
}

@media (max-width: 990px) {
    #summit-summary h1 {
        text-align: left;
    }
}

.summit-page article {
    float: left;
    width: 80%;
    padding-right: 2.5em;
}

#summit-summary article ol {
    margin-bottom: 1em;
}

.summit-page aside {
    float: left;
    width: 20%;
    font-size: 0.9em;
}

#summit-summary aside>div {
    margin-bottom: 1em;
}

#summit-summary aside span,
#summit-summary aside address {
    display: block;
    margin-bottom: .5em;
    font-family: "Roboto", sans-serif;
    opacity: .75;
}

#summit-summary aside h4 {
    font-size: 1.2em;
    margin-bottom: 0;
}

@media (max-width: 990px) {
    .summit-page article,
    .summit-page aside {
        width: 100%;
        padding-right: 0;
    }
    .summit-page aside {
        font-size: 1em;
    }
    .summit-page aside h4 {
        font-size: 1.5em;
    }
}

#summit-summary::after {
    /*Clears the floats of the article and aside*/
    content: '';
    clear: both;
    display: block;
}


/*---------------------#Registration--------------------*/

#registration-table h4 {
    margin: 0;
}

#registration-table thead th {
    padding-top: 10px;
    box-sizing: content-box;
}

#registration-table th,
#registration-table td {
    text-align: center;
    width: 200px;
    font-family: 'Roboto', sans-serif;
    opacity: .9;
    position: relative;
}

#registration-table th:first-child,
#registration-table td:first-child {
    width: 50%;
    text-align: left;
    font-family: 'Raleway', sans-serif;
    padding-right: 1em;
}

#subpage-main table td {
    padding-top: 1em;
    padding-bottom: 1em;
    position: relative;
}

#registration-table th:nth-child(2),
#registration-table td:nth-child(2),
#registration-table th:nth-child(3),
#registration-table td:nth-child(3) {
    padding-left: 1em;
    padding-right: 1em;
}

#registration-table th:nth-child(2):after,
#registration-table td:nth-child(2):after {
    content: '';
    background: var(--blue);
    opacity: 0.1;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
}


/*---------------------#Schedule------------------------*/

#subpage-main .schedule-table caption h4 {
    font-family: 'Raleway', sans-serif;
}

.schedule-table td {
    vertical-align: baseline;
}

.schedule-table td:nth-of-type(1) {
    width: 20%;
    padding-left: .5em;
    padding-right: .5em;
}

.schedule-table td:nth-of-type(2) {
    width: 80%;
    font-family: 'Raleway', sans-serif;
    padding-right: 1em;
}

.schedule-table strong {
    display: block;
}

.schedule-table td strong+span {
    margin-top: .25em;
    display: block;
}


/*---------------------#Attendees-----------------------*/

#attendee-lists-container {
    border: 1px solid var(--text-gray);
    overflow: hidden;
    padding: 2em 1.25em;
    position: relative;
    transition: 1s ease-in max-height;
    max-height: 5000px;
    z-index: 20;
}

@media (max-width: 550px) {
    #attendee-lists-container {
        padding: 1em .5em 2em;
    }
}

*+#attendee-lists-container {
    /*Add 2em's distance between any sibbling before the container*/
    margin-top: 2em;
}

#attendee-lists-container+* {
    /*Add 3em's distance between any sibbling following the container*/
    margin-top: 3em;
}

#attendee-lists-container.closed {
    max-height: 150px;
}

#attendee-lists-container>div {
    float: left;
    width: 50%;
    padding: 0 .75em;
}

#attendee-lists-container ul {
    font-family: 'Roboto', sans-serif;
    opacity: .9;
    list-style-type: none;
    padding-left: 0;
}

@media (min-width: 670px) {
    #attendee-lists-container ul {
        -webkit-column-count: 2;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-count: 2;
        -webkit-column-width: 50%;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-width: 50%;
        -webkit-column-gap: 1.5em;
        /* Chrome, Safari, Opera */
        /* Firefox */
        column-gap: 1.5em;
    }
}

#attendee-lists-container li {
    padding-bottom: .75em;
    line-height: 1.25em;
}

@media (max-width: 750px) {
    #attendee-lists-container li {
        font-size: 0.9em;
    }
}

@media (max-width: 550px) {
    #attendee-lists-container li {
        line-height: 1.15em;
        padding-bottom: 0.65em;
    }
}

#attendee-lists-container .show-hide-bar {
    text-align: left;
    color: var(--text-gray);
    overflow: hidden;
    padding: .5em 2em;
    position: absolute;
    bottom: 0;
    left: 0;
    right: unset;
    width: 100%;
    max-height: 2.1em;
    cursor: pointer;
    font-weight: bold;
    /*background: rgba(215, 221, 59, 0.7);*/
    background: -moz-linear-gradient(0% 50% 0deg, rgba(215, 221, 59, 1) 0%, rgba(215, 221, 59, 0.5) 100%);
    background: -webkit-linear-gradient(0deg, rgba(215, 221, 59, 1) 0%, rgba(215, 221, 59, 0.5) 100%);
    background: -webkit-gradient(linear, 0% 50%, 100% 50%, color-stop(0, rgba(215, 221, 59, 1)), color-stop(1, rgba(215, 221, 59, 0.5)));
    background: -o-linear-gradient(0deg, rgba(215, 221, 59, 1) 0%, rgba(215, 221, 59, 0.5) 100%);
    background: -ms-linear-gradient(0deg, rgba(215, 221, 59, 1) 0%, rgba(215, 221, 59, 0.5) 100%);
}

#attendee-lists-container .show-hide-bar::before {
    content: ' - + ';
    width: 1ch;
    display: inline;
    text-align: left;
    overflow-x: hidden;
    position: absolute;
    margin-left: -1.25ch;
    font-size: 1.75em;
    line-height: 1.5em;
    -webkit-transform: translateY(-13px);
    transform: translateY(-13px);
    transition: .5s transform;
    /*Add translate styles instead of margins so it can be animated*/
}

#attendee-lists-container.closed .show-hide-bar::before {
    -webkit-transform: translateY(-51px);
    transform: translateY(-51px);
}

@media (max-width: 500px) {
    #attendee-lists-container {
        padding-left: 0;
        padding-right: 0;
    }
    #attendee-lists-container>div {
        padding-left: .5em;
        padding-right: .5em;
    }
    #attendee-lists-container h4 {
        font-size: 1em;
        overflow-wrap: break-word;
        font-family: "Roboto-condensed", "Roboto", sans-serif;
    }
}


/*---------------------#Travel Details/Shipping Instructions------------------*/

#subpage-main ol.numbered>li {
    padding-bottom: .5em;
    font-weight: bold;
    font-family: "Roboto", sans-serif;
}

#subpage-main ol.numbered>li>ul {
    margin-top: .25em;
    margin-left: 1em;
    padding-left: 0;
    font-weight: normal;
    font-family: "Raleway", sans-serif;
}

#subpage-main ol.numbered ul,
#subpage-main ol.numbered ul li {
    padding-bottom: 0;
    margin-left: 1em;
}

#subpage-main ol.numbered ul li::before {
    content: none;
}


/*---------------------#Rising Stars--------------------*/

#rising-stars figure {
    font-family: 'Roboto', sans-serif;
    width: 40%;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 990px) {
    #rising-stars figure {
        width: 50%;
    }
}

@media (max-width: 550px) {
    #rising-stars figure {
        width: 70%;
        font-size: 15px;
        line-height: 1.25em;
    }
}

@media (max-width: 450px) {
    #rising-stars figure {
        width: 90%;
        margin-left: 0;
    }
}

#rising-stars *+figure {
    margin-top: 1em;
}

#rising-stars figure+* {
    margin-top: 2em;
}

#rising-stars figure>img {}

#rising-stars figcaption {
    text-align: center;
    font-size: .9em;
}

#rising-stars figcaption img {
    max-width: 200px;
    display: inline-block;
    padding-top: 10px;
}


/*---------------------#Questions-----------------------*/

#questions .questions-contact+.questions-contact {
    margin-top: 1em;
}

.questions-contact .contact-name {
    font-weight: bold;
    font-size: 1.1em;
}

.questions-contact .contact-title,
.questions-contact .contact-method {
    display: block;
    font-family: 'Roboto', sans-serif;
    opacity: .8;
}


/*-----------Rising Stars Past Winners Page-------------*/

@media (min-width: 880px) {
    #scholarship-lists {
        display: flex;
        flex-direction: row;
        margin-top: 2em;
        justify-content: space-between;
    }
    #scholarship-lists div {
        max-width: calc(50% - 1.5em);
    }
}

#scholarship-winners {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr 1fr 1fr;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 2.5em 2em;
    margin-top: 2em;
}

@media (max-width: 990px) {
    #scholarship-winners {
        -ms-grid-columns: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 500px) {
    #scholarship-winners {
        display: block;
    }
}

#scholarship-winners figure {
    display: flex;
    flex-direction: column;
    margin-top: 0;
}

#scholarship-winners figure+*:not(figcaption) {
    margin-top: 0;
}

@media (max-width: 500px) {
    #scholarship-winners figure {
        margin-bottom: 2em;
    }
}

#scholarship-winners figure h3,
#scholarship-winners>.fig-group>figure>h3 {
    font-size: 1.5em;
}

#scholarship-winners figure img {
    width: 100%;
    margin-bottom: .5em;
}

#scholarship-winners figure figcaption {
    padding-bottom: .5em;
    font-size: .9em;
}

@media (min-width: 500px) {
    #scholarship-winners .fig-group figure:first-of-type {
        margin-bottom: 1.5em;
    }
    #scholarship-winners figure img {
        order: 1;
    }
    #scholarship-winners figure h3,
    #scholarship-winners>.fig-group>figure>h3 {
        order: 2;
    }
    #scholarship-winners figure figcaption {
        order: 3;
    }
}

@media (max-width: 500px) {
    #scholarship-winners figure figcaption {
        font-size: 1em;
    }
}


/*-----------Recent Rising Star Highlight styles-------------*/

#scholarship-winners>figure:nth-of-type(1) figcaption {
    font-size: 1em;
    padding-top: .25em;
    /*font-weight: bold;*/
}

#scholarship-winners>figure:nth-of-type(1) {
    -ms-grid-column-span: 3;
    grid-column-end: span 3;
}

#scholarship-winners>figure:nth-of-type(2) {
    -ms-grid-column-span: 2;
    grid-column-end: span 2;
    font-size: 1em;
}

@media (max-width: 990px) {
    #scholarship-winners>figure:nth-of-type(1) {
        -ms-grid-column-span: 2;
        grid-column-end: span 2;
    }
    #scholarship-winners>figure:nth-of-type(2) {
        -ms-grid-column-span: 1;
        grid-column-end: span 1;
    }
}

#scholarship-winners>figure:nth-child(1) h3,
#scholarship-winners>figure:nth-child(2) h3 {
    color: white;
    margin-top: -1.6em;
    opacity: 1;
    padding-left: .25em;
}

#scholarship-winners>figure:nth-of-type(1)>h3 {
    font-size: 2em;
}

@media (min-width: 990px) {}

@media (max-width: 990px) {
    #scholarship-winners>figure:nth-of-type(1)>h3 {
        font-size: 1.7em;
    }
    #scholarship-winners>figure:nth-child(2) h3 {
        margin-top: unset;
        padding-left: 0;
        color: var(--light-gray);
        opacity: .8;
        font-size: 1.5em;
    }
}


/*----------Version for IE 11 and below-------------*/

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    #scholarship-winners {
        display: block;
    }
    #scholarship-winners figure {
        display: block;
        margin-left: auto;
        margin-right: auto;
        position: relative;
    }
    #scholarship-winners figure {
        width: 800px;
        margin-bottom: 30px;
    }
    #scholarship-winners figure.highlight figcaption {
        padding-top: 0;
        /*font-weight: bold;*/
    }
    #scholarship-winners figure.highlight h3 {
        color: #515151;
        margin-top: 0;
        opacity: .8;
        padding-left: 0;
    }
    #scholarship-winners figure.highlight:nth-of-type(1) h3,
    #scholarship-winners figure.highlight:nth-of-type(2) h3 {
        font-size: 1.5;
    }
}


/*-----------nemoa_member_benefits.php-------------*/

#benefits-lists {
    margin-top: 2em;
}

#benefits-lists section {
    padding-bottom: 0;
}


/*-----------about.php-------------*/

#about-page img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

#about-page img+img {
    margin-top: 1em;
}


/*-----------Events, Upcoming Events, Past Events-------------*/

#events-page .event {
    margin-bottom: 10px;
}

#events-page .event a:first-child {
    /*When there is a link wrapped around the title of the event*/
    display: inline-block;
}

#events-page .event h2 {
    margin-bottom: 0;
    text-transform: none;
    font-size: 1.5em;
}

#events-page .event>div:first-of-type {
    margin-top: .25em;
}


/*-----------nemoa_member_logo.php-------------*/

#member-logo-page img,
#member-logo-page figcaption {
    width: 300px;
    text-align: center;
    margin: 1em auto;
}


/*-----------new_mem_thank_you.php-------------*/

#thank-you-page {
    display: -ms-grid;
    display: grid;
    min-height: inherit;
}

#thank-you-page h1 {
    margin: auto;
    padding-bottom: 1em;
}


/*-----------sponsors.php-------------*/


/*----------Sponsors-Page-Article--------------*/

#sponsors-page a::before,
#sponsors-page-info a::before {
    content: none;
}

#sponsors-page .sponsor-grid {
    margin-top: 2em;
    margin-bottom: 4em;
}

@media (min-width: 630px) {
    #sponsors-page .sponsor-grid {
        margin-bottom: 5em;
    }
}

#sponsors-page .sponsor-grid:first-of-type {
    /*display: block;*/
    /*Style was originally intended for the Platinum sponsor which would only have a single sponsor at any given time*/
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(auto-fill, minmax(calc(33% - 50px), 1fr));
    /*New style will fit 3 logos to a row*/
}

#sponsors-page .sponsor-grid .sponsors {
    -ms-grid-column-align: center;
    justify-self: center;
}

#sponsors-page .sponsor-grid:first-of-type img {
    max-height: 160px;
    margin-left: auto;
    margin-right: auto;
}

@media (max-width: 500px) {
    #sponsors-page .sponsor-grid:first-of-type {
        display: block;
    }
}

@media (max-width: 400px) {
    #sponsors-page .sponsor-grid {
        display: block;
    }
    #sponsors-page .sponsors {
        margin-bottom: 3em;
    }
    #sponsors-page .sponsor-grid img {
        width: auto;
        height: auto;
        max-width: 80vw;
        max-height: 4em;
        margin-left: auto;
        margin-right: auto;
    }
}


/*----------Sponsors-Page-Info--Article------------*/

section.meet-the-sponsors {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[3];
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 30px 50px;
    margin-bottom: 2em;
}

@media (max-width: 1000px) {
    section.meet-the-sponsors {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 630px) {
    section.meet-the-sponsors {
        display: block;
    }
}

#subpage-main .meet-the-sponsors>h3:first-child {
    grid-column: 1/-1;
    margin-bottom: -20px;
}

@media (max-width: 630px) {
    #subpage-main .meet-the-sponsors>h3:first-child {
        margin-bottom: .5em;
    }
}

.sponsor-info {
    display: grid;
    grid-gap: 1em;
    grid-template-rows: 60px 1fr;
}

.sponsor-info a::before {
    content: none;
}

#sponsors-page-info .sponsor-info h3 {
    display: none;
    /*This was removed because adding the company name under their logo was redundent*/
}

#sponsors-page-info .sponsor-info a.sponsor-link {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1 / auto;
    -ms-grid-row: 1;
    grid-row: 1;
    display: grid;
}

main#subpage-main a.sponsor-link:hover,
main#subpage-main a.sponsor-link:focus {
    background-image: none;
}

#sponsors-page-info .sponsor-info a.sponsor-link img {
    max-height: 70px;
    max-width: 160px;
    margin-top: auto;
    margin-bottom: auto;
}

.new-sponsors+#sponsors-page-info .sponsor-info a.sponsor-link img {
    max-width: inherit;
    /*Remove when new sponsors page is approved*/
}

#sponsors-page-info .sponsor-info>.sponsor-contact {
    -ms-grid-column: 2;
    grid-column: 2;
    -ms-grid-row: 1;
    grid-row: 1;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-end;
    padding-right: .5em;
    align-items: flex-end;
}

.sponsor-contact>a {
    display: inline-block;
    font-size: 0;
    text-decoration: none;
}

.sponsor-contact>a[href^="tel"]::after {
    content: url(../images/phone.svg);
}

.sponsor-contact>a[href^="mailto"]::after {
    content: url(../images/email.svg);
}

.sponsor-contact>a[href^="http"]::after {
    content: '@';
    font-weight: 700;
    font-size: 20px;
    text-decoration: none;
    font-family: Arial, sans-serif;
    position: relative;
    top: -0.2em;
}

#sponsors-page-info .sponsor-info .sponsor-details {
    grid-column: 1/span 2;
    -ms-grid-row: 2;
    grid-row: 2;
}


/*----------Diamond Sponsor Styles----------*/

section.meet-the-sponsors#diamond {
    display: block;
}

@media (min-width: 630px) {
    #subpage-main .meet-the-sponsors#diamond h3:first-child {
        margin-bottom: .75em;
    }
    #sponsors-page-info #diamond .sponsor-info a.sponsor-link img {
        max-width: 230px;
        max-height: unset;
    }
    #diamond .sponsor-info {
        background: rgba(238, 238, 238, 0.5);
        font-size: 1.3em;
        padding: 1em 1.5em;
        grid-template-rows: unset;
    }
}

@media (min-width: 900px) {
    #diamond .sponsor-info {
        grid-template-columns: 1fr 2fr;
        display: grid;
    }
    #sponsors-page-info #diamond .sponsor-info>.sponsor-contact {
        grid-column: 1;
        grid-row: 1;
        justify-content: unset;
        align-items: flex-end;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
    }
    #diamond a.sponsor-link {
        margin: auto;
        grid-row: 1;
        grid-column: 1;
        position: relative;
        left: -.75em;
    }
    #sponsors-page-info #diamond .sponsor-info .sponsor-details {
        max-width: 90%;
        grid-row: 1;
        grid-column: 2;
    }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /*Targets Internet Explorer only*/
    /*IE doesn't get the grid layout so stretching the images looks really bad across the screen if .wide-and-short and .really-short aren't overwritten*/
    #sponsors-page .sponsor-info a.sponsor-link img.wide-and-short,
    #sponsors-page .sponsor-info a.sponsor-link img.really-short {
        max-height: 70px;
        max-width: 160px;
    }
    section.meet-the-sponsors,
    #sponsors-page-info .sponsor-info {
        display: block;
    }
    #subpage-main .meet-the-sponsors>h3:first-child {
        margin-bottom: 5px;
    }
}


/*--------------------------------------------------------
						MMS Styling
--------------------------------------------------------*/

body {
    font-family: 'Raleway', sans-serif !important;
}

#mms-main *[face] {
    font-family: inherit;
    font-size: inherit;
}

#mms-main *[style*="erdana"],
#mms-main *[font-family*="erdana"],

/*^^Targets both elements with Verdana and verdana spec'd*/

#mms-main div,
#mms-main span:not([class^="fa"]),

/*Allows the Font Awesome icons in the Grid Editor to show*/

#mms-main td,
#mms-main tr,
#mms-main table,
#mms-main input,
#mms-main textarea,
#mms-main label
/*^^Styles are meant to overwrite the MMS styles that set everything to Verdana*/

{
    font-family: inherit !important;
}

#mms-main~footer>#footer-top-row,
#mms-main~footer>#footer-nav-row {
    display: none;
}


/*^^Hide unnecessary footer areas in the MMS*/

.mms-headings {
    text-align: left;
    font-size: 1.5em;
    padding-top: 1em;
    margin-bottom: 0;
}

#mms-main a {
    text-decoration: none;
}

#mms-main a::before {
    content: none;
}

#mms-main a:hover {
    color: var(--blue);
    text-decoration: underline;
}

#mms-main #adminMenu {
    /*Targets the Admin Menu on the MMS homepage*/
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    margin-top: -25px;
}

#mms-main #adminMenu .links {
    padding-bottom: 10px;
}

#mms-main .nav-tabs li.dropdown {
    width: calc(100% / 6);
}

#mms-main .nav-tabs li.dropdown a {
    color: var(--blue);
    text-decoration: none;
}

.nav-tabs>li>a:hover {
    border: 1px dashed #ddd;
    background: transparent;
    border-bottom: none;
}

#mms-main .nav-tabs li.dropdown .dropdown-menu {
    min-width: 100%;
}

#mms-main .tab-content>.tab-pane.fade {
    /*Targets the contents of the "My Membership Information" section*/
    padding-top: 1em;
    line-height: 1.75em;
}

#mms-main ol {
    counter-reset: unset;
}

#mms-main ol li::before {
    all: unset;
}


/*-----------Grid Page Editor-------------*/

#mycanvas a {
    text-decoration: none;
}

#mycanvas a::before {
    position: initial;
    bottom: initial;
    left: initial;
    right: initial;
    background: initial;
    height: initial;
    transition: initial;
    display: initial;
    z-index: initial;
}


/*-----------Grid Page Editor-------------*/

#members-list {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
    display: block;
}

@media (max-width: 800px) {
    #members-list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }
}

@media (max-width: 400px) {
    #members-list {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }
}


/*--------------------------------------------------------
						IE 11 and Under hacks
--------------------------------------------------------*/

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /*Internet Explorer doesn't support variable properties*/
    #subpage-main h1,
    #subpage-main h2,
    a,
    a.button,
    section.gray-background a.button:hover,
    a.button.green:hover,
    #login-modal input[type="submit"],
    #home-why-attend h1,
    #home-why-attend h2,
    #home-why-attend h3,
    #home-why-attend h4,
    .testimonial-author,
    #summit-menu li a:hover,
    #summit-menu li a:focus,
    #summit-menu li.active a,
    #mms-main a:hover,
    #mms-main .nav-tabs li.dropdown a {
        color: #1daee0;
    }
    a.button,
    #login-modal input[type="submit"] {
        border-color: #1daee0;
    }
    #header-news-feed,
    #footer-social-links svg,
    footer.signup-banner #footer-top-row,
    #registration-table th:nth-child(2):after,
    #registration-table td:nth-child(2):after {
        background: #1daee0;
    }
    .contact-icon rect,
    .contact-icon polyline {
        stroke: #1daee0;
    }
    .gray-background h1,
    .gray-background h2,
    .gray-background h3,
    .gray-background h4,
    a:hover,
    a:focus,
    a.button:hover,
    section.gray-background a.button,
    a.button.green,
    #login-modal input[type="submit"]:hover,
    #login-section ul li a:hover,
    /*#home-banner figcaption > span.date-and-location,*/
    #home-summit-speakers h1,
    #home-summit-speakers h2,
    #home-summit-speakers h3,
    #home-summit-speakers h4,
    #footer-signup span:first-of-type {
        color: #d7dd3b;
    }
    a::before,
    #footer-social-links svg:hover {
        background: #d7dd3b;
    }
    a.button:hover,
    section.gray-background a.button,
    a.button.green,
    #home-main hr,
    #login-modal input[type="submit"]:hover,
    .speaker-photo-grid img,
    .testimonial-item img,
    #footer-top-row a.button:hover {
        border-color: #d7dd3b;
    }
    a.contact-icon:hover svg rect,
    a.contact-icon:hover svg polyline {
        stroke: #d7dd3b;
    }
    #masthead,
    #home-banner figcaption:before {
        background-color: #262728;
    }
    #subpage-main h3,
    #subpage-main h4 {
        color: #515151;
    }
    section.gray-background:after,
    footer section {
        background-color: #515151;
    }
    body,
    nav li a,
    #summit-menu li a {
        color: #4d4d4d;
    }
    #footer-social-links svg:hover path {
        fill: #4d4d4d;
    }
    #attendee-lists-container {
        border: 1px solid #4d4d4d;
    }
    #attendee-lists-container .show-hide-bar {
        background: #4d4d4d;
    }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /*IE doesn't support position: sticky*/
    #sticky-header.scrolled {
        position: fixed;
        width: 100%;
    }
    /*Blend modes are a mess in IE*/
    #home-banner figcaption {
        color: white !important;
    }
    section.gray-background a.button,
    a.button.green {
        background: #262728;
    }
    #home-banner figcaption::before {
        content: none;
    }
    /*Hr's aren't aligned correctly in IE*/
    #home-main hr {
        margin-left: auto;
        margin-right: auto;
        left: inherit;
        right: inherit;
        /*IE doesn't recognize initial or unset as values*/
        width: 100%;
    }
    /*CSS grid is shoving everything into a single column in IE so put everything into floated columns instead*/
    #home-why-attend .three-column-grid,
    .speaker-photo-grid {
        display: block;
    }
    .speaker-grid-item,
    #home-why-attend .three-column-grid>div {
        float: left;
        width: 33%;
        margin-bottom: 1em;
        margin-top: 1em;
        padding-left: 1em;
        padding-right: 1em;
    }
    #home-why-attend .three-column-grid>*:nth-child(n+4) {
        grid-column: unset;
        width: 100%;
    }
    #home-why-attend a.button {
        margin-top: 1em;
    }
    /*Who's Attending CSS grid removal*/
    #home-whos-attending #attending-sponsors-list {
        display: block;
    }
    #home-whos-attending #attending-sponsors-list img {
        max-width: 50%;
        margin: 0 auto .5em;
    }
    /*Remove IE's weird grid implementation in Testimonial section*/
    .testimonial-item {
        display: block;
        margin-bottom: 4em;
    }
    .testimonial-item:nth-of-type(even) .testimonial,
    .testimonial-item:nth-of-type(even) .testimonial-author {
        text-align: left;
    }
    .testimonial-item::after {
        content: "";
        display: block;
        clear: both;
    }
    .testimonial-item img {
        margin-top: -.5em;
        width: 200px;
    }
    .testimonial-item:first-of-type img {
        float: left;
        margin-right: 1.5em;
    }
    .testimonial-item:last-of-type img {
        float: right;
        margin-left: 1.5em;
    }
    /*Remove IE's weird grid implementation in Sponsors slideshow*/
    .sponsor-grid {
        display: block;
    }
    .sponsor-grid img {
        display: inline-block;
        width: 25%;
        max-height: inherit;
        /*IE doesn't support unset or initial as values*/
        padding: 50px;
    }
    /*Remove IE's weird grid implementation in Photo Grid*/
    #home-photo-grid figure {
        display: block;
    }
    #home-photo-grid>figure>img {
        display: inline-block;
        margin-left: -2.5px;
        margin-right: -2.5px;
        /*For some reason IE adds a few pixel gap inbetween these images even with no margin or padding*/
    }
}

@media (min-width: 1200px) and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    #home-photo-grid {
        min-height: calc(185px * 2);
    }
    #home-photo-grid>figure>img:nth-of-type(n+9) {
        display: none;
    }
}

@media (max-width: 1200px) and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    #home-photo-grid>figure>img {
        max-width: 33%;
    }
    #home-photo-grid>figure>img:nth-of-type(n+7) {
        display: none;
    }
}

@media (max-width: 1200px) and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    #home-photo-grid>figure>img {
        max-width: 50%;
    }
    #home-photo-grid>figure>img:nth-of-type(n+5) {
        display: none;
        min-height: 185px;
    }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /*Footer tweaks for IE*/
    .signup-banner {
        position: fixed;
        width: 100%;
    }
    #footer-top-row {
        display: block;
    }
    #footer-signup {
        max-width: 200vw;
    }
    /*Before the sticky banner docks at the bottom of the screen and the social media information is hidden, do this  VVV*/
    .signup-banner #footer-top-row>#footer-signup {
        float: left;
        width: 50%;
        max-width: unset;
    }
    .signup-banner #footer-top-row>a.button {
        float: right;
        width: 50%;
    }
    #footer-top-row,
    #footer-top-row>* {
        text-align: center;
    }
    #footer-top-row>* {
        margin-bottom: 1em;
    }
    #footer-top-row::after {
        content: '';
        display: block;
        clear: both;
        /*Clear float*/
    }
    #footer-social-links ul {
        padding: 0;
        margin: 0;
    }
    #footer-nav-row nav ul li a {
        padding: 2.5px 5px;
        margin: 0 10px;
        border: none;
    }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /*Spring Summit 2019 IE adjustments*/
    #subpage-main.summit-page {
        display: block;
    }
    #summit-menu {
        display: none;
    }
    header.scrolled~main #summit-menu {
        display: block;
        position: fixed;
        top: 20vh;
        left: 2em;
        width: auto;
    }
    #attendee-lists-container .show-hide-bar::before {
        right: 170px;
    }
}

@media (max-width: 1200px) and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    .summit-page#subpage-main {
        max-width: 70%;
    }
}

@media (max-width: 800px) and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    header.scrolled~main #summit-menu {
        display: none;
    }
    .summit-page#subpage-main {
        max-width: 100%;
    }
}

@media all and (-ms-high-contrast: none),
(-ms-high-contrast: active) {
    /*Sponsors.php IE adjustments*/
    #sponsors-page .sponsor-grid,
    #sponsors-page .meet-the-sponsors,
    #sponsors-page .sponsor-info {
        display: block;
    }
    #subpage-main section.meet-the-sponsors h2 {
        margin-bottom: .5em;
    }
}


/* Try this Material Design inspired transition easing 300ms cubic-bezier(0.4, 0.0, 0.2, 1)*/


/* Changes for new Grid Page version of homepage 9-24-20 */

[id^="home-"]:not(#home-banner):not(#home-photo-grid) {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
}

#home-banner {
    text-transform: none;
    /* padding-bottom: 0; */
}

#home-banner .row:not(.gm-editing),
#home-banner .column:not(.gm-editing) {
    display: contents;
}

#home-banner figcaption {
    display: block;
    line-height: 0.95em;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.9);
    color: white;
    font-weight: 900;
    font-size: 3.2em;
}

@media (max-width: 800px) {
    #home-banner figcaption {
        font-size: 2em;
    }
}

@media (max-width: 600px) {
    #home-banner figcaption {
        font-size: 1.5em;
    }
}

#home-banner figcaption .button {
    font-size: 18.4px;
}

@media (min-width: 1100px) {
    #home-whos-attending {
        display: block;
    }
    #home-main #home-whos-attending>.row {
        display: flex;
    }
    #home-main #home-whos-attending>.row>.col-md-6 {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
}

@media (max-width: 1100px) {
    #home-whos-attending .col-md-6 {
        width: 100%;
    }
}

#attending-sponsors-list {
    list-style: none;
}


/* #home-photo-grid {
    padding: 0;
    margin-left: 100%;
    transform: translateX(-62vw);
} */

#home-photo-grid {
    padding: 0;
    display: block;
}

#home-photo-grid .row,
#home-photo-grid .column {
    min-height: inherit;
}

#home-photo-grid .column {
    display: flex;
}