/* ==========================================================================
   NSE STYLESHEET — 2026 THEME
   --------------------------------------------------------------------------
   Load order in layout.tpl:  bootstrap.min.css (5.3.8)  →  this file

   This file is organised in four parts:
     PART A  Bootstrap 5 compatibility for legacy markup   (this section)
     PART B  Legacy NSE tournament styles                  (unchanged, minus the old sidebar/footer shell)
     PART C  2026 theme — tokens, shell, homepage, finder  (from the NSE theme package)
     PART D  Responsive rules

   THE .nse-theme SCOPE
   Bootstrap now loads on every page, but existing tournament/team/org
   templates were built without it. Anything NOT inside an element with
   class "nse-theme" is put back to its pre-Bootstrap rendering by Part A.
   To convert a page to the new theme, wrap its markup in
   <div class="nse-theme">…</div>.

   Why PART A sits at the top: each rule here has the same specificity as
   the Bootstrap rule it undoes, so it wins by source order — and any legacy
   rule in Part B of equal or higher specificity still wins over Part A.
   ========================================================================== */


/* ==========================================================================
   PART A — BOOTSTRAP 5 COMPATIBILITY FOR LEGACY MARKUP
   ========================================================================== */

/* Box model: Bootstrap makes every element border-box. Legacy rules that pair a
   fixed width/height with padding (.cta, .checkmark, .team, table …) were written
   for the browser default, so revert those elements to their native sizing.
   EasyMDE and Select2 also go back to the sizing they were built against. */
*:where(:not(html, body, .nse-main, .nse-page-content, .nse-theme, .nse-theme *)),
*:where(:not(.nse-theme, .nse-theme *))::before,
*:where(:not(.nse-theme, .nse-theme *))::after { box-sizing: revert; }

/* Line height: legacy pages were built on the browser's "normal" line height. */
.nse-page-content { line-height: normal; }

/* Headings and paragraphs: browser defaults instead of Bootstrap's reboot sizes. */
h1:where(:not(.nse-theme h1)) { margin: .67em 0; font-size: 2em; line-height: normal; }
h2:where(:not(.nse-theme h2)) { margin: .83em 0; font-size: 1.5em; line-height: normal; }
h3:where(:not(.nse-theme h3)) { margin: 1em 0; font-size: 1.17em; line-height: normal; }
h4:where(:not(.nse-theme h4)) { margin: 1.33em 0; font-size: 1em; line-height: normal; }
h5:where(:not(.nse-theme h5)) { margin: 1.67em 0; font-size: .83em; line-height: normal; }
h6:where(:not(.nse-theme h6)) { margin: 2.33em 0; font-size: .67em; font-weight: 700; line-height: normal; }
p:where(:not(.nse-theme p)) { margin: 1em 0; }

/* Lists, definitions, quotes (Parsedown/markdown output relies on these). */
ul:where(:not(.nse-theme ul)),
ol:where(:not(.nse-theme ol)) { margin: 1em 0; padding-left: 40px; }
:is(ul, ol) ul:where(:not(.nse-theme ul)),
:is(ul, ol) ol:where(:not(.nse-theme ol)) { margin: 0; }
dl:where(:not(.nse-theme dl)) { margin: 1em 0; }
dt:where(:not(.nse-theme dt)) { font-weight: normal; }
dd:where(:not(.nse-theme dd)) { margin: 0 0 0 40px; }
blockquote:where(:not(.nse-theme blockquote)) { margin: 1em 40px; }
:is(code, kbd, pre, samp):where(:not(.nse-theme *)) { font-family: revert; font-size: revert; }
code:where(:not(.nse-theme code)) { color: inherit; }

/* Forms: native control fonts/margins and light native rendering, as before Bootstrap. */
.nse-page-content { color-scheme: normal; }
:is(button, input, optgroup, select, textarea):where(:not(.nse-theme *)) { margin: revert; font-family: revert; font-size: revert; line-height: revert; }
textarea:where(:not(.nse-theme textarea)) { resize: revert; }
label:where(:not(.nse-theme label)) { display: inline; }
fieldset:where(:not(.nse-theme fieldset)) { min-width: min-content; margin: 0 2px; padding: .35em .75em .625em; border: 2px groove ThreeDFace; }
legend:where(:not(.nse-theme legend)) { float: none; width: auto; margin: 0; padding: 0 2px; font-size: inherit; line-height: inherit; }

/* Media and rules. */
img:where(:not(.nse-theme img)),
svg:where(:not(.nse-theme svg)) { vertical-align: baseline; }
hr:where(:not(.nse-theme hr)) { color: gray; opacity: 1; }

/* Tables: Bootstrap collapses borders, which also ignores the legacy table padding. */
table:where(:not(.nse-theme table)) { border-collapse: separate; caption-side: top; }

/* Legacy .table: remove Bootstrap's cell backgrounds, borders and spacing. */
.table:where(:not(.nse-theme .table)) { margin-bottom: 0; vertical-align: baseline; }
.table:where(:not(.nse-theme .table)) > :is(thead, tbody, tfoot) { vertical-align: middle; }
.table:where(:not(.nse-theme .table)) > :not(caption) > * > * { padding: .5em; color: inherit; background-color: transparent; border-bottom-width: 0; box-shadow: none; }

/* Legacy .row is a simple flex row, not a Bootstrap grid row. */
.row:where(:not(.nse-theme .row)) { --bs-gutter-x: 0; --bs-gutter-y: 0; flex-wrap: nowrap; }
.row:where(:not(.nse-theme .row)) > * { flex-shrink: 1; width: auto; max-width: none; }


/* ==========================================================================
   PART B — LEGACY NSE TOURNAMENT STYLES
   The old fixed icon/text sidebar (.nav, .nav-*), mobile nav (.nav-mobile),
   .footer and div.body shell rules were removed: layout.tpl no longer
   renders that markup.
   ========================================================================== */

.blue {
    background-color: #00bfe9; }

.yellow {
    background-color: #ffc800; }

.pink {
    background-color: #ff1577; }

.nopacity {
    opacity: 1 !important; }

body {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #E6EAFF;
    font-smooth: always;
    -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5 {
    font-weight: 700; }

.heavy {
    font-weight: 700; }

.light {
    font-weight: 300; }

.uppercase {
    text-transform: uppercase; }

.text-blue {
    color: #00bfe9; }

.text-yellow {
    color: #ffc800; }

.text-pink {
    color: #ff1577; }

.text-black {
    color: #000000; }

.left {
    text-align: left !important; }

.center {
    text-align: center !important; }

.right {
    text-align: right !important;
    margin-left: auto; }

.form-content {
    width: 32em;
    max-width: 100%;
    margin: 0 auto;
}

.cta {
    padding: 0 48px;
    text-transform: uppercase;
    border: none;
    border-radius: 0;
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    white-space: nowrap;
    cursor: pointer;
    font-size: 14px;
    height: 2.8em;
    max-height: 2.8em;
    display: flex;
    align-items: center;
    margin: 0.2em;
    justify-content: center;
    user-select: none; }
.cta:focus {
    outline: none; }
.cta.skinny {
    padding: 0px 24px; }
.cta.short {
    height: 1.5em; }
.cta.cta-primary {
    background: #ffffff;
    color: #101116;
    border: none;
    position: relative;
    overflow: hidden; }
.cta.cta-primary:after {
    content: '';
    width: 100%;
    padding-top: 100%;
    position: absolute;
    background-color: rgba(16, 17, 22, 0.3);
    border-radius: 50%;
    transform: scale(1);
    opacity: 0;
    transition: all 700ms ease;
    left: 0;
    z-index: -1; }
.cta.cta-primary:active:after {
    transform: scale(0);
    opacity: 1;
    transition: 0s; }
.cta.cta-primary.blue {
    background: #00bfe9;
    color: #ffffff; }
.cta.cta-primary:hover {
    background: #ffffff;
    color: #101116;
    border: none; }
.cta.cta-primary.inverted {
    background: #1b1c25;
    color: #ffffff; }
.cta.cta-primary.inverted.hover {
    background: #1b1c25;
    color: #ffffff; }
.cta.cta-muted {
    background-color: #101116;
    color: #ffffff;
    font-weight: 400;
    border: 1px solid #292F3D;
    position: relative;
    overflow: hidden; }
.cta.cta-muted:after {
    content: '';
    width: 100%;
    padding-top: 100%;
    position: absolute;
    background-color: rgba(230, 234, 255, 0.3);
    border-radius: 50%;
    transform: scale(1);
    opacity: 0;
    transition: all 700ms ease;
    left: 0;
    z-index: -1; }
.cta.cta-muted:active:after {
    transform: scale(0);
    opacity: 1;
    transition: 0s; }
.cta.cta-transparent {
    background-color: transparent;
    color: #ffffff;
    font-weight: 400; }

a.cta {
    text-decoration: none; }

.banner {
    width: 100%;
    box-sizing: border-box;
    /* height: 180px;*/
    display: flex;
    align-items: center;
    /* Vertical center alignment */
    justify-content: center;
    /* Horizontal center alignment */
    /*white-space: nowrap;*/
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /*background-image: url('../img/banner.png');*/
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
}

.banner-img {
    width: 100%;
    box-sizing: border-box;
    height: 100%;
    display: flex;
    align-items: center;
    /* Vertical center alignment */
    justify-content: center;
    /* Horizontal center alignment */
    /*white-space: nowrap;*/
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    /*background-image: url('../img/banner.png');*/
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

/*@media screen and (min-width: 600px) {
    .banner {
        height: 180px; } }
@media screen and (min-width: 800px) {
    .banner {
        height: 180px; } }
@media screen and (min-width: 1000px) {
    .banner {
        height: 180px; } }*/
.banner span {
    letter-spacing: 1px;
    font-size: 20px;
    padding-right: 5px;
    text-align: center; }
@media screen and (min-width: 400px) {
    .banner span {
        font-size: 22px; } }
@media screen and (min-width: 600px) {
    .banner span {
        font-size: 24px; } }
@media screen and (min-width: 800px) {
    .banner span {
        font-size: 26px; } }
@media screen and (min-width: 1000px) {
    .banner span {
        font-size: 28px; } }

/**

    padding-left: 4px;
    padding-right: 4px;
*/
.search-results, .search-results-mobile, .search-results-full {
    z-index: 10;
    box-sizing: border-box;
    width: 100%;
    margin-top: 1.5em; }
.search-results.search-results-full, .search-results-mobile.search-results-full, .search-results-full.search-results-full {
    position: relative;
    overflow-y: hidden; }
.search-results::-webkit-scrollbar, .search-results-mobile::-webkit-scrollbar, .search-results-full::-webkit-scrollbar {
    width: 0.5em;
    margin-left: 0.2em; }
.search-results::-webkit-scrollbar-track, .search-results-mobile::-webkit-scrollbar-track, .search-results-full::-webkit-scrollbar-track {
    background: #1C1D26; }
.search-results::-webkit-scrollbar-thumb, .search-results-mobile::-webkit-scrollbar-thumb, .search-results-full::-webkit-scrollbar-thumb {
    background: #333b4c;
    border-radius: 0.5em; }
.search-results::-webkit-scrollbar-thumb:hover, .search-results-mobile::-webkit-scrollbar-thumb:hover, .search-results-full::-webkit-scrollbar-thumb:hover {
    background: #3e475c; }
.search-results .search-results-notfound, .search-results-mobile .search-results-notfound, .search-results-full .search-results-notfound {
    text-transform: uppercase;
    text-align: center;
    letter-spacing: 2px;
    font-weight: 400;
    margin: 8px 0; }
.search-results .search-result-type, .search-results-mobile .search-result-type, .search-results-full .search-result-type {
    display: flex;
    flex-direction: column;
    margin-bottom: 0.5em; }
.search-results .search-result-type .search-results-type, .search-results-mobile .search-result-type .search-results-type, .search-results-full .search-result-type .search-results-type {
    padding: 0.2em 1em;
    display: flex;
    align-items: center;
    background-color: #292F3D;
    justify-content: space-between; }
.search-results .search-result-type .search-results-type div, .search-results-mobile .search-result-type .search-results-type div, .search-results-full .search-result-type .search-results-type div {
    margin: 0;
    font-weight: 400;
    font-size: 1.2em;
    color: #E6EAFF;
    margin-right: 1em;
    text-transform: uppercase; }
.search-results .search-result-type .search-results-type .search-results-type-total, .search-results-mobile .search-result-type .search-results-type .search-results-type-total, .search-results-full .search-result-type .search-results-type .search-results-type-total {
    background-color: #ffc800;
    color: #000000;
    padding: 0 0.5em;
    font-size: 0.6em;
    border-radius: 1em; }
.search-results .search-result-type .search-results-type-list, .search-results-mobile .search-result-type .search-results-type-list, .search-results-full .search-result-type .search-results-type-list {
    display: grid;
    padding: 0.5em;
    margin: 0.5em;
    grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
    grid-gap: 1em;
    border: 1px solid #292F3D; }
.search-results .search-result-type .search-results-type-list div.no-results, .search-results-mobile .search-result-type .search-results-type-list div.no-results, .search-results-full .search-result-type .search-results-type-list div.no-results {
    white-space: nowrap; }
.search-results .search-result-type .search-results-type-list.News .search-result-news, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news, .search-results-full .search-result-type .search-results-type-list.News .search-result-news {
    display: flex;
    max-height: 8em;
    text-decoration: none;
    overflow: hidden;
    border: 1px solid #292F3D;
    color: #E6EAFF; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image {
    min-width: 8em;
    min-height: 8em;
    max-width: 8em;
    max-height: 8em;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image:before, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image:before, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image:before {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image img, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image img, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image img {
    height: 8em; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    margin: 0.2em; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments img, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments img, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments img {
    width: 1em;
    height: 1em;
    margin-right: 0.5em; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments .search-result-news-comments-count, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments .search-result-news-comments-count, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-image .search-result-news-image-comments .search-result-news-comments-count {
    text-shadow: 0 0 5px #000000; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    width: 100%; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-title, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-title, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-title {
    text-transform: uppercase;
    padding: 0 0.5em;
    font-size: 14px;
    color: #E6EAFF; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-body-text, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-body-text, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-body-text {
    flex-grow: 1;
    font-size: 0.8em;
    opacity: 0.6;
    overflow: hidden;
    padding: 0 0.5em; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-body-text *, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-body-text *, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-body-text * {
    margin: 0; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer {
    min-height: 1.5em;
    background-color: #292F3D;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.2em 0.5em; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor {
    display: flex;
    align-items: center; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor img, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor img, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor img {
    height: 1.5em;
    width: 1.5em;
    border-radius: 2em;
    margin-right: 0.5em;
    background-color: #101116; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor .search-result-news-author-name, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor .search-result-news-author-name, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-autor .search-result-news-author-name {
    margin: 0;
    font-size: 0.8em;
    font-weight: 400; }
.search-results .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-timeago, .search-results-mobile .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-timeago, .search-results-full .search-result-type .search-results-type-list.News .search-result-news .search-result-news-body .search-result-news-footer .search-result-news-timeago {
    font-size: 0.8em; }
.search-results .search-result-type .search-results-type-list.Games .search-result-game, .search-results-mobile .search-result-type .search-results-type-list.Games .search-result-game, .search-results-full .search-result-type .search-results-type-list.Games .search-result-game {
    display: flex;
    align-items: center;
    text-decoration: none; }
.search-results .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-image, .search-results-mobile .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-image, .search-results-full .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-image {
    width: 8em; }
.search-results .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-image img, .search-results-mobile .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-image img, .search-results-full .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-image img {
    width: 8em; }
.search-results .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details, .search-results-mobile .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details, .search-results-full .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details {
    padding-left: 0.5em; }
.search-results .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details .search-result-game-title, .search-results-mobile .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details .search-result-game-title, .search-results-full .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details .search-result-game-title {
    font-weight: 400;
    font-size: 0.8em;
    margin: 0.2em 0; }
.search-results .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details .search-result-game-platform, .search-results-mobile .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details .search-result-game-platform, .search-results-full .search-result-type .search-results-type-list.Games .search-result-game .search-result-game-details .search-result-game-platform {
    font-weight: 400;
    font-size: 0.6em;
    margin: 0;
    opacity: 0.6; }
.search-results .search-result-type .search-results-type-list.Universities .search-result, .search-results-mobile .search-result-type .search-results-type-list.Universities .search-result, .search-results-full .search-result-type .search-results-type-list.Universities .search-result {
    border: 1px solid #292F3D;
    padding: 0.5em 0.5em; }
.search-results .search-result-type .search-results-type-list.Universities .search-result .search-result-image, .search-results-mobile .search-result-type .search-results-type-list.Universities .search-result .search-result-image, .search-results-full .search-result-type .search-results-type-list.Universities .search-result .search-result-image {
    height: 2em;
    width: 2em; }
.search-results .search-result-type .search-results-type-list.Teams, .search-results-mobile .search-result-type .search-results-type-list.Teams, .search-results-full .search-result-type .search-results-type-list.Teams {
    grid-template-columns: repeat(auto-fill, minmax(8em, 1fr)); }
.search-results .search-result-type .search-results-type-list.Teams .team-name, .search-results-mobile .search-result-type .search-results-type-list.Teams .team-name, .search-results-full .search-result-type .search-results-type-list.Teams .team-name {
    font-size: 0.9em; }
.search-results .search-result-type .search-results-type-list.Teams .team-stat .team-stat-name, .search-results .search-result-type .search-results-type-list.Teams .team-stat .team-stat-value, .search-results-mobile .search-result-type .search-results-type-list.Teams .team-stat .team-stat-name, .search-results-mobile .search-result-type .search-results-type-list.Teams .team-stat .team-stat-value, .search-results-full .search-result-type .search-results-type-list.Teams .team-stat .team-stat-name, .search-results-full .search-result-type .search-results-type-list.Teams .team-stat .team-stat-value {
    font-size: 0.7em; }
.search-results .search-result-type .search-results-type-list.Teams .team-body, .search-results-mobile .search-result-type .search-results-type-list.Teams .team-body, .search-results-full .search-result-type .search-results-type-list.Teams .team-body {
    background-color: #1C1D26; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event {
    text-decoration: none;
    border: 1px solid #292F3D; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image {
    position: relative; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image:before, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image:before, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image:before {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image img, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image img, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event .search-result-event-image img {
    width: 100%;
    display: block; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event-body, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event-body, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event-body {
    padding: 0.2em 0.5em;
    background-color: #1C1D26; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event-body .search-result-event-title, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event-body .search-result-event-title, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event-body .search-result-event-title {
    margin: 0;
    font-size: 14px;
    font-weight: 400;
    color: #E6EAFF; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event-footer, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event-footer, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event-footer {
    background-color: #292F3D;
    display: flex;
    padding: 0.2em 0.5em; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item {
    display: flex;
    margin-right: 0.5em; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item .search-result-event-footer-item-name, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item .search-result-event-footer-item-name, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item .search-result-event-footer-item-name {
    margin: 0;
    font-size: 0.8em;
    font-weight: 400;
    margin-right: 0.5em; }
.search-results .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item .search-result-event-footer-item-value, .search-results-mobile .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item .search-result-event-footer-item-value, .search-results-full .search-result-type .search-results-type-list.Events .search-result-event-footer .search-result-event-footer-item .search-result-event-footer-item-value {
    margin: 0;
    font-size: 0.8em;
    font-weight: 400;
    opacity: 0.6; }
.search-results .search-result-type .search-results-type-list.Tournaments, .search-results-mobile .search-result-type .search-results-type-list.Tournaments, .search-results-full .search-result-type .search-results-type-list.Tournaments {
    grid-template-columns: repeat(auto-fill, minmax(18em, 1fr)); }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament {
    text-decoration: none;
    position: relative;
    border: 1px solid #292F3D;
    /*.search-result-tournament-name {
                  position: absolute;
                  top: 0;
                  left: 0;
                  font-size: $font-size-large;
                  font-weight: $font-normal;
                  text-shadow: 0 0 10px rgba(0,0,0,1);
                  text-align: center;
                  width: 100%;
                  height: 100%;
                  margin: 0;
                  display: flex;
                  align-items: center;
                  justify-content: center;
                  color: $font-color-primary;
              }*/ }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-image:before, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-image:before, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-image:before {
    content: '';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute; }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-image img, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-image img, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-image img {
    width: 100%;
    display: block; }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content h1, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content h1, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content h1 {
    color: #E6EAFF;
    font-weight: 400;
    font-size: 0.8em;
    margin-bottom: 0;
    padding-right: 1em; }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content .sponsored-by, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content .sponsored-by, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content .sponsored-by {
    text-align: right;
    bottom: 2em; }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content .sponsored-by .sponsored-by-images, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content .sponsored-by .sponsored-by-images, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-content .sponsored-by .sponsored-by-images {
    justify-content: flex-end; }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-body, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-body, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-body {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: #1C1D26;
    padding: 0.2em 0.5em; }
.search-results .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-body .search-result-tournament-title, .search-results-mobile .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-body .search-result-tournament-title, .search-results-full .search-result-type .search-results-type-list.Tournaments .search-result-tournament .search-result-tournament-body .search-result-tournament-title {
    margin: 0;
    padding-left: 0.5em;
    font-size: 14px;
    font-weight: 400;
    color: #E6EAFF; }
.search-results .search-result-type .search-results-type-list.People .search-result, .search-results-mobile .search-result-type .search-results-type-list.People .search-result, .search-results-full .search-result-type .search-results-type-list.People .search-result {
    border: 1px solid #292F3D;
    padding: 0.2em; }
.search-results .search-result-type .search-results-type-list.People .search-result img, .search-results-mobile .search-result-type .search-results-type-list.People .search-result img, .search-results-full .search-result-type .search-results-type-list.People .search-result img {
    border-radius: 50%;
    height: 2.5em; }
.search-results .search-result-type .search-results-type-list.People .search-result .search-result-title, .search-results-mobile .search-result-type .search-results-type-list.People .search-result .search-result-title, .search-results-full .search-result-type .search-results-type-list.People .search-result .search-result-title {
    text-transform: uppercase; }
.search-results .search-result-type .search-results-type-list .search-result, .search-results-mobile .search-result-type .search-results-type-list .search-result, .search-results-full .search-result-type .search-results-type-list .search-result {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    padding: 4px;
    text-decoration: none;
    flex-grow: 1;
    background: #1C1D26; }
.search-results .search-result-type .search-results-type-list .search-result:first-of-type .search-result-title, .search-results-mobile .search-result-type .search-results-type-list .search-result:first-of-type .search-result-title, .search-results-full .search-result-type .search-results-type-list .search-result:first-of-type .search-result-title {
    margin-top: 0; }
.search-results .search-result-type .search-results-type-list .search-result .search-result-title, .search-results-mobile .search-result-type .search-results-type-list .search-result .search-result-title, .search-results-full .search-result-type .search-results-type-list .search-result .search-result-title {
    font-size: 16px;
    font-weight: 400;
    margin: 0;
    text-decoration: none;
    margin-left: 8px;
    color: #E6EAFF; }
.search-results .search-result-type .search-results-type-list .search-result .search-result-title:hover, .search-results .search-result-type .search-results-type-list .search-result .search-result-title:active, .search-results-mobile .search-result-type .search-results-type-list .search-result .search-result-title:hover, .search-results-mobile .search-result-type .search-results-type-list .search-result .search-result-title:active, .search-results-full .search-result-type .search-results-type-list .search-result .search-result-title:hover, .search-results-full .search-result-type .search-results-type-list .search-result .search-result-title:active {
    color: #ffffff; }
.search-results .search-result-type .search-results-type-list .search-result .search-result-image, .search-results-mobile .search-result-type .search-results-type-list .search-result .search-result-image, .search-results-full .search-result-type .search-results-type-list .search-result .search-result-image {
    width: 46px;
    height: 46px;
    display: flex;
    justify-content: center;
    align-items: center; }
.search-results .search-result-type .search-results-type-list .search-result .search-result-image img, .search-results-mobile .search-result-type .search-results-type-list .search-result .search-result-image img, .search-results-full .search-result-type .search-results-type-list .search-result .search-result-image img {
    max-width: 100%;
    max-height: 100%; }
.search-results .search-result-type .search-results-type-list .search-result.selected, .search-results-mobile .search-result-type .search-results-type-list .search-result.selected, .search-results-full .search-result-type .search-results-type-list .search-result.selected {
    background-color: #292F3D; }
.search-results .search-result-type .search-results-count, .search-results-mobile .search-result-type .search-results-count, .search-results-full .search-result-type .search-results-count {
    padding: 8px 8px;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #292F3D; }
.search-results .search-result-type .search-results-count small, .search-results-mobile .search-result-type .search-results-count small, .search-results-full .search-result-type .search-results-count small {
    color: #dadce4; }

.search-mobile {
    width: 100%;
    margin-bottom: 16px;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
    transition: transform ease-in-out 300ms;
    will-change: transform; }
.search-mobile.show {
    transform: translateY(56px); }
.search-mobile .search-mobile-icon {
    height: 20px;
    width: 20px;
    margin-top: 2px; }
.search-mobile input {
    background-color: #101116;
    border: none;
    height: 36px;
    padding: 0 40px;
    color: #ffffff;
    font-family: 'Titillium Web', sans-serif;
    font-size: 12.8px;
    border: 2px solid #333b4c;
    font-weight: 700;
    width: 100%;
    box-sizing: border-box;
    height: 40px !important; }
.search-mobile input::-webkit-input-placeholder {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 700;
    color: #ffffff;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12.8px;
    opacity: 1; }
.search-mobile input:active, .search-mobile input:hover, .search-mobile input:focus {
    background-color: #252834;
    outline: none;
    border: 2px solid #333b4c !important; }
.search-mobile .search-mobile-close {
    height: 16px;
    width: 16px;
    position: absolute;
    font-size: 20px;
    right: 8px;
    top: 12px; }

.search-result-small {
    margin: 0.5em;
    border: 1px solid #292F3D;
    display: flex;
    margin-bottom: 1em;
    max-width: 100%; }
.search-result-small .search-result-small-type {
    writing-mode: vertical-lr;
    display: flex;
    justify-content: center;
    background-color: #292F3D;
    width: 1.5em;
    justify-content: center;
    transform: rotate(180deg);
    text-transform: uppercase;
    padding: 0.5em; }
.search-result-small .search-result-small-results {
    flex-grow: 1;
    padding: 0.5em;
    box-sizing: border-box;
    flex: 1;
    overflow: hidden; }
.search-result-small .search-result-small-results div.no-results {
    white-space: nowrap; }
.search-result-small .search-result-small-results .search-result-small-result {
    display: flex;
    align-items: center;
    border: 1px solid #292F3D;
    margin-bottom: 0.5em;
    padding: 0.2em;
    background-color: #1C1D26;
    text-decoration: none;
    flex: 1; }
.search-result-small .search-result-small-results .search-result-small-result .search-result-small-result-img {
    width: 3em;
    align-self: center;
    margin-right: 0.5em; }
.search-result-small .search-result-small-results .search-result-small-result .search-result-small-result-title {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    color: #E6EAFF;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
.search-result-small .search-result-small-results .search-result-small-result:last-of-type {
    margin: 0; }
.search-result-small .search-result-small-result-count {
    writing-mode: vertical-lr;
    display: flex;
    justify-content: center;
    background-color: #292F3D;
    align-items: center;
    width: 1.5em;
    text-transform: uppercase;
    padding: 0.5em; }
.search-result-small .search-result-small-result-count .search-result-small-result-count-badge {
    color: #E6EAFF;
    font-size: 0.8em;
    width: 1em;
    display: flex;
    align-items: center;
    padding: 0.8em 0.2em;
    border-radius: 10px;
    text-transform: uppercase;
    transform: rotate(180deg);
    letter-spacing: 1px; }

.search-results-mobile-seeall {
    text-align: center;
    text-transform: uppercase; }

.panel {
    width: 100%;
    padding: 16px;
    margin-bottom: 16px;
    background-color: #1C1D26;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    flex-basis: 1; }
.panel.opaque {
    background-color: transparent; }
.panel .panel-heading {
    width: 100%; }
.panel .panel-heading .panel-title {
    text-align: center;
    margin: 0;
    font-size: 22px; }
.panel .panel-heading .panel-title span {
    font-size: 28px;
    letter-spacing: 1px;
    padding-right: 5px; }
.panel .panel-heading h1.panel-title {
    text-transform: uppercase; }
.panel .panel-content {
    padding-top: 8px;
    box-sizing: border-box;
    overflow: hidden;
    position: relative;
    width: 100%;
    height: 100%; }
.panel .panel-content p {
    margin-top: 0;
    text-align: justify; }
.panel .panel-content form {
    padding-left: 3em;
    padding-right: 3em;
    /* if we're a form in a panel in a flex-h container, we don't want the padding*/ }
@media screen and (max-width: 720px) {
    .panel .panel-content form {
        margin-left: -2em;
        margin-right: -2em; } }
.panel .panel-content form div.anti-form-padding {
    margin-left: -4px;
    margin-right: -4px; }
@media screen and (min-width: 720px) {
    .panel .panel-content form div.anti-form-padding {
        margin-left: -25px;
        margin-right: -25px; } }
@media screen and (min-width: 1000px) {
    .panel .panel-content form div.anti-form-padding {
        margin-left: -75px;
        margin-right: -75px; } }
@media screen and (min-width: 1200px) {
    .panel .panel-content form div.anti-form-padding {
        margin-left: -100px;
        margin-right: -100px; } }
@media screen and (min-width: 1400px) {
    .panel .panel-content form div.anti-form-padding {
        margin-left: -125px;
        margin-right: -125px; } }
@media screen and (min-width: 1600px) {
    .panel .panel-content form div.anti-form-padding {
        margin-left: -150px;
        margin-right: -150px; } }
.flex-h .panel .panel-content form {
    padding-left: 0px;
    padding-right: 0px; }
.panel .panel-content .container {
    display: flex;
    flex-direction: column;
    padding-left: 3em;
    padding-right: 3em; }
@media screen and (max-width: 720px) {
    .panel .panel-content .container {
        margin-left: -2em;
        margin-right: -2em; } }
.panel .panel-content .container.centered {
    align-items: center !important; }
.panel .panel-content .inner-panel {
    background-color: #101116;
    border: 2px solid #272835; }

.university-banner {
    position: relative;
    z-index: 0; }
.university-banner .university-banner-background {
    width: 100%;
    z-index: -1;
    position: relative;
    /*&:before {
            content: '';
            position: absolute;
            height: 100%;
            width: 100%;
            top: 0;
            left: 0;
            z-index: 1;
            //background: $three-color-gradient;
            opacity: 0.3;
        }*/
    /*&:after {
            content: '';
            position: absolute;
            height: 100%;
            width: 100%;
            top: 0;
            left: 0;
            z-index: 2;
            //background-color: $black;
            opacity: 0.6;
        }*/ }
.university-banner .university-banner-background img {
    width: 100%;
    display: block; }
.university-banner .university-banner-content {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    z-index: 2;
    box-sizing: border-box;
    padding: 1em 0; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .university-banner .university-banner-content {
        padding: 0.5em 0; } }
.university-banner .university-banner-content .university-banner-container {
    position: relative;
    height: 100%;
    padding: 0 2em;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center; }
.university-banner .university-banner-content .university-banner-container .university-banner-center {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    height: 100%;
    width: 100%; }
.university-banner .university-banner-content .university-banner-container .university-banner-center .university-title {
    z-index: 3;
    text-align: center;
    margin: 0;
    word-break: break-word;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .university-banner .university-banner-content .university-banner-container .university-banner-center .university-title {
        font-size: 1.2em; } }
.university-banner .university-banner-content .university-banner-container .university-society {
    text-align: center;
    margin: 0;
    font-weight: 700;
    margin-top: 0;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .university-banner .university-banner-content .university-banner-container .university-society {
        font-size: 14px; } }
.university-banner .university-banner-content .university-banner-container .university-banner-logo-wrapper {
    flex: 1;
    display: flex;
    overflow: hidden;
    justify-content: center;
    position: relative;
    width: 100%;
    margin-top: 1em; }
.university-banner .university-banner-content .university-banner-container .university-banner-logo-wrapper .university-banner-logo {
    object-fit: contain;
    position: absolute;
    height: 100%; }
.university-banner .university-banner-content .university-banner-container .university-banner-logo-wrapper .university-banner-logo.rounded {
    border-radius: 100%; }
.university-banner .university-banner-content .university-banner-stats {
    margin-left: auto;
    box-sizing: border-box;
    align-self: center;
    position: absolute;
    right: 1em;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box; }
.university-banner .university-banner-content .university-banner-stats .university-banner-stat .university-banner-stat-name {
    background-color: rgba(230, 234, 255, 0.1);
    padding: 0.2em 0.5em;
    border: 1px solid rgba(230, 234, 255, 0.12);
    text-align: center;
    text-transform: uppercase;
    font-size: 0.8em;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
.university-banner .university-banner-content .university-banner-stats .university-banner-stat .university-banner-stat-value {
    font-size: 2em;
    text-align: center;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .university-banner .university-banner-content .university-banner-stats .university-banner-stat-name {
        font-size: 0.6em !important; }
    .university-banner .university-banner-content .university-banner-stats .university-banner-stat-value {
        font-size: 14px !important; } }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .university-banner .university-banner-container {
        justify-content: space-between; } }
.university-banner .university-edit {
    position: absolute;
    top: 1em;
    left: 1em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    z-index: 3;
    color: #E6EAFF;
    text-shadow: 0 0 5px rgba(0, 0, 0, 0.5); }

.all-stars-summary {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }
.all-stars-summary .all-star-summary {
    display: flex;
    flex-direction: row;
    justify-content: center;
    width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
    align-items: center; }
.all-stars-summary .all-star-summary .all-star-title {
    color: #000000;
    font-weight: 400;
    text-transform: uppercase;
    font-size: 22px;
    margin: 0; }
.all-stars-summary .all-star-summary .all-star-count {
    margin: 8px 0;
    margin-right: 16px; }
.all-stars-summary .all-star-summary:nth-child(1) {
    background-color: #ffc800;
    margin-right: 16px; }
.all-stars-summary .all-star-summary:nth-child(2) {
    background-color: #00bfe9; }
.all-stars-summary .all-star-summary:nth-child(3) {
    background-color: #ff1577;
    margin-left: 16px; }

.all-star-left {
    left: 0;
    transform: rotate(180deg); }

.all-star-right, .all-star-left {
    content: '';
    position: absolute;
    right: 0;
    top: calc(40% - 10px);
    background: url("/nse/img/right-chevron.svg");
    height: 20px;
    width: 20px;
    background-size: cover;
    cursor: pointer; }

.all-star-people {
    width: 100%;
    transition: transform ease-in-out 300ms;
    overflow: hidden; }
.all-star-people .carousel-page-row {
    flex-wrap: nowrap !important; }
.all-star-people .all-star-person {
    display: flex;
    flex-direction: column;
    align-items: center;
    border: 1px solid #292F3D;
    background-color: #1C1D26;
    max-width: 11em;
    justify-content: space-between; }
.all-star-people .all-star-person .all-star-logo {
    margin: 0.2em 1.5em;
    padding: 2px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: blue;
    background: linear-gradient(to bottom, #ffc800 0%, #ff1577 100%); }
.all-star-people .all-star-person .all-star-logo img {
    width: 100%;
    max-height: 8em;
    max-width: 8em;
    width: 8em;
    height: 8em;
    border-radius: 1460px;
    background-color: #101116; }
.all-star-people .all-star-person .all-start-person-name {
    margin: 0.2em;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 700;
    font-weight: 400;
    font-size: 1.2em; }
.all-star-people .all-star-person .all-star-person-title {
    margin: 0.2em 0.4em;
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 400;
    text-align: center;
    width: 100%;
    font-size: 0.8em; }
.all-star-people .all-star-person .all-star-person-course {
    margin-bottom: 0;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 300;
    opacity: 0.6;
    text-align: center;
    background-color: #292F3D;
    font-size: 0.8em;
    width: 100%;
    padding: 0.5em;
    box-sizing: border-box;
    margin: 0; }

.highlight-panel {
    text-align: center;
    flex-grow: 1;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    margin-bottom: 16px; }
@media screen and (max-width: 720px) {
    .highlight-panel {
        width: 100%; }
    .highlight-panel:last-of-type {
        margin-bottom: 0; } }
.highlight-panel.highlight-panel-yellow {
    background-color: #ffc800; }
.highlight-panel.highlight-panel-pink {
    background-color: #ff1577; }
.highlight-panel.highlight-panel-blue {
    background-color: #00bfe9; }
.highlight-panel .highlight-panel-number {
    margin: 0; }
.highlight-panel .highlight-panel-text {
    margin: 0;
    font-weight: 700;
    font-size: 16px;
    text-transform: uppercase; }

.university-social {
    align-items: center; }
@media screen and (max-width: 720px) {
    .university-social {
        flex-wrap: wrap; } }
.university-social a {
    display: flex;
    justify-content: center;
    cursor: pointer;
    margin: 0 !important;
    box-sizing: border-box;
    width: calc(30% - 16px); }
@media screen and (max-width: 720px) {
    .university-social a {
        margin: 8px !important; } }
.university-social a.disabled {
    opacity: 0.3;
    cursor: not-allowed; }
.university-social .university-social-logo {
    max-height: 30px; }

.university-content-spot-container {
    margin-left: 1em; }
.university-content-spot-container .university-content-spot {
    align-self: center;
    width: 16em; }
@media screen and (max-width: 720px) {
    .university-content-spot-container {
        margin-left: 0; }
    .university-content-spot-container .university-content-spot {
        margin-left: 0;
        width: 100%; } }

.total-students {
    background-color: #1C1D26;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    margin-bottom: 1em; }
.total-students h1, .total-students h2 {
    margin: 0.2em; }
.total-students h2 {
    font-weight: 300; }

.students-table {
    background-color: #1C1D26;
    padding: 0.5em; }
.students-table .students-table-head {
    display: flex;
    padding: 0.5em; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .students-table .students-table-head {
        display: none; } }
.students-table .students-table-head .students-table-header {
    width: 100%;
    font-size: 1.2em; }
.students-table .students-table-head .students-table-header:nth-child(1) {
    width: 20%; }
.students-table .students-table-head .students-table-header:nth-child(2) {
    width: 40%; }
.students-table .students-table-head .students-table-header:nth-child(3) {
    width: 20%; }
.students-table .students-table-head .students-table-header:nth-child(4) {
    width: 20%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .students-table .students-table-head .students-table-header {
        width: 100%; } }
.students-table .students-table-body .students-table-row {
    display: flex;
    flex-direction: row;
    padding: 0.5em; }
.students-table .students-table-body .students-table-row:nth-child(2n+1) {
    background-color: #292F3D; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .students-table .students-table-body .students-table-row {
        flex-direction: column; } }
.students-table .students-table-body .students-table-row .students-table-cell {
    display: flex; }
.students-table .students-table-body .students-table-row .students-table-cell:nth-child(1) {
    width: 20%; }
.students-table .students-table-body .students-table-row .students-table-cell:nth-child(2) {
    width: 40%; }
.students-table .students-table-body .students-table-row .students-table-cell:nth-child(3) {
    width: 20%; }
.students-table .students-table-body .students-table-row .students-table-cell:nth-child(4) {
    width: 20%; }
.students-table .students-table-body .students-table-row .students-table-cell:nth-child(4) .students-table-cell-value {
    display: flex;
    justify-content: center; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .students-table .students-table-body .students-table-row .students-table-cell:nth-child(4) .students-table-cell-value {
        justify-content: flex-start; } }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .students-table .students-table-body .students-table-row .students-table-cell {
        width: 100% !important; } }
.students-table .students-table-body .students-table-row .students-table-cell .students-table-cell-title {
    display: none;
    opacity: 0.6;
    width: 40%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .students-table .students-table-body .students-table-row .students-table-cell .students-table-cell-title {
        display: block; } }
.students-table .students-table-body .students-table-row .students-table-cell .students-table-cell-title:after {
    content: ':';
    margin-right: 0.5em; }
.students-table .students-table-body .students-table-row .students-table-cell .students-table-cell-value {
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis; }
.students-table .students-table-body .students-table-row .students-table-cell .students-table-cell-icon {
    height: 1.2em;
    width: 1.2em; }

.team-public-summary > div {
    max-width: 75%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .team-public-summary > div {
        max-width: 100%; }
    .team-public-summary > div .event-details-table {
        margin: 0; } }

/* This is used both on the public team profile page, and the internal team "manage team" page */
.team-member-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap; }
@media screen and (min-width: 720px) {
    .team-member-container {
        flex-wrap: nowrap; } }
.team-member-container .team-member-grid {
    width: 100%;
    align-self: flex-start;
    display: grid;
    grid-gap: 1em;
    grid-template-columns: repeat(auto-fill, minmax(11em, 1fr)); }
.team-member-container .team-member {
    background-color: #1C1D26;
    border: 0.05em solid #323343;
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 12em;
    transition: all .2s ease-in-out;
    transform: scale(0.89); }
.team-member-container .team-member:hover {
    transform: scale(0.99);
    box-shadow: 0.2em 0.1em #00bfe9; }
.team-member-container .team-member .team-member-body {
    flex-grow: 1;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center; }
.team-member-container .team-member .team-member-body .profile {
    margin-top: 0.4em;
    padding: 4px;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: blue;
    background: linear-gradient(to bottom, #ffc800 0%, #ff1577 100%);
    position: relative; }
.team-member-container .team-member .team-member-body .profile.captain {
    background: #ffc800; }
.team-member-container .team-member .team-member-body .profile.captain:before {
    content: '';
    height: 1.5em;
    width: 1.5em;
    position: absolute;
    top: -8%;
    left: -8%;
    background-image: url("/nse/img/crown.png");
    background-size: contain;
    background-position: center; }
.team-member-container .team-member .team-member-body .profile img {
    width: 100%;
    min-height: 89px;
    max-height: 100px;
    min-width: 89px;
    max-width: 100px;
    border-radius: 1460px;
    background-color: #101116; }
.team-member-container .team-member .team-member-body .name {
    text-transform: uppercase;
    margin-top: 0.4em;
    font-size: 1.2em;
    opacity: 0.8;
    text-align: center; }
.team-member-container .team-member .team-member-body .moniker {
    opacity: 0.6; }
.team-member-container .team-member .team-member-body .handle {
    margin-top: 0.4em;
    font-size: 1.2em; }
.team-member-container .team-member .team-member-footer {
    height: 2.4em;
    width: 100%;
    background-color: #292F3D;
    margin-top: 1em;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center; }
.team-member-container .team-member .team-member-footer a {
    height: 1.8em;
    padding: 0 1em;
    font-size: 0.8em; }

/* Public team profile page */
.team-logo {
    background: #292F3D;
    padding: 8px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center; }
.team-logo img {
    max-height: 200px; }

/* University teams panel */
.teams-panel {
    display: flex;
    flex-wrap: wrap;
    width: 100%; }
@media screen and (min-width: 720px) {
    .teams-panel {
        flex-wrap: nowrap; } }
.teams-panel .teams-titles {
    width: 100%;
    border-right: none;
    display: flex; }
.teams-panel .teams-titles > h1 {
    font-size: 18px;
    text-align: center;
    margin: 0;
    font-weight: 400; }
.teams-panel .teams-titles .teams-titles-list {
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    justify-content: center;
    background: #101116;
    flex-wrap: wrap;
    padding: 8px; }
@media screen and (max-width: 720px) {
    .teams-panel .teams-titles .teams-titles-list {
        flex-direction: column; } }
.teams-panel .teams-titles .teams-titles-list .teams-titles-title {
    color: #777777;
    font-size: 12px;
    padding: 1em 2em;
    font-weight: 400;
    text-transform: uppercase;
    cursor: pointer;
    user-select: none;
    margin: 0;
    text-align: center;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden; }
.teams-panel .teams-titles .teams-titles-list .teams-titles-title:last-of-type {
    border-right: none; }
@media screen and (max-width: 720px) {
    .teams-panel .teams-titles .teams-titles-list .teams-titles-title {
        border-right: none;
        border-bottom: 1px solid #777777;
        padding: 8px 0; }
    .teams-panel .teams-titles .teams-titles-list .teams-titles-title:last-of-type {
        border-bottom: none; } }
.teams-panel .teams-body {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    grid-template-columns: repeat(auto-fill, minmax(10em, 1fr));
    grid-gap: 1em;
    width: 100%;
    box-sizing: border-box; }
@media screen and (min-width: 720px) {
    .teams-panel .teams-body.swal {
        grid-template-columns: repeat(auto-fill, minmax(8em, 1fr)); } }
.teams-panel .teams-body.swal .team {
    cursor: pointer; }

.team {
    border: 1px solid #292F3D;
    text-decoration: none;
    width: 100%;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    max-width: 10em;
    min-width: 10em;
    margin: 0.5em; }
.team.active {
    border: 1px solid rgba(255, 200, 0, 0.4); }
.team .team-body {
    width: 100%;
    position: relative;
    flex: 1; }
.team .team-body .team-logo {
    width: 40%;
    padding: 0;
    box-sizing: border-box;
    align-self: center;
    background-color: transparent;
    margin: 0.5em 0; }
.team .team-body .team-details {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0.2em 0.5em;
    margin: auto;
    left: 0;
    right: 0;
    box-sizing: border-box;
    color: #E6EAFF; }
.team .team-body .team-details .team-name {
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
.team .team-body .team-details .team-uni {
    font-size: 0.6em;
    font-weight: 400;
    text-align: center;
    margin: 0; }
.team .team-body .team-details .team-stat {
    display: flex;
    justify-content: center; }
.team .team-body .team-details .team-stat .team-stat-name {
    font-size: 0.8em;
    font-weight: 400;
    margin: 0;
    margin-right: 0.5em; }
.team .team-body .team-details .team-stat .team-stat-value {
    font-size: 0.8em;
    font-weight: 400;
    margin: 0;
    opacity: 0.6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
.team .team-footer {
    height: 1.6em;
    overflow: hidden;
    padding: 0.2em;
    background-color: #292F3D;
    display: flex;
    align-items: center;
    justify-content: space-between; }
.team .team-footer img {
    height: 1.4em;
    width: 1.4em;
    margin-right: 0.5em;
    border-radius: 100%;
    background-color: #101116; }
.team.new-team {
    border: 0.05em dashed #aaa;
    color: #aaa; }
.team.new-team .team-body {
    text-transform: uppercase; }

a {
    text-decoration: none !important;
    color: #00bfe9;
    cursor: pointer; }

.content {
    margin-top: 8px;
    padding-bottom: 1em;
    box-sizing: border-box;
    padding-left: 3em;
    padding-right: 3em; }
@media screen and (max-width: 720px) {
    .content {
        margin-left: -2em;
        margin-right: -2em; } }

.centered {
    display: flex;
    flex-direction: column;
    align-items: center; }

.brl0 {
    height: 0rem; }

.padding-all-0 {
    padding: 0rem !important; }

.padding-t0 {
    padding-top: 0rem !important; }

.padding-r0 {
    padding-right: 0rem !important; }

.padding-b0 {
    padding-bottom: 0rem !important; }

.padding-l0 {
    padding-left: 0rem !important; }

.margin-all-0 {
    margin: 0rem !important; }

.margin-t0 {
    margin-top: 0rem !important; }

.margin-r0 {
    margin-right: 0rem !important; }

.margin-b0 {
    margin-bottom: 0rem !important; }

.margin-l0 {
    margin-left: 0rem !important; }

.margin-t-0 {
    margin-top: 0px !important; }

.margin-r-0 {
    margin-right: 0px !important; }

.margin-b-0 {
    margin-bottom: 0px !important; }

.margin-l-0 {
    margin-left: 0px !important; }

.brl4 {
    height: 0.25rem; }

.padding-all-4 {
    padding: 0.25rem !important; }

.padding-t4 {
    padding-top: 0.25rem !important; }

.padding-r4 {
    padding-right: 0.25rem !important; }

.padding-b4 {
    padding-bottom: 0.25rem !important; }

.padding-l4 {
    padding-left: 0.25rem !important; }

.margin-all-4 {
    margin: 0.25rem !important; }

.margin-t4 {
    margin-top: 0.25rem !important; }

.margin-r4 {
    margin-right: 0.25rem !important; }

.margin-b4 {
    margin-bottom: 0.25rem !important; }

.margin-l4 {
    margin-left: 0.25rem !important; }

.margin-t-4 {
    margin-top: -4px !important; }

.margin-r-4 {
    margin-right: -4px !important; }

.margin-b-4 {
    margin-bottom: -4px !important; }

.margin-l-4 {
    margin-left: -4px !important; }

.brl6 {
    height: 0.375rem; }

.padding-all-6 {
    padding: 0.375rem !important; }

.padding-t6 {
    padding-top: 0.375rem !important; }

.padding-r6 {
    padding-right: 0.375rem !important; }

.padding-b6 {
    padding-bottom: 0.375rem !important; }

.padding-l6 {
    padding-left: 0.375rem !important; }

.margin-all-6 {
    margin: 0.375rem !important; }

.margin-t6 {
    margin-top: 0.375rem !important; }

.margin-r6 {
    margin-right: 0.375rem !important; }

.margin-b6 {
    margin-bottom: 0.375rem !important; }

.margin-l6 {
    margin-left: 0.375rem !important; }

.margin-t-6 {
    margin-top: -6px !important; }

.margin-r-6 {
    margin-right: -6px !important; }

.margin-b-6 {
    margin-bottom: -6px !important; }

.margin-l-6 {
    margin-left: -6px !important; }

.brl8 {
    height: 0.5rem; }

.padding-all-8 {
    padding: 0.5rem !important; }

.padding-t8 {
    padding-top: 0.5rem !important; }

.padding-r8 {
    padding-right: 0.5rem !important; }

.padding-b8 {
    padding-bottom: 0.5rem !important; }

.padding-l8 {
    padding-left: 0.5rem !important; }

.margin-all-8 {
    margin: 0.5rem !important; }

.margin-t8 {
    margin-top: 0.5rem !important; }

.margin-r8 {
    margin-right: 0.5rem !important; }

.margin-b8 {
    margin-bottom: 0.5rem !important; }

.margin-l8 {
    margin-left: 0.5rem !important; }

.margin-t-8 {
    margin-top: -8px !important; }

.margin-r-8 {
    margin-right: -8px !important; }

.margin-b-8 {
    margin-bottom: -8px !important; }

.margin-l-8 {
    margin-left: -8px !important; }

.brl12 {
    height: 0.75rem; }

.padding-all-12 {
    padding: 0.75rem !important; }

.padding-t12 {
    padding-top: 0.75rem !important; }

.padding-r12 {
    padding-right: 0.75rem !important; }

.padding-b12 {
    padding-bottom: 0.75rem !important; }

.padding-l12 {
    padding-left: 0.75rem !important; }

.margin-all-12 {
    margin: 0.75rem !important; }

.margin-t12 {
    margin-top: 0.75rem !important; }

.margin-r12 {
    margin-right: 0.75rem !important; }

.margin-b12 {
    margin-bottom: 0.75rem !important; }

.margin-l12 {
    margin-left: 0.75rem !important; }

.margin-t-12 {
    margin-top: -12px !important; }

.margin-r-12 {
    margin-right: -12px !important; }

.margin-b-12 {
    margin-bottom: -12px !important; }

.margin-l-12 {
    margin-left: -12px !important; }

.brl16 {
    height: 1rem; }

.padding-all-16 {
    padding: 1rem !important; }

.padding-t16 {
    padding-top: 1rem !important; }

.padding-r16 {
    padding-right: 1rem !important; }

.padding-b16 {
    padding-bottom: 1rem !important; }

.padding-l16 {
    padding-left: 1rem !important; }

.margin-all-16 {
    margin: 1rem !important; }

.margin-t16 {
    margin-top: 1rem !important; }

.margin-r16 {
    margin-right: 1rem !important; }

.margin-b16 {
    margin-bottom: 1rem !important; }

.margin-l16 {
    margin-left: 1rem !important; }

.margin-t-16 {
    margin-top: -16px !important; }

.margin-r-16 {
    margin-right: -16px !important; }

.margin-b-16 {
    margin-bottom: -16px !important; }

.margin-l-16 {
    margin-left: -16px !important; }

.brl20 {
    height: 1.25rem; }

.padding-all-20 {
    padding: 1.25rem !important; }

.padding-t20 {
    padding-top: 1.25rem !important; }

.padding-r20 {
    padding-right: 1.25rem !important; }

.padding-b20 {
    padding-bottom: 1.25rem !important; }

.padding-l20 {
    padding-left: 1.25rem !important; }

.margin-all-20 {
    margin: 1.25rem !important; }

.margin-t20 {
    margin-top: 1.25rem !important; }

.margin-r20 {
    margin-right: 1.25rem !important; }

.margin-b20 {
    margin-bottom: 1.25rem !important; }

.margin-l20 {
    margin-left: 1.25rem !important; }

.margin-t-20 {
    margin-top: -20px !important; }

.margin-r-20 {
    margin-right: -20px !important; }

.margin-b-20 {
    margin-bottom: -20px !important; }

.margin-l-20 {
    margin-left: -20px !important; }

.brl24 {
    height: 1.5rem; }

.padding-all-24 {
    padding: 1.5rem !important; }

.padding-t24 {
    padding-top: 1.5rem !important; }

.padding-r24 {
    padding-right: 1.5rem !important; }

.padding-b24 {
    padding-bottom: 1.5rem !important; }

.padding-l24 {
    padding-left: 1.5rem !important; }

.margin-all-24 {
    margin: 1.5rem !important; }

.margin-t24 {
    margin-top: 1.5rem !important; }

.margin-r24 {
    margin-right: 1.5rem !important; }

.margin-b24 {
    margin-bottom: 1.5rem !important; }

.margin-l24 {
    margin-left: 1.5rem !important; }

.margin-t-24 {
    margin-top: -24px !important; }

.margin-r-24 {
    margin-right: -24px !important; }

.margin-b-24 {
    margin-bottom: -24px !important; }

.margin-l-24 {
    margin-left: -24px !important; }

.brl28 {
    height: 1.75rem; }

.padding-all-28 {
    padding: 1.75rem !important; }

.padding-t28 {
    padding-top: 1.75rem !important; }

.padding-r28 {
    padding-right: 1.75rem !important; }

.padding-b28 {
    padding-bottom: 1.75rem !important; }

.padding-l28 {
    padding-left: 1.75rem !important; }

.margin-all-28 {
    margin: 1.75rem !important; }

.margin-t28 {
    margin-top: 1.75rem !important; }

.margin-r28 {
    margin-right: 1.75rem !important; }

.margin-b28 {
    margin-bottom: 1.75rem !important; }

.margin-l28 {
    margin-left: 1.75rem !important; }

.margin-t-28 {
    margin-top: -28px !important; }

.margin-r-28 {
    margin-right: -28px !important; }

.margin-b-28 {
    margin-bottom: -28px !important; }

.margin-l-28 {
    margin-left: -28px !important; }

.brl32 {
    height: 2rem; }

.padding-all-32 {
    padding: 2rem !important; }

.padding-t32 {
    padding-top: 2rem !important; }

.padding-r32 {
    padding-right: 2rem !important; }

.padding-b32 {
    padding-bottom: 2rem !important; }

.padding-l32 {
    padding-left: 2rem !important; }

.margin-all-32 {
    margin: 2rem !important; }

.margin-t32 {
    margin-top: 2rem !important; }

.margin-r32 {
    margin-right: 2rem !important; }

.margin-b32 {
    margin-bottom: 2rem !important; }

.margin-l32 {
    margin-left: 2rem !important; }

.margin-t-32 {
    margin-top: -32px !important; }

.margin-r-32 {
    margin-right: -32px !important; }

.margin-b-32 {
    margin-bottom: -32px !important; }

.margin-l-32 {
    margin-left: -32px !important; }

.brl36 {
    height: 2.25rem; }

.padding-all-36 {
    padding: 2.25rem !important; }

.padding-t36 {
    padding-top: 2.25rem !important; }

.padding-r36 {
    padding-right: 2.25rem !important; }

.padding-b36 {
    padding-bottom: 2.25rem !important; }

.padding-l36 {
    padding-left: 2.25rem !important; }

.margin-all-36 {
    margin: 2.25rem !important; }

.margin-t36 {
    margin-top: 2.25rem !important; }

.margin-r36 {
    margin-right: 2.25rem !important; }

.margin-b36 {
    margin-bottom: 2.25rem !important; }

.margin-l36 {
    margin-left: 2.25rem !important; }

.margin-t-36 {
    margin-top: -36px !important; }

.margin-r-36 {
    margin-right: -36px !important; }

.margin-b-36 {
    margin-bottom: -36px !important; }

.margin-l-36 {
    margin-left: -36px !important; }

.brl40 {
    height: 2.5rem; }

.padding-all-40 {
    padding: 2.5rem !important; }

.padding-t40 {
    padding-top: 2.5rem !important; }

.padding-r40 {
    padding-right: 2.5rem !important; }

.padding-b40 {
    padding-bottom: 2.5rem !important; }

.padding-l40 {
    padding-left: 2.5rem !important; }

.margin-all-40 {
    margin: 2.5rem !important; }

.margin-t40 {
    margin-top: 2.5rem !important; }

.margin-r40 {
    margin-right: 2.5rem !important; }

.margin-b40 {
    margin-bottom: 2.5rem !important; }

.margin-l40 {
    margin-left: 2.5rem !important; }

.margin-t-40 {
    margin-top: -40px !important; }

.margin-r-40 {
    margin-right: -40px !important; }

.margin-b-40 {
    margin-bottom: -40px !important; }

.margin-l-40 {
    margin-left: -40px !important; }

.margin-t-auto {
    margin-top: auto; }

.margin-b-auto {
    margin-bottom: auto; }

.margin-l-auto {
    margin-left: auto; }

.margin-r-auto {
    margin-right: auto; }

@media screen and (max-width: 720px) {
    .margin-b-mobile-0 {
        margin-bottom: 0 !important; } }

.input-field-container {
    /* This is used on the /account/my-teams page */
    margin-left: auto;
    margin-right: auto;
    width: 100%; }
@media screen and (min-width: 1000px) {
    .input-field-container {
        width: 80%; } }
@media screen and (min-width: 1200px) {
    .input-field-container {
        width: 65%; } }
@media screen and (min-width: 1400px) {
    .input-field-container {
        width: 60%; } }

.flex-grow {
    flex-grow: 1; }

.flex-wrap {
    flex-wrap: wrap !important; }

.flex-h {
    display: flex;
    flex-direction: row;
    max-width: 100%; }
.flex-h.flex-gap-0 > * {
    margin-right: 0px; }
.flex-h.flex-gap-0 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-1 > * {
    margin-right: 1px; }
.flex-h.flex-gap-1 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-2 > * {
    margin-right: 2px; }
.flex-h.flex-gap-2 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-3 > * {
    margin-right: 3px; }
.flex-h.flex-gap-3 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-4 > * {
    margin-right: 4px; }
.flex-h.flex-gap-4 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-5 > * {
    margin-right: 5px; }
.flex-h.flex-gap-5 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-6 > * {
    margin-right: 6px; }
.flex-h.flex-gap-6 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-7 > * {
    margin-right: 7px; }
.flex-h.flex-gap-7 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-8 > * {
    margin-right: 8px; }
.flex-h.flex-gap-8 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-9 > * {
    margin-right: 9px; }
.flex-h.flex-gap-9 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-10 > * {
    margin-right: 10px; }
.flex-h.flex-gap-10 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-11 > * {
    margin-right: 11px; }
.flex-h.flex-gap-11 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-12 > * {
    margin-right: 12px; }
.flex-h.flex-gap-12 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-13 > * {
    margin-right: 13px; }
.flex-h.flex-gap-13 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-14 > * {
    margin-right: 14px; }
.flex-h.flex-gap-14 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-15 > * {
    margin-right: 15px; }
.flex-h.flex-gap-15 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-16 > * {
    margin-right: 16px; }
.flex-h.flex-gap-16 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-17 > * {
    margin-right: 17px; }
.flex-h.flex-gap-17 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-18 > * {
    margin-right: 18px; }
.flex-h.flex-gap-18 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-19 > * {
    margin-right: 19px; }
.flex-h.flex-gap-19 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-20 > * {
    margin-right: 20px; }
.flex-h.flex-gap-20 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-21 > * {
    margin-right: 21px; }
.flex-h.flex-gap-21 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-22 > * {
    margin-right: 22px; }
.flex-h.flex-gap-22 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-23 > * {
    margin-right: 23px; }
.flex-h.flex-gap-23 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-24 > * {
    margin-right: 24px; }
.flex-h.flex-gap-24 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-25 > * {
    margin-right: 25px; }
.flex-h.flex-gap-25 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-26 > * {
    margin-right: 26px; }
.flex-h.flex-gap-26 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-27 > * {
    margin-right: 27px; }
.flex-h.flex-gap-27 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-28 > * {
    margin-right: 28px; }
.flex-h.flex-gap-28 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-29 > * {
    margin-right: 29px; }
.flex-h.flex-gap-29 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-30 > * {
    margin-right: 30px; }
.flex-h.flex-gap-30 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-31 > * {
    margin-right: 31px; }
.flex-h.flex-gap-31 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-32 > * {
    margin-right: 32px; }
.flex-h.flex-gap-32 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-33 > * {
    margin-right: 33px; }
.flex-h.flex-gap-33 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-34 > * {
    margin-right: 34px; }
.flex-h.flex-gap-34 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-35 > * {
    margin-right: 35px; }
.flex-h.flex-gap-35 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-36 > * {
    margin-right: 36px; }
.flex-h.flex-gap-36 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-37 > * {
    margin-right: 37px; }
.flex-h.flex-gap-37 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-38 > * {
    margin-right: 38px; }
.flex-h.flex-gap-38 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-39 > * {
    margin-right: 39px; }
.flex-h.flex-gap-39 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-40 > * {
    margin-right: 40px; }
.flex-h.flex-gap-40 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-41 > * {
    margin-right: 41px; }
.flex-h.flex-gap-41 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-42 > * {
    margin-right: 42px; }
.flex-h.flex-gap-42 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-43 > * {
    margin-right: 43px; }
.flex-h.flex-gap-43 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-44 > * {
    margin-right: 44px; }
.flex-h.flex-gap-44 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-45 > * {
    margin-right: 45px; }
.flex-h.flex-gap-45 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-46 > * {
    margin-right: 46px; }
.flex-h.flex-gap-46 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-47 > * {
    margin-right: 47px; }
.flex-h.flex-gap-47 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-48 > * {
    margin-right: 48px; }
.flex-h.flex-gap-48 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-49 > * {
    margin-right: 49px; }
.flex-h.flex-gap-49 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-50 > * {
    margin-right: 50px; }
.flex-h.flex-gap-50 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-51 > * {
    margin-right: 51px; }
.flex-h.flex-gap-51 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-52 > * {
    margin-right: 52px; }
.flex-h.flex-gap-52 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-53 > * {
    margin-right: 53px; }
.flex-h.flex-gap-53 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-54 > * {
    margin-right: 54px; }
.flex-h.flex-gap-54 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-55 > * {
    margin-right: 55px; }
.flex-h.flex-gap-55 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-56 > * {
    margin-right: 56px; }
.flex-h.flex-gap-56 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-57 > * {
    margin-right: 57px; }
.flex-h.flex-gap-57 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-58 > * {
    margin-right: 58px; }
.flex-h.flex-gap-58 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-59 > * {
    margin-right: 59px; }
.flex-h.flex-gap-59 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-60 > * {
    margin-right: 60px; }
.flex-h.flex-gap-60 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-61 > * {
    margin-right: 61px; }
.flex-h.flex-gap-61 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-62 > * {
    margin-right: 62px; }
.flex-h.flex-gap-62 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-63 > * {
    margin-right: 63px; }
.flex-h.flex-gap-63 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-64 > * {
    margin-right: 64px; }
.flex-h.flex-gap-64 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-65 > * {
    margin-right: 65px; }
.flex-h.flex-gap-65 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-66 > * {
    margin-right: 66px; }
.flex-h.flex-gap-66 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-67 > * {
    margin-right: 67px; }
.flex-h.flex-gap-67 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-68 > * {
    margin-right: 68px; }
.flex-h.flex-gap-68 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-69 > * {
    margin-right: 69px; }
.flex-h.flex-gap-69 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-70 > * {
    margin-right: 70px; }
.flex-h.flex-gap-70 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-71 > * {
    margin-right: 71px; }
.flex-h.flex-gap-71 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-72 > * {
    margin-right: 72px; }
.flex-h.flex-gap-72 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-73 > * {
    margin-right: 73px; }
.flex-h.flex-gap-73 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-74 > * {
    margin-right: 74px; }
.flex-h.flex-gap-74 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-75 > * {
    margin-right: 75px; }
.flex-h.flex-gap-75 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-76 > * {
    margin-right: 76px; }
.flex-h.flex-gap-76 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-77 > * {
    margin-right: 77px; }
.flex-h.flex-gap-77 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-78 > * {
    margin-right: 78px; }
.flex-h.flex-gap-78 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-79 > * {
    margin-right: 79px; }
.flex-h.flex-gap-79 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-80 > * {
    margin-right: 80px; }
.flex-h.flex-gap-80 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-81 > * {
    margin-right: 81px; }
.flex-h.flex-gap-81 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-82 > * {
    margin-right: 82px; }
.flex-h.flex-gap-82 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-83 > * {
    margin-right: 83px; }
.flex-h.flex-gap-83 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-84 > * {
    margin-right: 84px; }
.flex-h.flex-gap-84 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-85 > * {
    margin-right: 85px; }
.flex-h.flex-gap-85 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-86 > * {
    margin-right: 86px; }
.flex-h.flex-gap-86 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-87 > * {
    margin-right: 87px; }
.flex-h.flex-gap-87 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-88 > * {
    margin-right: 88px; }
.flex-h.flex-gap-88 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-89 > * {
    margin-right: 89px; }
.flex-h.flex-gap-89 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-90 > * {
    margin-right: 90px; }
.flex-h.flex-gap-90 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-91 > * {
    margin-right: 91px; }
.flex-h.flex-gap-91 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-92 > * {
    margin-right: 92px; }
.flex-h.flex-gap-92 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-93 > * {
    margin-right: 93px; }
.flex-h.flex-gap-93 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-94 > * {
    margin-right: 94px; }
.flex-h.flex-gap-94 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-95 > * {
    margin-right: 95px; }
.flex-h.flex-gap-95 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-96 > * {
    margin-right: 96px; }
.flex-h.flex-gap-96 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-97 > * {
    margin-right: 97px; }
.flex-h.flex-gap-97 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-98 > * {
    margin-right: 98px; }
.flex-h.flex-gap-98 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-99 > * {
    margin-right: 99px; }
.flex-h.flex-gap-99 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-100 > * {
    margin-right: 100px; }
.flex-h.flex-gap-100 > *:last-of-type {
    margin-right: 0; }
.flex-h.reverse {
    flex-direction: row-reverse; }
.flex-h.flex-center {
    justify-content: center; }
.flex-h .flex-w-0 {
    width: 0%;
    max-width: 0%;
    min-width: 0%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-0 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-1 {
    width: 1%;
    max-width: 1%;
    min-width: 1%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-1 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-2 {
    width: 2%;
    max-width: 2%;
    min-width: 2%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-2 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-3 {
    width: 3%;
    max-width: 3%;
    min-width: 3%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-3 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-4 {
    width: 4%;
    max-width: 4%;
    min-width: 4%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-4 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-5 {
    width: 5%;
    max-width: 5%;
    min-width: 5%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-5 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-6 {
    width: 6%;
    max-width: 6%;
    min-width: 6%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-6 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-7 {
    width: 7%;
    max-width: 7%;
    min-width: 7%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-7 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-8 {
    width: 8%;
    max-width: 8%;
    min-width: 8%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-8 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-9 {
    width: 9%;
    max-width: 9%;
    min-width: 9%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-9 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-10 {
    width: 10%;
    max-width: 10%;
    min-width: 10%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-10 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-11 {
    width: 11%;
    max-width: 11%;
    min-width: 11%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-11 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-12 {
    width: 12%;
    max-width: 12%;
    min-width: 12%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-12 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-13 {
    width: 13%;
    max-width: 13%;
    min-width: 13%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-13 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-14 {
    width: 14%;
    max-width: 14%;
    min-width: 14%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-14 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-15 {
    width: 15%;
    max-width: 15%;
    min-width: 15%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-15 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-16 {
    width: 16%;
    max-width: 16%;
    min-width: 16%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-16 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-17 {
    width: 17%;
    max-width: 17%;
    min-width: 17%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-17 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-18 {
    width: 18%;
    max-width: 18%;
    min-width: 18%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-18 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-19 {
    width: 19%;
    max-width: 19%;
    min-width: 19%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-19 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-20 {
    width: 20%;
    max-width: 20%;
    min-width: 20%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-20 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-21 {
    width: 21%;
    max-width: 21%;
    min-width: 21%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-21 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-22 {
    width: 22%;
    max-width: 22%;
    min-width: 22%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-22 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-23 {
    width: 23%;
    max-width: 23%;
    min-width: 23%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-23 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-24 {
    width: 24%;
    max-width: 24%;
    min-width: 24%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-24 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-25 {
    width: 25%;
    max-width: 25%;
    min-width: 25%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-25 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-26 {
    width: 26%;
    max-width: 26%;
    min-width: 26%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-26 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-27 {
    width: 27%;
    max-width: 27%;
    min-width: 27%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-27 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-28 {
    width: 28%;
    max-width: 28%;
    min-width: 28%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-28 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-29 {
    width: 29%;
    max-width: 29%;
    min-width: 29%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-29 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-30 {
    width: 30%;
    max-width: 30%;
    min-width: 30%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-30 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-31 {
    width: 31%;
    max-width: 31%;
    min-width: 31%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-31 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-32 {
    width: 32%;
    max-width: 32%;
    min-width: 32%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-32 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-33 {
    width: 33%;
    max-width: 33%;
    min-width: 33%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-33 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-34 {
    width: 34%;
    max-width: 34%;
    min-width: 34%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-34 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-35 {
    width: 35%;
    max-width: 35%;
    min-width: 35%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-35 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-36 {
    width: 36%;
    max-width: 36%;
    min-width: 36%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-36 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-37 {
    width: 37%;
    max-width: 37%;
    min-width: 37%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-37 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-38 {
    width: 38%;
    max-width: 38%;
    min-width: 38%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-38 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-39 {
    width: 39%;
    max-width: 39%;
    min-width: 39%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-39 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-40 {
    width: 40%;
    max-width: 40%;
    min-width: 40%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-40 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-41 {
    width: 41%;
    max-width: 41%;
    min-width: 41%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-41 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-42 {
    width: 42%;
    max-width: 42%;
    min-width: 42%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-42 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-43 {
    width: 43%;
    max-width: 43%;
    min-width: 43%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-43 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-44 {
    width: 44%;
    max-width: 44%;
    min-width: 44%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-44 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-45 {
    width: 45%;
    max-width: 45%;
    min-width: 45%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-45 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-46 {
    width: 46%;
    max-width: 46%;
    min-width: 46%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-46 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-47 {
    width: 47%;
    max-width: 47%;
    min-width: 47%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-47 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-48 {
    width: 48%;
    max-width: 48%;
    min-width: 48%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-48 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-49 {
    width: 49%;
    max-width: 49%;
    min-width: 49%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-49 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-50 {
    width: 50%;
    max-width: 50%;
    min-width: 50%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-50 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-51 {
    width: 51%;
    max-width: 51%;
    min-width: 51%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-51 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-52 {
    width: 52%;
    max-width: 52%;
    min-width: 52%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-52 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-53 {
    width: 53%;
    max-width: 53%;
    min-width: 53%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-53 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-54 {
    width: 54%;
    max-width: 54%;
    min-width: 54%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-54 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-55 {
    width: 55%;
    max-width: 55%;
    min-width: 55%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-55 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-56 {
    width: 56%;
    max-width: 56%;
    min-width: 56%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-56 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-57 {
    width: 57%;
    max-width: 57%;
    min-width: 57%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-57 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-58 {
    width: 58%;
    max-width: 58%;
    min-width: 58%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-58 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-59 {
    width: 59%;
    max-width: 59%;
    min-width: 59%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-59 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-60 {
    width: 60%;
    max-width: 60%;
    min-width: 60%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-60 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-61 {
    width: 61%;
    max-width: 61%;
    min-width: 61%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-61 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-62 {
    width: 62%;
    max-width: 62%;
    min-width: 62%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-62 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-63 {
    width: 63%;
    max-width: 63%;
    min-width: 63%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-63 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-64 {
    width: 64%;
    max-width: 64%;
    min-width: 64%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-64 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-65 {
    width: 65%;
    max-width: 65%;
    min-width: 65%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-65 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-66 {
    width: 66%;
    max-width: 66%;
    min-width: 66%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-66 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-67 {
    width: 67%;
    max-width: 67%;
    min-width: 67%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-67 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-68 {
    width: 68%;
    max-width: 68%;
    min-width: 68%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-68 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-69 {
    width: 69%;
    max-width: 69%;
    min-width: 69%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-69 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-70 {
    width: 70%;
    max-width: 70%;
    min-width: 70%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-70 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-71 {
    width: 71%;
    max-width: 71%;
    min-width: 71%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-71 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-72 {
    width: 72%;
    max-width: 72%;
    min-width: 72%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-72 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-73 {
    width: 73%;
    max-width: 73%;
    min-width: 73%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-73 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-74 {
    width: 74%;
    max-width: 74%;
    min-width: 74%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-74 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-75 {
    width: 75%;
    max-width: 75%;
    min-width: 75%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-75 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-76 {
    width: 76%;
    max-width: 76%;
    min-width: 76%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-76 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-77 {
    width: 77%;
    max-width: 77%;
    min-width: 77%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-77 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-78 {
    width: 78%;
    max-width: 78%;
    min-width: 78%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-78 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-79 {
    width: 79%;
    max-width: 79%;
    min-width: 79%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-79 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-80 {
    width: 80%;
    max-width: 80%;
    min-width: 80%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-80 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-81 {
    width: 81%;
    max-width: 81%;
    min-width: 81%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-81 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-82 {
    width: 82%;
    max-width: 82%;
    min-width: 82%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-82 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-83 {
    width: 83%;
    max-width: 83%;
    min-width: 83%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-83 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-84 {
    width: 84%;
    max-width: 84%;
    min-width: 84%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-84 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-85 {
    width: 85%;
    max-width: 85%;
    min-width: 85%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-85 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-86 {
    width: 86%;
    max-width: 86%;
    min-width: 86%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-86 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-87 {
    width: 87%;
    max-width: 87%;
    min-width: 87%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-87 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-88 {
    width: 88%;
    max-width: 88%;
    min-width: 88%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-88 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-89 {
    width: 89%;
    max-width: 89%;
    min-width: 89%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-89 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-90 {
    width: 90%;
    max-width: 90%;
    min-width: 90%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-90 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-91 {
    width: 91%;
    max-width: 91%;
    min-width: 91%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-91 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-92 {
    width: 92%;
    max-width: 92%;
    min-width: 92%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-92 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-93 {
    width: 93%;
    max-width: 93%;
    min-width: 93%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-93 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-94 {
    width: 94%;
    max-width: 94%;
    min-width: 94%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-94 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-95 {
    width: 95%;
    max-width: 95%;
    min-width: 95%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-95 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-96 {
    width: 96%;
    max-width: 96%;
    min-width: 96%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-96 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-97 {
    width: 97%;
    max-width: 97%;
    min-width: 97%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-97 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-98 {
    width: 98%;
    max-width: 98%;
    min-width: 98%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-98 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-99 {
    width: 99%;
    max-width: 99%;
    min-width: 99%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-99 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-100 {
    width: 100%;
    max-width: 100%;
    min-width: 100%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-100 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h > * {
    flex-basis: 0;
    flex-grow: 1; }
.flex-h.no-grow > * {
    flex-grow: 0; }
.flex-h .flex-grow {
    flex-grow: 1; }
.flex-h .flex-align-end {
    justify-content: flex-end; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h {
        flex-wrap: wrap; }
    .flex-h:not(.flex-always-gap) > * {
        margin-right: 0 !important;
        margin-bottom: 16px; }
    .flex-h:not(.flex-always-gap) > *:last-of-type {
        /*margin-bottom: 0 !important;*/ }
    .flex-h > * {
        flex-basis: auto; } }
.flex-h.no-wrap {
    flex-wrap: nowrap; }
.flex-h.flex-align-space-between {
    justify-content: space-between; }

.flex-v {
    display: flex;
    flex-direction: column; }
.flex-v.reverse {
    flex-direction: column-reverse; }
.flex-v.flex-center {
    align-items: center; }
.flex-v.flex-y-center {
    justify-content: center; }
.flex-v.flex-gap-0 > * {
    margin-bottom: 0px; }
.flex-v.flex-gap-0 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-1 > * {
    margin-bottom: 1px; }
.flex-v.flex-gap-1 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-2 > * {
    margin-bottom: 2px; }
.flex-v.flex-gap-2 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-3 > * {
    margin-bottom: 3px; }
.flex-v.flex-gap-3 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-4 > * {
    margin-bottom: 4px; }
.flex-v.flex-gap-4 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-5 > * {
    margin-bottom: 5px; }
.flex-v.flex-gap-5 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-6 > * {
    margin-bottom: 6px; }
.flex-v.flex-gap-6 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-7 > * {
    margin-bottom: 7px; }
.flex-v.flex-gap-7 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-8 > * {
    margin-bottom: 8px; }
.flex-v.flex-gap-8 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-9 > * {
    margin-bottom: 9px; }
.flex-v.flex-gap-9 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-10 > * {
    margin-bottom: 10px; }
.flex-v.flex-gap-10 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-11 > * {
    margin-bottom: 11px; }
.flex-v.flex-gap-11 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-12 > * {
    margin-bottom: 12px; }
.flex-v.flex-gap-12 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-13 > * {
    margin-bottom: 13px; }
.flex-v.flex-gap-13 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-14 > * {
    margin-bottom: 14px; }
.flex-v.flex-gap-14 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-15 > * {
    margin-bottom: 15px; }
.flex-v.flex-gap-15 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-16 > * {
    margin-bottom: 16px; }
.flex-v.flex-gap-16 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-17 > * {
    margin-bottom: 17px; }
.flex-v.flex-gap-17 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-18 > * {
    margin-bottom: 18px; }
.flex-v.flex-gap-18 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-19 > * {
    margin-bottom: 19px; }
.flex-v.flex-gap-19 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-20 > * {
    margin-bottom: 20px; }
.flex-v.flex-gap-20 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-21 > * {
    margin-bottom: 21px; }
.flex-v.flex-gap-21 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-22 > * {
    margin-bottom: 22px; }
.flex-v.flex-gap-22 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-23 > * {
    margin-bottom: 23px; }
.flex-v.flex-gap-23 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-24 > * {
    margin-bottom: 24px; }
.flex-v.flex-gap-24 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-25 > * {
    margin-bottom: 25px; }
.flex-v.flex-gap-25 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-26 > * {
    margin-bottom: 26px; }
.flex-v.flex-gap-26 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-27 > * {
    margin-bottom: 27px; }
.flex-v.flex-gap-27 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-28 > * {
    margin-bottom: 28px; }
.flex-v.flex-gap-28 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-29 > * {
    margin-bottom: 29px; }
.flex-v.flex-gap-29 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-30 > * {
    margin-bottom: 30px; }
.flex-v.flex-gap-30 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-31 > * {
    margin-bottom: 31px; }
.flex-v.flex-gap-31 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-32 > * {
    margin-bottom: 32px; }
.flex-v.flex-gap-32 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-33 > * {
    margin-bottom: 33px; }
.flex-v.flex-gap-33 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-34 > * {
    margin-bottom: 34px; }
.flex-v.flex-gap-34 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-35 > * {
    margin-bottom: 35px; }
.flex-v.flex-gap-35 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-36 > * {
    margin-bottom: 36px; }
.flex-v.flex-gap-36 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-37 > * {
    margin-bottom: 37px; }
.flex-v.flex-gap-37 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-38 > * {
    margin-bottom: 38px; }
.flex-v.flex-gap-38 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-39 > * {
    margin-bottom: 39px; }
.flex-v.flex-gap-39 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-40 > * {
    margin-bottom: 40px; }
.flex-v.flex-gap-40 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-41 > * {
    margin-bottom: 41px; }
.flex-v.flex-gap-41 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-42 > * {
    margin-bottom: 42px; }
.flex-v.flex-gap-42 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-43 > * {
    margin-bottom: 43px; }
.flex-v.flex-gap-43 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-44 > * {
    margin-bottom: 44px; }
.flex-v.flex-gap-44 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-45 > * {
    margin-bottom: 45px; }
.flex-v.flex-gap-45 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-46 > * {
    margin-bottom: 46px; }
.flex-v.flex-gap-46 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-47 > * {
    margin-bottom: 47px; }
.flex-v.flex-gap-47 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-48 > * {
    margin-bottom: 48px; }
.flex-v.flex-gap-48 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-49 > * {
    margin-bottom: 49px; }
.flex-v.flex-gap-49 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-50 > * {
    margin-bottom: 50px; }
.flex-v.flex-gap-50 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-51 > * {
    margin-bottom: 51px; }
.flex-v.flex-gap-51 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-52 > * {
    margin-bottom: 52px; }
.flex-v.flex-gap-52 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-53 > * {
    margin-bottom: 53px; }
.flex-v.flex-gap-53 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-54 > * {
    margin-bottom: 54px; }
.flex-v.flex-gap-54 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-55 > * {
    margin-bottom: 55px; }
.flex-v.flex-gap-55 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-56 > * {
    margin-bottom: 56px; }
.flex-v.flex-gap-56 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-57 > * {
    margin-bottom: 57px; }
.flex-v.flex-gap-57 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-58 > * {
    margin-bottom: 58px; }
.flex-v.flex-gap-58 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-59 > * {
    margin-bottom: 59px; }
.flex-v.flex-gap-59 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-60 > * {
    margin-bottom: 60px; }
.flex-v.flex-gap-60 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-61 > * {
    margin-bottom: 61px; }
.flex-v.flex-gap-61 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-62 > * {
    margin-bottom: 62px; }
.flex-v.flex-gap-62 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-63 > * {
    margin-bottom: 63px; }
.flex-v.flex-gap-63 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-64 > * {
    margin-bottom: 64px; }
.flex-v.flex-gap-64 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-65 > * {
    margin-bottom: 65px; }
.flex-v.flex-gap-65 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-66 > * {
    margin-bottom: 66px; }
.flex-v.flex-gap-66 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-67 > * {
    margin-bottom: 67px; }
.flex-v.flex-gap-67 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-68 > * {
    margin-bottom: 68px; }
.flex-v.flex-gap-68 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-69 > * {
    margin-bottom: 69px; }
.flex-v.flex-gap-69 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-70 > * {
    margin-bottom: 70px; }
.flex-v.flex-gap-70 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-71 > * {
    margin-bottom: 71px; }
.flex-v.flex-gap-71 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-72 > * {
    margin-bottom: 72px; }
.flex-v.flex-gap-72 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-73 > * {
    margin-bottom: 73px; }
.flex-v.flex-gap-73 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-74 > * {
    margin-bottom: 74px; }
.flex-v.flex-gap-74 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-75 > * {
    margin-bottom: 75px; }
.flex-v.flex-gap-75 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-76 > * {
    margin-bottom: 76px; }
.flex-v.flex-gap-76 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-77 > * {
    margin-bottom: 77px; }
.flex-v.flex-gap-77 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-78 > * {
    margin-bottom: 78px; }
.flex-v.flex-gap-78 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-79 > * {
    margin-bottom: 79px; }
.flex-v.flex-gap-79 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-80 > * {
    margin-bottom: 80px; }
.flex-v.flex-gap-80 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-81 > * {
    margin-bottom: 81px; }
.flex-v.flex-gap-81 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-82 > * {
    margin-bottom: 82px; }
.flex-v.flex-gap-82 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-83 > * {
    margin-bottom: 83px; }
.flex-v.flex-gap-83 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-84 > * {
    margin-bottom: 84px; }
.flex-v.flex-gap-84 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-85 > * {
    margin-bottom: 85px; }
.flex-v.flex-gap-85 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-86 > * {
    margin-bottom: 86px; }
.flex-v.flex-gap-86 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-87 > * {
    margin-bottom: 87px; }
.flex-v.flex-gap-87 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-88 > * {
    margin-bottom: 88px; }
.flex-v.flex-gap-88 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-89 > * {
    margin-bottom: 89px; }
.flex-v.flex-gap-89 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-90 > * {
    margin-bottom: 90px; }
.flex-v.flex-gap-90 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-91 > * {
    margin-bottom: 91px; }
.flex-v.flex-gap-91 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-92 > * {
    margin-bottom: 92px; }
.flex-v.flex-gap-92 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-93 > * {
    margin-bottom: 93px; }
.flex-v.flex-gap-93 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-94 > * {
    margin-bottom: 94px; }
.flex-v.flex-gap-94 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-95 > * {
    margin-bottom: 95px; }
.flex-v.flex-gap-95 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-96 > * {
    margin-bottom: 96px; }
.flex-v.flex-gap-96 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-97 > * {
    margin-bottom: 97px; }
.flex-v.flex-gap-97 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-98 > * {
    margin-bottom: 98px; }
.flex-v.flex-gap-98 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-99 > * {
    margin-bottom: 99px; }
.flex-v.flex-gap-99 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-100 > * {
    margin-bottom: 100px; }
.flex-v.flex-gap-100 > *:last-of-type {
    margin-bottom: 0; }

.width-0 {
    width: 0%;
    max-width: 0%;
    min-width: 0%; }

.width-1 {
    width: 1%;
    max-width: 1%;
    min-width: 1%; }

.width-2 {
    width: 2%;
    max-width: 2%;
    min-width: 2%; }

.width-3 {
    width: 3%;
    max-width: 3%;
    min-width: 3%; }

.width-4 {
    width: 4%;
    max-width: 4%;
    min-width: 4%; }

.width-5 {
    width: 5%;
    max-width: 5%;
    min-width: 5%; }

.width-6 {
    width: 6%;
    max-width: 6%;
    min-width: 6%; }

.width-7 {
    width: 7%;
    max-width: 7%;
    min-width: 7%; }

.width-8 {
    width: 8%;
    max-width: 8%;
    min-width: 8%; }

.width-9 {
    width: 9%;
    max-width: 9%;
    min-width: 9%; }

.width-10 {
    width: 10%;
    max-width: 10%;
    min-width: 10%; }

.width-11 {
    width: 11%;
    max-width: 11%;
    min-width: 11%; }

.width-12 {
    width: 12%;
    max-width: 12%;
    min-width: 12%; }

.width-13 {
    width: 13%;
    max-width: 13%;
    min-width: 13%; }

.width-14 {
    width: 14%;
    max-width: 14%;
    min-width: 14%; }

.width-15 {
    width: 15%;
    max-width: 15%;
    min-width: 15%; }

.width-16 {
    width: 16%;
    max-width: 16%;
    min-width: 16%; }

.width-17 {
    width: 17%;
    max-width: 17%;
    min-width: 17%; }

.width-18 {
    width: 18%;
    max-width: 18%;
    min-width: 18%; }

.width-19 {
    width: 19%;
    max-width: 19%;
    min-width: 19%; }

.width-20 {
    width: 20%;
    max-width: 20%;
    min-width: 20%; }

.width-21 {
    width: 21%;
    max-width: 21%;
    min-width: 21%; }

.width-22 {
    width: 22%;
    max-width: 22%;
    min-width: 22%; }

.width-23 {
    width: 23%;
    max-width: 23%;
    min-width: 23%; }

.width-24 {
    width: 24%;
    max-width: 24%;
    min-width: 24%; }

.width-25 {
    width: 25%;
    max-width: 25%;
    min-width: 25%; }

.width-26 {
    width: 26%;
    max-width: 26%;
    min-width: 26%; }

.width-27 {
    width: 27%;
    max-width: 27%;
    min-width: 27%; }

.width-28 {
    width: 28%;
    max-width: 28%;
    min-width: 28%; }

.width-29 {
    width: 29%;
    max-width: 29%;
    min-width: 29%; }

.width-30 {
    width: 30%;
    max-width: 30%;
    min-width: 30%; }

.width-31 {
    width: 31%;
    max-width: 31%;
    min-width: 31%; }

.width-32 {
    width: 32%;
    max-width: 32%;
    min-width: 32%; }

.width-33 {
    width: 33%;
    max-width: 33%;
    min-width: 33%; }

.width-34 {
    width: 34%;
    max-width: 34%;
    min-width: 34%; }

.width-35 {
    width: 35%;
    max-width: 35%;
    min-width: 35%; }

.width-36 {
    width: 36%;
    max-width: 36%;
    min-width: 36%; }

.width-37 {
    width: 37%;
    max-width: 37%;
    min-width: 37%; }

.width-38 {
    width: 38%;
    max-width: 38%;
    min-width: 38%; }

.width-39 {
    width: 39%;
    max-width: 39%;
    min-width: 39%; }

.width-40 {
    width: 40%;
    max-width: 40%;
    min-width: 40%; }

.width-41 {
    width: 41%;
    max-width: 41%;
    min-width: 41%; }

.width-42 {
    width: 42%;
    max-width: 42%;
    min-width: 42%; }

.width-43 {
    width: 43%;
    max-width: 43%;
    min-width: 43%; }

.width-44 {
    width: 44%;
    max-width: 44%;
    min-width: 44%; }

.width-45 {
    width: 45%;
    max-width: 45%;
    min-width: 45%; }

.width-46 {
    width: 46%;
    max-width: 46%;
    min-width: 46%; }

.width-47 {
    width: 47%;
    max-width: 47%;
    min-width: 47%; }

.width-48 {
    width: 48%;
    max-width: 48%;
    min-width: 48%; }

.width-49 {
    width: 49%;
    max-width: 49%;
    min-width: 49%; }

.width-50 {
    width: 50%;
    max-width: 50%;
    min-width: 50%; }

.width-51 {
    width: 51%;
    max-width: 51%;
    min-width: 51%; }

.width-52 {
    width: 52%;
    max-width: 52%;
    min-width: 52%; }

.width-53 {
    width: 53%;
    max-width: 53%;
    min-width: 53%; }

.width-54 {
    width: 54%;
    max-width: 54%;
    min-width: 54%; }

.width-55 {
    width: 55%;
    max-width: 55%;
    min-width: 55%; }

.width-56 {
    width: 56%;
    max-width: 56%;
    min-width: 56%; }

.width-57 {
    width: 57%;
    max-width: 57%;
    min-width: 57%; }

.width-58 {
    width: 58%;
    max-width: 58%;
    min-width: 58%; }

.width-59 {
    width: 59%;
    max-width: 59%;
    min-width: 59%; }

.width-60 {
    width: 60%;
    max-width: 60%;
    min-width: 60%; }

.width-61 {
    width: 61%;
    max-width: 61%;
    min-width: 61%; }

.width-62 {
    width: 62%;
    max-width: 62%;
    min-width: 62%; }

.width-63 {
    width: 63%;
    max-width: 63%;
    min-width: 63%; }

.width-64 {
    width: 64%;
    max-width: 64%;
    min-width: 64%; }

.width-65 {
    width: 65%;
    max-width: 65%;
    min-width: 65%; }

.width-66 {
    width: 66%;
    max-width: 66%;
    min-width: 66%; }

.width-67 {
    width: 67%;
    max-width: 67%;
    min-width: 67%; }

.width-68 {
    width: 68%;
    max-width: 68%;
    min-width: 68%; }

.width-69 {
    width: 69%;
    max-width: 69%;
    min-width: 69%; }

.width-70 {
    width: 70%;
    max-width: 70%;
    min-width: 70%; }

.width-71 {
    width: 71%;
    max-width: 71%;
    min-width: 71%; }

.width-72 {
    width: 72%;
    max-width: 72%;
    min-width: 72%; }

.width-73 {
    width: 73%;
    max-width: 73%;
    min-width: 73%; }

.width-74 {
    width: 74%;
    max-width: 74%;
    min-width: 74%; }

.width-75 {
    width: 75%;
    max-width: 75%;
    min-width: 75%; }

.width-76 {
    width: 76%;
    max-width: 76%;
    min-width: 76%; }

.width-77 {
    width: 77%;
    max-width: 77%;
    min-width: 77%; }

.width-78 {
    width: 78%;
    max-width: 78%;
    min-width: 78%; }

.width-79 {
    width: 79%;
    max-width: 79%;
    min-width: 79%; }

.width-80 {
    width: 80%;
    max-width: 80%;
    min-width: 80%; }

.width-81 {
    width: 81%;
    max-width: 81%;
    min-width: 81%; }

.width-82 {
    width: 82%;
    max-width: 82%;
    min-width: 82%; }

.width-83 {
    width: 83%;
    max-width: 83%;
    min-width: 83%; }

.width-84 {
    width: 84%;
    max-width: 84%;
    min-width: 84%; }

.width-85 {
    width: 85%;
    max-width: 85%;
    min-width: 85%; }

.width-86 {
    width: 86%;
    max-width: 86%;
    min-width: 86%; }

.width-87 {
    width: 87%;
    max-width: 87%;
    min-width: 87%; }

.width-88 {
    width: 88%;
    max-width: 88%;
    min-width: 88%; }

.width-89 {
    width: 89%;
    max-width: 89%;
    min-width: 89%; }

.width-90 {
    width: 90%;
    max-width: 90%;
    min-width: 90%; }

.width-91 {
    width: 91%;
    max-width: 91%;
    min-width: 91%; }

.width-92 {
    width: 92%;
    max-width: 92%;
    min-width: 92%; }

.width-93 {
    width: 93%;
    max-width: 93%;
    min-width: 93%; }

.width-94 {
    width: 94%;
    max-width: 94%;
    min-width: 94%; }

.width-95 {
    width: 95%;
    max-width: 95%;
    min-width: 95%; }

.width-96 {
    width: 96%;
    max-width: 96%;
    min-width: 96%; }

.width-97 {
    width: 97%;
    max-width: 97%;
    min-width: 97%; }

.width-98 {
    width: 98%;
    max-width: 98%;
    min-width: 98%; }

.width-99 {
    width: 99%;
    max-width: 99%;
    min-width: 99%; }

.width-100 {
    width: 100%;
    max-width: 100%;
    min-width: 100%; }

form {
    border: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    align-items: center !important; }
form.full-height {
    height: 100%; }
form.align-inherit {
    align-items: inherit !important; }

.form-group {
    position: relative;
    margin-bottom: 8px;
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-bottom: 0; }
.form-group .row {
    flex-direction: row; }
.form-group + .form-group {
    margin-top: 8px; }
.form-group:last-of-type {
    margin-bottom: 8px; }
.form-group span img {
    position: absolute;
    top: 12px;
    left: 12px;
    height: 20px;
    width: 20px;
    z-index: 1; }
.form-group span img.tag {
    top: 10px;
    left: 10px;
    height: 25px;
    width: 25px; }
.form-group span.info-circle {
    position: absolute;
    left: initial;
    right: 40px;
    cursor: pointer; }
.form-group label {
    margin-bottom: 8px;
    font-weight: 700;
    font-size: 12.8px;
    text-transform: uppercase; }
.form-group label.initial {
    font-weight: initial;
    font-size: initial;
    text-transform: initial;
    margin-bottom: initial; }
.form-group input, .form-group select, .form-group optgroup {
    background-color: #1b1c25;
    border: none;
    border-radius: 0;
    height: 40px;
    padding: 0 40px;
    color: #ffffff;
    font-family: 'Titillium Web', sans-serif;
    font-size: 15px;
    border: 1px solid #333b4c;
    font-weight: 400;
    box-sizing: border-box;
    -moz-appearance: none;
    appearance: none;
    -webkit-appearance: none;
    width: 100%; }
.form-group input.no-addon, .form-group select.no-addon, .form-group optgroup.no-addon {
    padding: 0 1em; }
.form-group input.tag, .form-group select.tag, .form-group optgroup.tag {
    padding: 0 50px; }
.form-group input::-webkit-input-placeholder, .form-group select::-webkit-input-placeholder, .form-group optgroup::-webkit-input-placeholder {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 300;
    color: #E6EAFF;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1em;
    opacity: 0.6; }
.form-group input:active, .form-group input:hover, .form-group input:focus, .form-group select:active, .form-group select:hover, .form-group select:focus, .form-group optgroup:active, .form-group optgroup:hover, .form-group optgroup:focus {
    background-color: #252834;
    outline: none;
    border: 1px solid #3e475c; }
.form-group textarea {
    border: 1px solid #292F3D; }
.form-group textarea::-webkit-input-placeholder, .form-group textarea::-moz-placeholder, .form-group textarea::placeholder {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 300;
    color: #E6EAFF;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 1rem;
    opacity: 0.6; }
.form-group textarea:active, .form-group textarea:hover, .form-group textarea:focus {
    background-color: #252834;
    outline: none;
    border: 1px solid #3e475c; }

input[type="file"] {
    display: none !important; }

ul.no-list, li.no-list {
    list-style: none; }

ul.left, li.left {
    text-align: left; }

/* RANGE SLIDER STYLING */
/* Special styling for WebKit/Blink */
input[type=range]::-webkit-slider-thumb {
    background: #00bfe9;
    height: 16px;
    width: 8px;
    border-radius: 8px / 16px; }

/* All the same stuff for Firefox and IE*/
input[type=range]::-moz-range-thumb, input[type=range]::-ms-thumb {
    background: #00bfe9; }

input[type=range]:hover, input[type=range]:focus, input[type=range]:active {
    background-color: initial;
    outline: initial;
    margin: initial;
    border: initial;
    margin-top: 20px; }

input[type=range]::-webkit-slider-runnable-track {
    background: rgba(255, 255, 255, 0.1); }

input[type=range]:focus::-webkit-slider-runnable-track {
    background: rgba(255, 255, 255, 0.1); }

input[type=range]::-moz-range-track {
    background: rgba(255, 255, 255, 0.1); }

input[type=range]::-ms-track {
    background: transparent; }

input[type=range]::-ms-fill-lower {
    background: rgba(255, 255, 255, 0.1); }

input[type=range]:focus::-ms-fill-lower {
    background: rgba(255, 255, 255, 0.1); }

input[type=range]::-ms-fill-upper {
    background: rgba(255, 255, 255, 0.1); }

input[type=range]:focus::-ms-fill-upper {
    background: rgba(255, 255, 255, 0.1); }

select {
    -moz-appearance: none;
    -webkit-appearance: none; }

.plain-select {
    vertical-align: middle;
    position: relative;
    width: 100%; }

.plain-select:after {
    content: "";
    position: absolute;
    z-index: 2;
    right: 8px;
    top: 50%;
    margin-top: -3px;
    height: 0;
    width: 0;
    border-top: 6px solid #E6EAFF;
    border-left: 6px solid transparent;
    border-right: 6px solid transparent;
    pointer-events: none; }

/* Customize the label (the container) */
.check-container {
    display: block;
    position: relative;
    padding-left: 40px;
    margin-top: 20px;
    margin-bottom: 20px;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    text-align: left; }

/* Hide the browser's default radio button */
.check-container input {
    position: absolute;
    opacity: 0; }

/* Create a custom radio button */
.checkmark {
    position: absolute;
    top: 0;
    left: 0;
    height: 20px;
    width: 20px;
    border: 1px solid #ffffff; }
.checkmark.radio {
    border-radius: 50%; }
.checkmark.pink, .checkmark.yellow, .checkmark.blue {
    background: initial; }

/* On mouse-over, add a grey background color */
.check-container:hover input ~ .checkmark {
    background-color: #3C4049; }

/* When the radio button is checked, add a blue background */
/* Create the indicator (the dot/circle - hidden when not checked) */
.checkmark:after {
    content: "";
    position: absolute;
    display: none; }

/* Show the indicator (dot/circle) when checked */
.check-container input:checked ~ .checkmark:after {
    display: block; }

/* Style the indicator (dot/circle) */
.checkmark:after {
    top: 3px;
    left: 3px;
    width: 13.5px;
    height: 13.5px;
    background: #ffffff; }

.checkmark.radio:after {
    border-radius: 50%; }

.checkmark.pink:after {
    background: #ff1577; }

.checkmark.blue:after {
    background: #00bfe9; }

.checkmark.yellow:after {
    background: #ffc800; }

input[type="button" i]:disabled, input[type="submit" i]:disabled, input[type="reset" i]:disabled, input[type="file" i]:disabled::-webkit-file-upload-button, button:disabled, select:disabled, optgroup:disabled, option:disabled, select[disabled] > option {
    cursor: not-allowed; }

.form-group textarea {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 300;
    font-size: 1rem;
    padding: 0.3em;
}
textarea {
    background-color: #1b1c25;
    color: #ffffff;
    height: 150px; }
textarea::-webkit-input-placeholder {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 300;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 2em;
    opacity: 1;
    text-align: center;
    line-height: 150px; }
textarea:active, textarea:hover, textarea:focus {
    background-color: #252834;
    outline: none;
    border: 1px solid #ffffff; }
textarea.lowerplace::-webkit-input-placeholder {
    text-transform: initial;
    font-size: 1.2em; }

.validation-summary-errors {
    width: 100%; }
.validation-summary-errors ul {
    list-style: none;
    padding: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #C3272B;
    color: white; }

.input-validation-error {
    border-color: #C3272B !important; }

.field-validation-error {
    font-size: 14px;
    padding: 8px 8px;
    margin: 8px 0;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    background-color: #C3272B; }

.field-validation-warning {
    font-size: 14px;
    padding: 8px 8px;
    margin: 8px 0;
    width: 100%;
    text-align: center;
    box-sizing: border-box;
    background-color: #292F3D; }

.mce-tinymce {
    background-color: #101116;
    color: #ffffff;
    border: 1px solid #3e475c; }

.mce-container {
    background-color: #101116;
    color: #ffffff;
    outline: none; }

.mce-menu {
    border: 1px solid #3e475c; }

.mce-menu-item.mce-selected {
    background: #1a1c25; }
.mce-menu-item.mce-selected * {
    background: #1a1c25; }

.mce-menu-item.mce-menu-item-preview.mce-active {
    background: #1a1c25; }
.mce-menu-item.mce-menu-item-preview.mce-active * {
    background: #1a1c25; }

.mce-menu-item:hover, .mce-menu-item:focus {
    background: #1a1c25; }
.mce-menu-item:hover *, .mce-menu-item:focus * {
    background: #1a1c25 !important; }

div.mce-edit-area {
    border: 1px solid #3e475c;
    background: #101116; }

.mce-statusbar {
    border-top: 1px solid #3e475c; }

.mce-btn {
    border: 1px solid #3e475c;
    background: none; }

.mce-btn-group:not(:first-child) {
    border-left: 1px solid #3e475c; }

button {
    background-color: #101116;
    color: #ffffff; }

.mce-content-body * {
    color: #ffffff; }

.menu {
    display: none;
    position: fixed;
    width: 100%;
    background: #1a1c25;
    z-index: 20;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5); }
@media screen and (min-width: 720px) {
    .menu {
        width: 300px; } }
.menu:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px; }
.menu:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 2px; }
.menu div.menu-heading {
    height: 38px;
    width: 100%;
    border-bottom: 1px solid #292F3D;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative; }
.menu div.menu-heading h1.menu-title {
    margin: 0;
    font-size: 22px;
    text-align: center;
    font-weight: 400; }
.menu div.menu-heading img {
    position: absolute;
    top: 0;
    right: 0;
    margin: 10px;
    height: 20px;
    width: 20px;
    cursor: pointer; }
.menu div.menu-heading img.heading-icon {
    position: relative; }
.menu div.menu-footer {
    height: 38px;
    background-color: #292F3D;
    display: flex;
    flex-grow: 1;
    justify-content: center;
    align-items: center; }
.menu div.menu-footer button {
    height: 1.8em;
    font-size: 1em; }
.menu .menu-items {
    /* Used for popups to give information to the user */ }
.menu .menu-items .menu-info-text {
    font-size: 0.8em;
    padding-left: 16px;
    padding-right: 16px;
    text-align: justify; }
.menu .menu-items .menu-item {
    height: 38px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 1px solid #292F3D;
    padding: 4px 0;
    position: relative; }
.menu .menu-items .menu-item:last-of-type {
    border-bottom: none; }
.menu .menu-items .menu-item .menu-item-icon {
    position: absolute;
    left: 16px;
    top: 10px;
    height: 24px;
    width: 24px; }
.menu .menu-items .menu-item .menu-item-text {
    text-transform: uppercase; }
.menu .menu-items .menu-item .menu-item-text h1 {
    font-size: 16px;
    margin: 0; }
.menu .menu-items .menu-item a {
    text-decoration: none; }

.menu-back-drop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 8; }

.carousel {
    margin: 0 16px;
    box-sizing: border-box;
    overflow-x: hidden;
    width: 100%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .carousel {
        margin: 0; } }
.carousel .carousel-control-left {
    position: absolute;
    left: 0;
    background: url("/nse/img/right-chevron.svg");
    height: 20px;
    width: 20px;
    background-size: contain;
    transform: rotate(180deg);
    cursor: pointer;
    z-index: 2; }
.carousel .carousel-control-right {
    position: absolute;
    right: 0;
    background: url("/nse/img/right-chevron.svg");
    height: 20px;
    width: 20px;
    background-size: contain;
    cursor: pointer;
    z-index: 2; }
.carousel .carousel-pages-container {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: row;
    transition: transform ease-in-out 200ms;
    will-change: transform; }
.carousel .carousel-pages-container .carousel-page {
    width: 100%;
    height: 100%;
    padding: 0 1.5em;
    box-sizing: border-box; }
.carousel .carousel-pages-container .carousel-page .carousel-page-row {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-wrap: wrap; }
.carousel .carousel-pages-container .carousel-page .carousel-page-row .carousel-page-item {
    box-sizing: border-box;
    padding: 0 4px;
    display: flex;
    justify-content: center;
    flex-direction: row; }

.auto-carousel {
    overflow: hidden;
    display: flex;
    flex-direction: row;
    position: relative;
    width: 100%; }
.auto-carousel .carousel-item {
    min-width: 100%;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 500ms ease-in-out;
    flex-grow: 1;
    flex-direction: row; }
.auto-carousel .carousel-item.carousel-item-left {
    flex-direction: row-reverse; }
.auto-carousel .carousel-item .carousel-image-container {
    width: 100%;
    height: 100%;
    position: relative; }
.auto-carousel .carousel-item .carousel-image-container:before {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute; }
.auto-carousel .carousel-item .carousel-image-container .carousel-image, .auto-carousel .carousel-item .carousel-image-container .banner-image {
    width: 100%;
    min-height: 100%;
    display: block;
    object-fit: cover; }
.auto-carousel .carousel-item .carousel-item-info {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    background-color: #1C1D26;
    min-height: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 3em 1em; }
.auto-carousel .carousel-item .carousel-item-info .carousel-item-info-text {
    font-size: 1.4em;
    text-align: center;
    margin: 0; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .auto-carousel .carousel-item {
        flex-direction: column; }
    .auto-carousel .carousel-item .carousel-item-info {
        min-height: 50%;
        width: 100%; }
    .auto-carousel .carousel-item .carousel-item-info .carousel-item-info-text {
        font-size: 1.2em;
        text-align: center;
        margin: 0; }
    .auto-carousel .carousel-item .carousel-item-info .cta {
        font-size: 0.8em;
        padding: 0 24px; } }
.auto-carousel .carousel-item .carousel-content {
    position: absolute;
    display: flex;
    flex-direction: row;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center; }
.auto-carousel .carousel-item .carousel-content .carousel-content-img-overlay {
    position: absolute;
    bottom: 20px;
    left: 20px; }
.auto-carousel .carousel-item .carousel-content .carousel-content-img-overlay h2 {
    text-transform: uppercase;
    font-weight: 400; }
.auto-carousel .carousel-item .carousel-content .carousel-content-img-overlay img {
    max-width: 100px;
    align-self: center;
    padding-right: 1em; }
.auto-carousel .carousel-item h1, .auto-carousel .carousel-item h2, .auto-carousel .carousel-item h3, .auto-carousel .carousel-item h4, .auto-carousel .carousel-item h5, .auto-carousel .carousel-item h6, .auto-carousel .carousel-item p {
    text-shadow: 0 0 8px black;
    font-weight: 400; }
.auto-carousel .carousel-paging-controls {
    position: absolute;
    bottom: 1em;
    left: 0;
    width: 100%;
    height: 1em;
    z-index: 10;
    display: flex;
    flex-direction: row;
    justify-content: center; }
.auto-carousel .carousel-paging-controls .carousel-paging-control {
    height: 1em;
    width: 1em;
    background-color: #E6EAFF;
    margin: 0 0.2em;
    border-radius: 100%;
    display: flex;
    justify-content: center;
    opacity: 0.4;
    cursor: pointer; }
.auto-carousel .carousel-paging-controls .carousel-paging-control .carousel-paging-control-inner {
    box-sizing: border-box;
    border-radius: 100%;
    flex-grow: 1;
    overflow: hidden !important;
    position: relative;
    z-index: 1;
    margin: 2px; }
.auto-carousel .carousel-paging-controls .carousel-paging-control .carousel-paging-control-inner .carousel-paging-control-inner-percent {
    width: 100%;
    height: 100%;
    background-color: #101116;
    transform-origin: bottom;
    opacity: 0; }
.auto-carousel .carousel-paging-controls .carousel-paging-control .carousel-paging-control-inner .carousel-paging-control-inner-percent.active {
    opacity: 1;
    animation: pagingControlPercent 4500ms forwards linear; }
.auto-carousel .carousel-paging-controls .carousel-paging-control .carousel-paging-control-inner .carousel-paging-control-inner-percent:not(.active) {
    animation: fadeOut 200ms backwards ease-in-out; }

@keyframes pagingControlPercent {
    0% {
        transform: scaleY(0); }
    100% {
        transform: scaleY(1); } }

@keyframes fadeOut {
    0% {
        opacity: 1; }
    100% {
        opacity: 0; } }

.banner-image {
    object-fit: cover; }

.croppie-container .cr-slider-wrap {
    width: initial;
    margin: initial;
    text-align: center; }

input.cr-slider {
    background-color: initial;
    margin-top: 20px;
    border: none;
    height: 20px;
    font-size: 10px;
    width: 75%; }

input.cr-slider:hover {
    margin-top: 20px !important; }

.img-rotate img {
    height: 50%; }

.img-rotate[data-deg="-90"] img {
    transform: rotateY(180deg); }

.croppie-controls .img-rotate {
    padding: 0;
    flex-grow: 1;
    width: 2.8em;
    height: 2.8em; }

.umb-grid .row {
    display: flex;
    margin-bottom: 16px; }
@media screen and (max-width: 720px) {
    .umb-grid .row {
        flex-wrap: wrap; } }
.umb-grid .row:last-of-type {
    margin-bottom: 0; }
.umb-grid .row .column {
    margin-right: 16px;
    box-sizing: border-box; }
.umb-grid .row .column:last-of-type {
    margin-right: 0; }
.umb-grid .row .column.col-md-0 {
    width: 0%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-0 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-1 {
    width: 8.33333%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-1 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-2 {
    width: 16.66667%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-2 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-3 {
    width: 25%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-3 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-4 {
    width: 33.33333%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-4 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-5 {
    width: 41.66667%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-5 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-6 {
    width: 50%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-6 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-7 {
    width: 58.33333%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-7 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-8 {
    width: 66.66667%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-8 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-9 {
    width: 75%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-9 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-10 {
    width: 83.33333%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-10 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-11 {
    width: 91.66667%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-11 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-12 {
    width: 100%; }
@media screen and (max-width: 720px) {
    .umb-grid .row .column.col-md-12 {
        width: 100% !important; } }
.umb-grid .row .column.col-md-6 {
    width: 50%;
    box-sizing: border-box; }
.umb-grid .row .column img {
    width: 100%; }

.umb-grid blockquote {
    position: relative;
    background: #292F3D;
    margin: 0;
    padding: 16px 40px;
    box-sizing: border-box; }
.umb-grid blockquote:before {
    content: '"';
    position: absolute;
    top: 16px;
    left: 16px; }
.umb-grid blockquote:after {
    content: '"';
    position: absolute;
    right: 16px;
    bottom: 16px; }

.tags {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 16px 8px 16px 0;
    box-sizing: border-box;
    cursor: text;
    background-color: #101116;
    position: relative; }
.tags img.tag-icon {
    height: 24px;
    transform: rotate(-45deg);
    margin-left: 8px; }
.tags .tag-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    border: 1px solid #292F3D;
    width: 100%;
    min-height: 3em;
    box-sizing: border-box;
    margin-top: 1em;
    cursor: default;
    background-color: #1C1D26;
    padding: 0.5em 0.2em; }
.tags .tag-container .tag {
    margin-left: 6px;
    background-color: #101116;
    padding: 4px 26px 4px 8px;
    position: relative;
    cursor: pointer;
    align-self: center;
    margin: 0.25em;
    border-radius: 1em; }
.tags .tag-container .tag:hover {
    box-shadow: 0 0 20px rgba(230, 234, 255, 0.1); }
.tags .tag-container .tag:after {
    content: '';
    position: absolute;
    right: 10px;
    top: 12px;
    height: 8px;
    width: 8px;
    background: url("/nse/img/cancel.svg");
    background-size: contain; }
.tags .tag-input-container {
    border: 1px solid #292F3D;
    background-color: #1C1D26;
    display: flex;
    align-items: center;
    width: 100%;
    box-sizing: border-box; }
.tags .tag-input-container input {
    color: #ffffff;
    background-color: #1C1D26;
    border: none;
    outline: none;
    margin-left: 12px !important;
    padding: 0; }
.tags .tags-typeahead {
    position: absolute;
    top: 54px;
    background: #252734;
    padding: 8px;
    box-sizing: border-box;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    z-index: 1000; }
.tags .tags-typeahead .tags-typeahead-result {
    padding: 4px 8px;
    cursor: pointer;
    border-bottom: 1px solid #1a1c25; }
.tags .tags-typeahead .tags-typeahead-result:last-of-type {
    border-bottom: none; }
.tags .tags-typeahead .tags-typeahead-result:hover {
    background-color: #292F3D; }

.news-article-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
    grid-gap: 1em;
    width: 100%; }

.news-article {
    overflow: hidden;
    background-color: #1c1d26;
    border: 1px solid #292F3D;
    display: flex;
    flex-direction: column;
    text-decoration: none;
    flex-grow: 1;
    flex-basis: calc(100% / 5); }
.news-article .news-article-logo-wrapper {
    position: relative;
    overflow: hidden; }
.news-article .news-article-logo-wrapper .news-article-logo {
    width: 100%;
    display: block; }
.news-article .news-article-logo-wrapper .news-article-logo-comments {
    position: absolute;
    top: 0;
    right: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.5em;
    z-index: 10;
    color: #E6EAFF; }
.news-article .news-article-logo-wrapper .news-article-logo-comments p {
    font-size: 0.8em;
    margin: 0 0.5em;
    text-shadow: 0 0 5px #000000; }
.news-article .news-article-logo-wrapper .news-article-logo-comments img {
    height: 1em;
    width: 1em; }
.news-article .news-article-logo-wrapper:before {
    content: '';
    top: -100%;
    right: -100%;
    position: absolute;
    height: 200%;
    width: 200%;
    z-index: 1; }
.news-article .news-article-body {
    flex-grow: 1;
    margin: 0.5em;
    display: flex;
    flex-direction: column;
    max-height: 11em;
    overflow: hidden;
    color: #E6EAFF; }
.news-article .news-article-body .news-article-title {
    text-align: center;
    font-size: 1.2em;
    font-weight: 400;
    margin: 0;
    color: #E6EAFF; }
.news-article .news-article-body .news-article-text {
    overflow: hidden;
    text-overflow: ellipsis;
    min-height: 10em;
    color: #E6EAFF;
    font-size: 14px;
    font-weight: 400;
    opacity: 0.6;
    margin-top: 0.2em;
    flex-grow: 1; }
.news-article .news-article-body .news-article-text p {
    margin-top: 0; }
.news-article .news-article-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #292F3D;
    padding: 0.4em;
    padding-bottom: calc(0.4em - 2px); }
.news-article .news-article-footer .news-article-author {
    display: flex;
    align-items: center; }
.news-article .news-article-footer .news-article-author .news-article-author-image {
    height: 2em;
    width: 2em;
    border-radius: 50%;
    background-color: #1c1d26;
    margin-right: 8px; }
.news-article .news-article-footer .news-article-author .news-article-author-image.author-image-nse {
    padding: 2px;
    box-sizing: border-box; }
.news-article .news-article-footer .news-article-author .news-article-author-name {
    color: #dddddd;
    font-size: 14px; }
.news-article .news-article-footer .news-article-time-ago {
    font-size: 14px;
    color: #E6EAFF; }

.news-article-small {
    overflow: hidden;
    background-color: #1c1d26;
    border: 1px solid #292F3D;
    display: flex;
    text-decoration: none;
    height: 7em; }
.news-article-small .news-article-logo-wrapper {
    overflow: hidden;
    width: 7em;
    min-width: 7em;
    position: relative; }
.news-article-small .news-article-logo-wrapper .news-article-logo {
    width: 7em;
    height: 7em; }
.news-article-small .news-article-logo-wrapper .news-article-logo-comments {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 0.5em 0.2em;
    z-index: 10;
    color: #E6EAFF; }
.news-article-small .news-article-logo-wrapper .news-article-logo-comments p {
    font-size: 0.8em;
    margin: 0 0.5em;
    text-shadow: 0 0 5px #000000; }
.news-article-small .news-article-logo-wrapper .news-article-logo-comments img {
    height: 1em;
    width: 1em; }
.news-article-small .news-article-logo-wrapper:before {
    content: '';
    top: -100%;
    right: -100%;
    position: absolute;
    height: 200%;
    width: 200%;
    z-index: 1; }
.news-article-small .news-article-body {
    flex-grow: 1;
    padding: 0.5em;
    display: flex;
    flex-direction: column;
    max-height: 11em;
    overflow: hidden;
    position: relative;
    color: #E6EAFF; }
.news-article-small .news-article-body .news-article-title {
    text-align: left;
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    color: #E6EAFF;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden;
    min-height: 1.4em; }
.news-article-small .news-article-body .news-article-text {
    color: #E6EAFF;
    font-size: 0.8em;
    font-weight: 400;
    opacity: 0.6;
    margin-top: 0.2em;
    flex: 1; }
.news-article-small .news-article-body .news-article-text p {
    margin-top: 0; }
.news-article-small .news-article-body .news-article-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: #292F3D;
    padding: 0.2em 0.3em;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0; }
.news-article-small .news-article-body .news-article-footer .news-article-author {
    display: flex;
    align-items: center; }
.news-article-small .news-article-body .news-article-footer .news-article-author .news-article-author-image {
    height: 1.2em;
    width: 1.2em;
    border-radius: 50%;
    background-color: #1c1d26;
    margin-right: 8px; }
.news-article-small .news-article-body .news-article-footer .news-article-author .news-article-author-name {
    color: #E6EAFF;
    font-size: 14px;
    font-size: 0.8em; }
.news-article-small .news-article-body .news-article-footer .news-article-time-ago {
    font-size: 0.8em;
    opacity: 0.8; }

.news-feed {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    min-height: 18em; }
.news-feed .news-feed-more {
    background-color: transparent;
    border: none;
    text-decoration: underline;
    padding: 0 1.5em;
    height: 2em;
    display: none; }
.news-feed .news-feed-more.show {
    display: block; }
.news-feed .loading {
    height: 2em;
    opacity: 0.6;
    display: none; }
.news-feed .loading.show {
    display: block; }
.news-feed .news-feed-row {
    width: 100%;
    display: flex;
    flex-direction: row;
    margin-bottom: 16px; }
@media screen and (max-width: 720px) {
    .news-feed .news-feed-row {
        flex-wrap: wrap; }
    .news-feed .news-feed-row .news-feed-featured {
        min-width: 100%;
        margin-bottom: 16px;
        flex-wrap: wrap; }
    .news-feed .news-feed-row .news-feed-featured .news-article {
        min-width: 100%;
        box-sizing: border-box;
        margin-bottom: 16px; }
    .news-feed .news-feed-row .news-feed-featured .news-article:last-of-type {
        margin-bottom: 0; } }
.news-feed .news-feed-featured {
    display: flex;
    flex-direction: row;
    width: calc(60% - 16px);
    min-width: calc(60% - 16px);
    margin-right: 16px; }
.news-feed .news-feed-other {
    display: flex;
    flex-direction: column;
    flex-grow: 1; }
.news-feed .news-feed-other .news-article {
    width: auto;
    margin-right: 0;
    margin-bottom: 16px;
    flex-grow: 1; }
.news-feed .news-feed-other .news-article:last-of-type {
    margin-bottom: 0; }
.news-feed .news-feed-other .news-article .news-article-logo-wrapper {
    display: none; }
.news-feed .news-feed-other .news-article .news-article-text {
    display: none; }
.news-feed .news-feed-other .news-article .news-article-footer {
    margin: 0; }
@media screen and (max-width: 720px) {
    .news-feed {
        flex-wrap: wrap; }
    .news-feed .news-feed-featured {
        min-width: 100%;
        margin-bottom: 16px;
        flex-wrap: wrap; }
    .news-feed .news-feed-featured .news-article {
        min-width: 100%;
        box-sizing: border-box;
        margin-bottom: 16px; }
    .news-feed .news-feed-featured .news-article:last-of-type {
        margin-bottom: 0; } }
.news-feed .news-feed-main {
    width: 100%;
    max-width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-gap: 16px; }
.news-feed .news-feed-main .news-article {
    width: 100%;
    max-width: 100%;
    margin: 0;
    box-sizing: border-box; }
.news-feed.light .news-article {
    background-color: #ffffff;
    color: #000000; }
.news-feed.light .news-article .news-article-author > .news-article-author-name {
    color: #000000; }

.news-feed-page-info-container {
    display: flex;
    flex-direction: row;
    justify-content: center;
    flex-direction: column;
    align-self: center;
    margin-top: 1em; }
.news-feed-page-info-container .news-feed-page-info-info {
    text-align: center; }
.news-feed-page-info-container .news-feed-page-info {
    text-align: center;
    margin: 8px 0 0 0;
    overflow: visible;
    display: flex;
    justify-content: center; }
.news-feed-page-info-container .news-feed-page-info .news-feed-page-info-back {
    width: 12px;
    transform: rotate(180deg);
    background-color: #101116;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 4px;
    cursor: pointer; }
.news-feed-page-info-container .news-feed-page-info .news-feed-page-info-back img {
    width: 12px; }
.news-feed-page-info-container .news-feed-page-info .news-feed-page-info-forward {
    width: 12px;
    background-color: #101116;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 0 4px;
    cursor: pointer; }
.news-feed-page-info-container .news-feed-page-info .news-feed-page-info-forward img {
    width: 12px; }
.news-feed-page-info-container .news-feed-page-info .news-feed-page-info-pages {
    padding: 4px 0;
    display: flex;
    flex-direction: row;
    background-color: #101116; }
.news-feed-page-info-container .news-feed-page-info .news-feed-page-info-pages .news-feed-page-info-page {
    box-sizing: border-box;
    padding: 0.2em 0.5em;
    text-decoration: none;
    cursor: pointer; }
.news-feed-page-info-container .news-feed-page-info .news-feed-page-info-pages .news-feed-page-info-page.active {
    border-bottom: 2px solid #ffffff;
    cursor: auto; }

/* used on the individual news article*/
.news-panel {
    background: #1C1D26;
    color: #ffffff;
    font-size: 14px;
    padding: 1.6em; }
.news-panel .article-banner {
    position: relative; }
.news-panel .article-banner img {
    width: 100%; }
.news-panel .article-banner button#deleteArticle {
    position: absolute;
    right: 4px;
    bottom: 10px; }
.news-panel .article-banner button#deleteArticle.no-img {
    position: relative;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: -3em;
    right: 0;
    bottom: 0; }
.news-panel .author-details {
    font-weight: 300; }
.news-panel .author-details .num-comments {
    flex-grow: 0;
    white-space: nowrap; }
.news-panel .author-details .author-logos img {
    width: 24px;
    height: 24px;
    border-radius: 100%; }
.news-panel .article-headline {
    text-align: center;
    font-weight: 700;
    font-size: 2.2em; }
.news-panel .article-body {
    text-align: justify;
    font-weight: 400;
    padding: 0 16%;
    font-size: 1.2em; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .news-panel .article-body {
        padding: 0; } }
.news-panel .report-content {
    font-weight: 300;
    color: rgba(255, 0, 0, 0.8);
    text-align: center;
    cursor: pointer; }
.news-panel .report-content .report-article {
    text-shadow: 0.025em 0.025em rgba(255, 255, 255, 0.4); }
.news-panel .report-content .in-moderation {
    color: #ffffff; }
.news-panel .report-content .moderated {
    color: #ffffff; }
.news-panel .report-content .in-moderation, .news-panel .report-content .moderated {
    padding: 4px 10px;
    border-radius: 4px;
    cursor: default; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .news-panel {
        padding: 0.6em; }
    .news-panel .article-headline {
        font-size: 1.4em; }
    .news-panel .author-details {
        font-size: 0.8em; }
    .news-panel .author-details span {
        margin-bottom: 0.4em; }
    .news-panel .report-content .in-moderation, .news-panel .report-content .moderated {
        padding: 0; } }

.news-comments-more a, .num-comments a {
    color: #00bfe9;
    cursor: pointer; }

.news-new-comment textarea, .news-report-content textarea {
    width: 99.4% !important;
    height: 150px !important;
    resize: none; }
.news-new-comment textarea::-webkit-input-placeholder, .news-report-content textarea::-webkit-input-placeholder {
    line-height: 150px; }

.news-new-comment .add-comment-container, .news-report-content .add-comment-container {
    display: flex;
    justify-content: flex-end; }

.news-new-comment span.field-validation-error {
    color: #ffffff; }

.news-comments {
    padding-top: 2em; }
.news-comments .news-comment {
    margin-bottom: 8px;
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    flex-direction: row; }
.news-comments .news-comment .member-logo-wrapper {
    height: 75px;
    margin-right: 8px;
    padding: 4px;
    max-width: 75px;
    background: linear-gradient(to bottom, #ffc800 0%, #ff1577 100%);
    border-radius: 100%; }
.news-comments .news-comment .member-logo-wrapper .member-logo {
    height: 100%;
    border-radius: 100%;
    background-color: #101116; }
.news-comments .news-comment .member-logo-wrapper .member-logo img {
    width: 100%; }
@media screen and (max-width: 1080px) {
    .news-comments .news-comment .member-logo-wrapper {
        height: 48px;
        max-width: 48px;
        margin-right: 6px;
        padding: 3px; } }
@media screen and (max-width: 720px) {
    .news-comments .news-comment .member-logo-wrapper {
        height: 32px;
        max-width: 32px;
        margin-right: 4px;
        padding: 2px; } }
.news-comments .news-comment .news-comment-body {
    position: relative;
    padding-top: 4px;
    padding-right: 8px; }
@media screen and (max-width: 1080px) {
    .news-comments .news-comment .news-comment-body {
        padding-top: 0; } }
@media screen and (max-width: 720px) {
    .news-comments .news-comment .news-comment-body {
        padding-left: 1em;
        padding-top: 0; } }
.news-comments .news-comment .news-comment-body .author-container {
    justify-content: space-between;
    white-space: nowrap; }
.news-comments .news-comment .news-comment-body .author {
    font-size: 1.1em; }
.news-comments .news-comment .news-comment-body .posted-date {
    font-size: 0.8em;
    font-weight: 400; }
.news-comments .news-comment .news-comment-body .text {
    font-size: 14px;
    padding-bottom: 2em;
    box-sizing: border-box;
    text-align: justify;
    word-break: break-word; }
.news-comments .news-comment .news-comment-body .text p {
    margin: 0 0 8px 0; }
.news-comments .news-comment .news-comment-body .divide {
    border-bottom: 0.05em solid #ccc;
    margin-left: -30px; }
.news-comments .news-comment .news-comment-body .report-comment {
    font-weight: 300;
    color: #C3272B;
    text-align: right;
    cursor: pointer; }
.news-comments .news-comment .news-comment-body .report-comment img {
    height: 1.4em;
    margin-right: 2em; }
@media screen and (max-width: 720px) {
    .news-comments .news-comment .news-comment-body .report-comment img {
        margin-right: 1em; } }
.news-comments .news-comment .news-comment-body .in-moderation {
    background-color: #ffc800;
    color: #000000; }
.news-comments .news-comment .news-comment-body .moderated {
    color: #b3b3b3; }
.news-comments .news-comment .news-comment-body .in-moderation, .news-comments .news-comment .news-comment-body .moderated {
    padding: 4px 10px;
    cursor: default;
    text-align: right; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .news-comments .news-comment .news-comment-body {
        margin-bottom: 0; }
    .news-comments .news-comment .news-comment-body .author {
        font-size: 14px; }
    .news-comments .news-comment .news-comment-body .text {
        padding-bottom: 0.4em; }
    .news-comments .news-comment .news-comment-body .in-moderation, .news-comments .news-comment .news-comment-body .moderated {
        padding: 0; } }
.news-comments .news-comment:not(:first-of-type) {
    padding-top: 1em; }
.news-comments .news-comment:last-of-type {
    margin-bottom: 0; }
.news-comments .news-comment:last-of-type .divide {
    border-bottom: none; }

.news-complaint-reasons {
    display: flex;
    font-size: 0.8em;
    justify-content: space-between;
    width: 100%;
    text-align: left; }

[data-tabs] {
    width: 100%; }
[data-tabs] nav {
    margin-bottom: 0.5em; }
[data-tabs] nav ul {
    list-style: none;
    display: flex;
    margin: 0;
    justify-content: center;
    position: relative;
    flex-wrap: wrap; }
[data-tabs] nav ul li.active {
    border-bottom: 1px solid #E6EAFF;
}
[data-tabs] a {
    color: #E6EAFF;
}
[data-tabs] nav ul li {
    font-size: 14px;
    padding: 0.5em 2em;
    text-transform: uppercase;
    cursor: pointer;
    z-index: 1; }
[data-tabs] nav ul .tab-indicator {
    height: 1px;
    min-width: 20px;
    background-color: #E6EAFF;
    position: absolute;
    bottom: 0;
    left: 0;
    transition: transform 200ms ease-in-out;
    transform-origin: left; }
[data-tabs] nav select {
    width: 100%;
    color: #E6EAFF;
    background-color: #252a37;
    border: none;
    font-size: 14px;
    padding: 0.5em;
    outline: none;
    text-transform: uppercase; }
[data-tabs] nav .plain-select {
    display: none; }
[data-tabs] nav .plain-select:after {
    display: none; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    [data-tabs] nav ul {
        display: none; }
    [data-tabs] nav .plain-select {
        display: inline-block; }
    [data-tabs] nav .plain-select:after {
        display: block; }
    [data-tabs] nav select {
        display: block; } }
[data-tabs] .tab {
    width: 100%;
    display: none;
    position: relative;
    box-sizing: border-box; }
[data-tabs] .tab.active {
    display: inherit; }

[data-tabs-target].active {
    color: #E6EAFF !important;
    border-bottom: 2px solid #E6EAFF; }

[data-src="twitch"] {
    display: flex;
    flex-direction: column;
    min-height: 5em;
    justify-content: center; }
[data-src="twitch"] .loading {
    height: 2em;
    align-self: center;
    opacity: 0.6; }

.twitch-streamers {
    position: relative; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control {
    width: 1.5em;
    height: calc(100% - 2px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    cursor: pointer;
    background-color: #1C1D26;
    border: 1px solid #292F3D;
    z-index: 10;
    position: relative;
    overflow: hidden;
    position: absolute; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control:after {
    content: '';
    width: 100px;
    height: 100px;
    position: absolute;
    background-color: rgba(230, 234, 255, 0.3);
    border-radius: 50%;
    transform: scale(1);
    opacity: 0;
    transition: all 700ms ease;
    left: -40px;
    z-index: -1; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control:active:after {
    transform: scale(0);
    opacity: 1;
    transition: 0s; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control img {
    display: block;
    align-self: center;
    object-fit: contain; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control.disabled {
    cursor: not-allowed; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control.disabled img {
    opacity: 0.2; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control.twitch-streamers-control-left {
    left: 0; }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control.twitch-streamers-control-left img {
    transform: rotate(180deg); }
.twitch-streamers .twitch-streamers-controls .twitch-streamers-control.twitch-streamers-control-right {
    right: 0; }
.twitch-streamers .twitch-streamers-pages {
    display: flex;
    overflow: hidden; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page {
    display: flex;
    min-width: 100%;
    padding: 0 2em;
    box-sizing: border-box;
    transition: transform 200ms ease; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer {
    font-size: 0.8em;
    border: 1px solid #292F3D;
    background-color: #1C1D26;
    display: flex;
    flex-direction: row;
    text-decoration: none;
    overflow: hidden;
    width: 100%;
    margin-right: 0.5em;
    max-width: 400px; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer {
        max-width: 100%; } }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer:last-of-type {
    margin-right: 0; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-image-wrapper {
    height: 8em;
    width: 8em;
    min-height: 8em;
    min-width: 8em;
    overflow: hidden;
    position: relative; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-image-wrapper .twitch-streamer-image {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: center; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-image-wrapper .twitch-streamer-status {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0.2em;
    background-color: rgba(0, 0, 0, 0.5);
    padding: 0 0.5em;
    border-radius: 10%;
    display: flex;
    align-items: center;
    display: none;
    color: #E6EAFF; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-image-wrapper .twitch-streamer-status::before {
    content: ' ';
    background-color: #C3272B;
    width: 8px;
    height: 8px;
    margin-right: 0.4em;
    border-radius: 100%;
    display: inline-block; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-image-wrapper .twitch-streamer-status.online {
    display: block; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    color: #E6EAFF;
    overflow: hidden; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-details {
    position: relative;
    padding: 0.2em 2em 0.2em 0.5em;
    box-sizing: border-box;
    flex-grow: 1;
    overflow: hidden; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-details .twitch-streamer-game-title {
    margin: 0;
    font-weight: 400;
    font-size: 1.2em;
    white-space: nowrap;
    overflow: hidden;
    box-sizing: border-box;
    text-overflow: ellipsis;
    white-space: nowrap; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-details .twitch-streamer-name {
    margin: 0;
    font-weight: 400;
    font-size: 1.4em;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-details .twitch-streamer-viewers {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    display: flex;
    align-items: center; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-details .twitch-streamer-viewers::before {
    content: '';
    width: 15px;
    height: 15px;
    display: inline-block;
    margin-right: 0.5em;
    background-image: url("/nse/img/eye.svg");
    background-size: contain; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-details .twitch-streamer-logo {
    position: absolute;
    top: 0.5em;
    right: 0.5em;
    height: 1.5em;
    width: 1.5em; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-footer {
    background-color: #292F3D;
    padding: 0 0.5em; }
.twitch-streamers .twitch-streamers-pages .twitch-streamers-page .twitch-streamer .twitch-streamer-body .twitch-streamer-footer .twitch-streamer-uni {
    margin: 0;
    font-weight: 400; }

.content-spot {
    margin-top: 16px;
    flex-grow: 1;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    min-height: 100px; }

.achievement-panel {
    display: flex;
    flex-direction: row;
    position: relative;
    background-color: #1C1D26;
    border: 1px solid #292F3D;
    margin-left: 0;
    overflow-y: hidden; }
.achievement-panel .carousel-page {
    padding: 0 !important; }
.achievement-panel .carousel-page-row {
    flex-wrap: nowrap !important; }
.achievement-panel .carousel-page-item {
    padding: 0 !important;
    flex-direction: row;
    width: 100%; }
.achievement-panel .achievement {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    box-sizing: border-box; }
.achievement-panel .achievement .achievement-details {
    background-color: #292F3D;
    width: 100%;
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    padding: 0.3em 0; }
.achievement-panel .achievement .achievement-details h1.achievement-name {
    font-weight: 300;
    margin: 0;
    text-align: center;
    background-color: #292F3D;
    width: 100%;
    padding: 0 0.5em;
    box-sizing: border-box;
    padding-bottom: 0.2em;
    font-size: 14px; }
.achievement-panel .achievement .achievement-details small.achievement-description {
    color: rgba(230, 234, 255, 0.6);
    text-align: center;
    font-size: 0.8em;
    background-color: #292F3D;
    width: 100%;
    flex-grow: 1;
    padding: 0 0.5em;
    box-sizing: border-box;
    padding-bottom: 0.2em; }
.achievement-panel .achievement img.achievement-image {
    height: 6em;
    padding: 1em; }

a {
    text-decoration: none !important;
    color: #00bfe9;
    cursor: pointer; }

.content {
    margin-top: 8px;
    padding-bottom: 1em;
    box-sizing: border-box;
    padding-left: 3em;
    padding-right: 3em; }
@media screen and (max-width: 720px) {
    .content {
        margin-left: -2em;
        margin-right: -2em; } }

.centered {
    display: flex;
    flex-direction: column;
    align-items: center; }

.brl0 {
    height: 0rem; }

.padding-all-0 {
    padding: 0rem !important; }

.padding-t0 {
    padding-top: 0rem !important; }

.padding-r0 {
    padding-right: 0rem !important; }

.padding-b0 {
    padding-bottom: 0rem !important; }

.padding-l0 {
    padding-left: 0rem !important; }

.margin-all-0 {
    margin: 0rem !important; }

.margin-t0 {
    margin-top: 0rem !important; }

.margin-r0 {
    margin-right: 0rem !important; }

.margin-b0 {
    margin-bottom: 0rem !important; }

.margin-l0 {
    margin-left: 0rem !important; }

.margin-t-0 {
    margin-top: 0px !important; }

.margin-r-0 {
    margin-right: 0px !important; }

.margin-b-0 {
    margin-bottom: 0px !important; }

.margin-l-0 {
    margin-left: 0px !important; }

.brl4 {
    height: 0.25rem; }

.padding-all-4 {
    padding: 0.25rem !important; }

.padding-t4 {
    padding-top: 0.25rem !important; }

.padding-r4 {
    padding-right: 0.25rem !important; }

.padding-b4 {
    padding-bottom: 0.25rem !important; }

.padding-l4 {
    padding-left: 0.25rem !important; }

.margin-all-4 {
    margin: 0.25rem !important; }

.margin-t4 {
    margin-top: 0.25rem !important; }

.margin-r4 {
    margin-right: 0.25rem !important; }

.margin-b4 {
    margin-bottom: 0.25rem !important; }

.margin-l4 {
    margin-left: 0.25rem !important; }

.margin-t-4 {
    margin-top: -4px !important; }

.margin-r-4 {
    margin-right: -4px !important; }

.margin-b-4 {
    margin-bottom: -4px !important; }

.margin-l-4 {
    margin-left: -4px !important; }

.brl6 {
    height: 0.375rem; }

.padding-all-6 {
    padding: 0.375rem !important; }

.padding-t6 {
    padding-top: 0.375rem !important; }

.padding-r6 {
    padding-right: 0.375rem !important; }

.padding-b6 {
    padding-bottom: 0.375rem !important; }

.padding-l6 {
    padding-left: 0.375rem !important; }

.margin-all-6 {
    margin: 0.375rem !important; }

.margin-t6 {
    margin-top: 0.375rem !important; }

.margin-r6 {
    margin-right: 0.375rem !important; }

.margin-b6 {
    margin-bottom: 0.375rem !important; }

.margin-l6 {
    margin-left: 0.375rem !important; }

.margin-t-6 {
    margin-top: -6px !important; }

.margin-r-6 {
    margin-right: -6px !important; }

.margin-b-6 {
    margin-bottom: -6px !important; }

.margin-l-6 {
    margin-left: -6px !important; }

.brl8 {
    height: 0.5rem; }

.padding-all-8 {
    padding: 0.5rem !important; }

.padding-t8 {
    padding-top: 0.5rem !important; }

.padding-r8 {
    padding-right: 0.5rem !important; }

.padding-b8 {
    padding-bottom: 0.5rem !important; }

.padding-l8 {
    padding-left: 0.5rem !important; }

.margin-all-8 {
    margin: 0.5rem !important; }

.margin-t8 {
    margin-top: 0.5rem !important; }

.margin-r8 {
    margin-right: 0.5rem !important; }

.margin-b8 {
    margin-bottom: 0.5rem !important; }

.margin-l8 {
    margin-left: 0.5rem !important; }

.margin-t-8 {
    margin-top: -8px !important; }

.margin-r-8 {
    margin-right: -8px !important; }

.margin-b-8 {
    margin-bottom: -8px !important; }

.margin-l-8 {
    margin-left: -8px !important; }

.brl12 {
    height: 0.75rem; }

.padding-all-12 {
    padding: 0.75rem !important; }

.padding-t12 {
    padding-top: 0.75rem !important; }

.padding-r12 {
    padding-right: 0.75rem !important; }

.padding-b12 {
    padding-bottom: 0.75rem !important; }

.padding-l12 {
    padding-left: 0.75rem !important; }

.margin-all-12 {
    margin: 0.75rem !important; }

.margin-t12 {
    margin-top: 0.75rem !important; }

.margin-r12 {
    margin-right: 0.75rem !important; }

.margin-b12 {
    margin-bottom: 0.75rem !important; }

.margin-l12 {
    margin-left: 0.75rem !important; }

.margin-t-12 {
    margin-top: -12px !important; }

.margin-r-12 {
    margin-right: -12px !important; }

.margin-b-12 {
    margin-bottom: -12px !important; }

.margin-l-12 {
    margin-left: -12px !important; }

.brl16 {
    height: 1rem; }

.padding-all-16 {
    padding: 1rem !important; }

.padding-t16 {
    padding-top: 1rem !important; }

.padding-r16 {
    padding-right: 1rem !important; }

.padding-b16 {
    padding-bottom: 1rem !important; }

.padding-l16 {
    padding-left: 1rem !important; }

.margin-all-16 {
    margin: 1rem !important; }

.margin-t16 {
    margin-top: 1rem !important; }

.margin-r16 {
    margin-right: 1rem !important; }

.margin-b16 {
    margin-bottom: 1rem !important; }

.margin-l16 {
    margin-left: 1rem !important; }

.margin-t-16 {
    margin-top: -16px !important; }

.margin-r-16 {
    margin-right: -16px !important; }

.margin-b-16 {
    margin-bottom: -16px !important; }

.margin-l-16 {
    margin-left: -16px !important; }

.brl20 {
    height: 1.25rem; }

.padding-all-20 {
    padding: 1.25rem !important; }

.padding-t20 {
    padding-top: 1.25rem !important; }

.padding-r20 {
    padding-right: 1.25rem !important; }

.padding-b20 {
    padding-bottom: 1.25rem !important; }

.padding-l20 {
    padding-left: 1.25rem !important; }

.margin-all-20 {
    margin: 1.25rem !important; }

.margin-t20 {
    margin-top: 1.25rem !important; }

.margin-r20 {
    margin-right: 1.25rem !important; }

.margin-b20 {
    margin-bottom: 1.25rem !important; }

.margin-l20 {
    margin-left: 1.25rem !important; }

.margin-t-20 {
    margin-top: -20px !important; }

.margin-r-20 {
    margin-right: -20px !important; }

.margin-b-20 {
    margin-bottom: -20px !important; }

.margin-l-20 {
    margin-left: -20px !important; }

.brl24 {
    height: 1.5rem; }

.padding-all-24 {
    padding: 1.5rem !important; }

.padding-t24 {
    padding-top: 1.5rem !important; }

.padding-r24 {
    padding-right: 1.5rem !important; }

.padding-b24 {
    padding-bottom: 1.5rem !important; }

.padding-l24 {
    padding-left: 1.5rem !important; }

.margin-all-24 {
    margin: 1.5rem !important; }

.margin-t24 {
    margin-top: 1.5rem !important; }

.margin-r24 {
    margin-right: 1.5rem !important; }

.margin-b24 {
    margin-bottom: 1.5rem !important; }

.margin-l24 {
    margin-left: 1.5rem !important; }

.margin-t-24 {
    margin-top: -24px !important; }

.margin-r-24 {
    margin-right: -24px !important; }

.margin-b-24 {
    margin-bottom: -24px !important; }

.margin-l-24 {
    margin-left: -24px !important; }

.brl28 {
    height: 1.75rem; }

.padding-all-28 {
    padding: 1.75rem !important; }

.padding-t28 {
    padding-top: 1.75rem !important; }

.padding-r28 {
    padding-right: 1.75rem !important; }

.padding-b28 {
    padding-bottom: 1.75rem !important; }

.padding-l28 {
    padding-left: 1.75rem !important; }

.margin-all-28 {
    margin: 1.75rem !important; }

.margin-t28 {
    margin-top: 1.75rem !important; }

.margin-r28 {
    margin-right: 1.75rem !important; }

.margin-b28 {
    margin-bottom: 1.75rem !important; }

.margin-l28 {
    margin-left: 1.75rem !important; }

.margin-t-28 {
    margin-top: -28px !important; }

.margin-r-28 {
    margin-right: -28px !important; }

.margin-b-28 {
    margin-bottom: -28px !important; }

.margin-l-28 {
    margin-left: -28px !important; }

.brl32 {
    height: 2rem; }

.padding-all-32 {
    padding: 2rem !important; }

.padding-t32 {
    padding-top: 2rem !important; }

.padding-r32 {
    padding-right: 2rem !important; }

.padding-b32 {
    padding-bottom: 2rem !important; }

.padding-l32 {
    padding-left: 2rem !important; }

.margin-all-32 {
    margin: 2rem !important; }

.margin-t32 {
    margin-top: 2rem !important; }

.margin-r32 {
    margin-right: 2rem !important; }

.margin-b32 {
    margin-bottom: 2rem !important; }

.margin-l32 {
    margin-left: 2rem !important; }

.margin-t-32 {
    margin-top: -32px !important; }

.margin-r-32 {
    margin-right: -32px !important; }

.margin-b-32 {
    margin-bottom: -32px !important; }

.margin-l-32 {
    margin-left: -32px !important; }

.brl36 {
    height: 2.25rem; }

.padding-all-36 {
    padding: 2.25rem !important; }

.padding-t36 {
    padding-top: 2.25rem !important; }

.padding-r36 {
    padding-right: 2.25rem !important; }

.padding-b36 {
    padding-bottom: 2.25rem !important; }

.padding-l36 {
    padding-left: 2.25rem !important; }

.margin-all-36 {
    margin: 2.25rem !important; }

.margin-t36 {
    margin-top: 2.25rem !important; }

.margin-r36 {
    margin-right: 2.25rem !important; }

.margin-b36 {
    margin-bottom: 2.25rem !important; }

.margin-l36 {
    margin-left: 2.25rem !important; }

.margin-t-36 {
    margin-top: -36px !important; }

.margin-r-36 {
    margin-right: -36px !important; }

.margin-b-36 {
    margin-bottom: -36px !important; }

.margin-l-36 {
    margin-left: -36px !important; }

.brl40 {
    height: 2.5rem; }

.padding-all-40 {
    padding: 2.5rem !important; }

.padding-t40 {
    padding-top: 2.5rem !important; }

.padding-r40 {
    padding-right: 2.5rem !important; }

.padding-b40 {
    padding-bottom: 2.5rem !important; }

.padding-l40 {
    padding-left: 2.5rem !important; }

.margin-all-40 {
    margin: 2.5rem !important; }

.margin-t40 {
    margin-top: 2.5rem !important; }

.margin-r40 {
    margin-right: 2.5rem !important; }

.margin-b40 {
    margin-bottom: 2.5rem !important; }

.margin-l40 {
    margin-left: 2.5rem !important; }

.margin-t-40 {
    margin-top: -40px !important; }

.margin-r-40 {
    margin-right: -40px !important; }

.margin-b-40 {
    margin-bottom: -40px !important; }

.margin-l-40 {
    margin-left: -40px !important; }

.margin-t-auto {
    margin-top: auto; }

.margin-b-auto {
    margin-bottom: auto; }

.margin-l-auto {
    margin-left: auto; }

.margin-r-auto {
    margin-right: auto; }

@media screen and (max-width: 720px) {
    .margin-b-mobile-0 {
        margin-bottom: 0 !important; } }

.input-field-container {
    /* This is used on the /account/my-teams page */
    margin-left: auto;
    margin-right: auto;
    width: 100%; }
@media screen and (min-width: 1000px) {
    .input-field-container {
        width: 80%; } }
@media screen and (min-width: 1200px) {
    .input-field-container {
        width: 65%; } }
@media screen and (min-width: 1400px) {
    .input-field-container {
        width: 60%; } }

.flex-grow {
    flex-grow: 1; }

.flex-wrap {
    flex-wrap: wrap !important; }

.flex-h {
    display: flex;
    flex-direction: row;
    max-width: 100%; }
.flex-h.flex-gap-0 > * {
    margin-right: 0px; }
.flex-h.flex-gap-0 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-1 > * {
    margin-right: 1px; }
.flex-h.flex-gap-1 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-2 > * {
    margin-right: 2px; }
.flex-h.flex-gap-2 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-3 > * {
    margin-right: 3px; }
.flex-h.flex-gap-3 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-4 > * {
    margin-right: 4px; }
.flex-h.flex-gap-4 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-5 > * {
    margin-right: 5px; }
.flex-h.flex-gap-5 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-6 > * {
    margin-right: 6px; }
.flex-h.flex-gap-6 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-7 > * {
    margin-right: 7px; }
.flex-h.flex-gap-7 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-8 > * {
    margin-right: 8px; }
.flex-h.flex-gap-8 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-9 > * {
    margin-right: 9px; }
.flex-h.flex-gap-9 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-10 > * {
    margin-right: 10px; }
.flex-h.flex-gap-10 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-11 > * {
    margin-right: 11px; }
.flex-h.flex-gap-11 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-12 > * {
    margin-right: 12px; }
.flex-h.flex-gap-12 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-13 > * {
    margin-right: 13px; }
.flex-h.flex-gap-13 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-14 > * {
    margin-right: 14px; }
.flex-h.flex-gap-14 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-15 > * {
    margin-right: 15px; }
.flex-h.flex-gap-15 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-16 > * {
    margin-right: 16px; }
.flex-h.flex-gap-16 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-17 > * {
    margin-right: 17px; }
.flex-h.flex-gap-17 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-18 > * {
    margin-right: 18px; }
.flex-h.flex-gap-18 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-19 > * {
    margin-right: 19px; }
.flex-h.flex-gap-19 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-20 > * {
    margin-right: 20px; }
.flex-h.flex-gap-20 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-21 > * {
    margin-right: 21px; }
.flex-h.flex-gap-21 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-22 > * {
    margin-right: 22px; }
.flex-h.flex-gap-22 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-23 > * {
    margin-right: 23px; }
.flex-h.flex-gap-23 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-24 > * {
    margin-right: 24px; }
.flex-h.flex-gap-24 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-25 > * {
    margin-right: 25px; }
.flex-h.flex-gap-25 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-26 > * {
    margin-right: 26px; }
.flex-h.flex-gap-26 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-27 > * {
    margin-right: 27px; }
.flex-h.flex-gap-27 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-28 > * {
    margin-right: 28px; }
.flex-h.flex-gap-28 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-29 > * {
    margin-right: 29px; }
.flex-h.flex-gap-29 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-30 > * {
    margin-right: 30px; }
.flex-h.flex-gap-30 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-31 > * {
    margin-right: 31px; }
.flex-h.flex-gap-31 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-32 > * {
    margin-right: 32px; }
.flex-h.flex-gap-32 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-33 > * {
    margin-right: 33px; }
.flex-h.flex-gap-33 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-34 > * {
    margin-right: 34px; }
.flex-h.flex-gap-34 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-35 > * {
    margin-right: 35px; }
.flex-h.flex-gap-35 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-36 > * {
    margin-right: 36px; }
.flex-h.flex-gap-36 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-37 > * {
    margin-right: 37px; }
.flex-h.flex-gap-37 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-38 > * {
    margin-right: 38px; }
.flex-h.flex-gap-38 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-39 > * {
    margin-right: 39px; }
.flex-h.flex-gap-39 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-40 > * {
    margin-right: 40px; }
.flex-h.flex-gap-40 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-41 > * {
    margin-right: 41px; }
.flex-h.flex-gap-41 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-42 > * {
    margin-right: 42px; }
.flex-h.flex-gap-42 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-43 > * {
    margin-right: 43px; }
.flex-h.flex-gap-43 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-44 > * {
    margin-right: 44px; }
.flex-h.flex-gap-44 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-45 > * {
    margin-right: 45px; }
.flex-h.flex-gap-45 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-46 > * {
    margin-right: 46px; }
.flex-h.flex-gap-46 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-47 > * {
    margin-right: 47px; }
.flex-h.flex-gap-47 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-48 > * {
    margin-right: 48px; }
.flex-h.flex-gap-48 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-49 > * {
    margin-right: 49px; }
.flex-h.flex-gap-49 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-50 > * {
    margin-right: 50px; }
.flex-h.flex-gap-50 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-51 > * {
    margin-right: 51px; }
.flex-h.flex-gap-51 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-52 > * {
    margin-right: 52px; }
.flex-h.flex-gap-52 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-53 > * {
    margin-right: 53px; }
.flex-h.flex-gap-53 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-54 > * {
    margin-right: 54px; }
.flex-h.flex-gap-54 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-55 > * {
    margin-right: 55px; }
.flex-h.flex-gap-55 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-56 > * {
    margin-right: 56px; }
.flex-h.flex-gap-56 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-57 > * {
    margin-right: 57px; }
.flex-h.flex-gap-57 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-58 > * {
    margin-right: 58px; }
.flex-h.flex-gap-58 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-59 > * {
    margin-right: 59px; }
.flex-h.flex-gap-59 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-60 > * {
    margin-right: 60px; }
.flex-h.flex-gap-60 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-61 > * {
    margin-right: 61px; }
.flex-h.flex-gap-61 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-62 > * {
    margin-right: 62px; }
.flex-h.flex-gap-62 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-63 > * {
    margin-right: 63px; }
.flex-h.flex-gap-63 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-64 > * {
    margin-right: 64px; }
.flex-h.flex-gap-64 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-65 > * {
    margin-right: 65px; }
.flex-h.flex-gap-65 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-66 > * {
    margin-right: 66px; }
.flex-h.flex-gap-66 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-67 > * {
    margin-right: 67px; }
.flex-h.flex-gap-67 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-68 > * {
    margin-right: 68px; }
.flex-h.flex-gap-68 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-69 > * {
    margin-right: 69px; }
.flex-h.flex-gap-69 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-70 > * {
    margin-right: 70px; }
.flex-h.flex-gap-70 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-71 > * {
    margin-right: 71px; }
.flex-h.flex-gap-71 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-72 > * {
    margin-right: 72px; }
.flex-h.flex-gap-72 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-73 > * {
    margin-right: 73px; }
.flex-h.flex-gap-73 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-74 > * {
    margin-right: 74px; }
.flex-h.flex-gap-74 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-75 > * {
    margin-right: 75px; }
.flex-h.flex-gap-75 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-76 > * {
    margin-right: 76px; }
.flex-h.flex-gap-76 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-77 > * {
    margin-right: 77px; }
.flex-h.flex-gap-77 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-78 > * {
    margin-right: 78px; }
.flex-h.flex-gap-78 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-79 > * {
    margin-right: 79px; }
.flex-h.flex-gap-79 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-80 > * {
    margin-right: 80px; }
.flex-h.flex-gap-80 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-81 > * {
    margin-right: 81px; }
.flex-h.flex-gap-81 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-82 > * {
    margin-right: 82px; }
.flex-h.flex-gap-82 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-83 > * {
    margin-right: 83px; }
.flex-h.flex-gap-83 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-84 > * {
    margin-right: 84px; }
.flex-h.flex-gap-84 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-85 > * {
    margin-right: 85px; }
.flex-h.flex-gap-85 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-86 > * {
    margin-right: 86px; }
.flex-h.flex-gap-86 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-87 > * {
    margin-right: 87px; }
.flex-h.flex-gap-87 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-88 > * {
    margin-right: 88px; }
.flex-h.flex-gap-88 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-89 > * {
    margin-right: 89px; }
.flex-h.flex-gap-89 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-90 > * {
    margin-right: 90px; }
.flex-h.flex-gap-90 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-91 > * {
    margin-right: 91px; }
.flex-h.flex-gap-91 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-92 > * {
    margin-right: 92px; }
.flex-h.flex-gap-92 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-93 > * {
    margin-right: 93px; }
.flex-h.flex-gap-93 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-94 > * {
    margin-right: 94px; }
.flex-h.flex-gap-94 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-95 > * {
    margin-right: 95px; }
.flex-h.flex-gap-95 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-96 > * {
    margin-right: 96px; }
.flex-h.flex-gap-96 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-97 > * {
    margin-right: 97px; }
.flex-h.flex-gap-97 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-98 > * {
    margin-right: 98px; }
.flex-h.flex-gap-98 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-99 > * {
    margin-right: 99px; }
.flex-h.flex-gap-99 > *:last-of-type {
    margin-right: 0; }
.flex-h.flex-gap-100 > * {
    margin-right: 100px; }
.flex-h.flex-gap-100 > *:last-of-type {
    margin-right: 0; }
.flex-h.reverse {
    flex-direction: row-reverse; }
.flex-h.flex-center {
    justify-content: center; }
.flex-h .flex-w-0 {
    width: 0%;
    max-width: 0%;
    min-width: 0%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-0 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-1 {
    width: 1%;
    max-width: 1%;
    min-width: 1%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-1 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-2 {
    width: 2%;
    max-width: 2%;
    min-width: 2%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-2 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-3 {
    width: 3%;
    max-width: 3%;
    min-width: 3%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-3 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-4 {
    width: 4%;
    max-width: 4%;
    min-width: 4%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-4 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-5 {
    width: 5%;
    max-width: 5%;
    min-width: 5%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-5 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-6 {
    width: 6%;
    max-width: 6%;
    min-width: 6%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-6 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-7 {
    width: 7%;
    max-width: 7%;
    min-width: 7%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-7 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-8 {
    width: 8%;
    max-width: 8%;
    min-width: 8%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-8 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-9 {
    width: 9%;
    max-width: 9%;
    min-width: 9%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-9 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-10 {
    width: 10%;
    max-width: 10%;
    min-width: 10%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-10 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-11 {
    width: 11%;
    max-width: 11%;
    min-width: 11%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-11 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-12 {
    width: 12%;
    max-width: 12%;
    min-width: 12%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-12 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-13 {
    width: 13%;
    max-width: 13%;
    min-width: 13%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-13 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-14 {
    width: 14%;
    max-width: 14%;
    min-width: 14%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-14 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-15 {
    width: 15%;
    max-width: 15%;
    min-width: 15%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-15 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-16 {
    width: 16%;
    max-width: 16%;
    min-width: 16%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-16 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-17 {
    width: 17%;
    max-width: 17%;
    min-width: 17%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-17 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-18 {
    width: 18%;
    max-width: 18%;
    min-width: 18%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-18 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-19 {
    width: 19%;
    max-width: 19%;
    min-width: 19%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-19 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-20 {
    width: 20%;
    max-width: 20%;
    min-width: 20%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-20 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-21 {
    width: 21%;
    max-width: 21%;
    min-width: 21%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-21 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-22 {
    width: 22%;
    max-width: 22%;
    min-width: 22%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-22 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-23 {
    width: 23%;
    max-width: 23%;
    min-width: 23%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-23 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-24 {
    width: 24%;
    max-width: 24%;
    min-width: 24%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-24 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-25 {
    width: 25%;
    max-width: 25%;
    min-width: 25%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-25 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-26 {
    width: 26%;
    max-width: 26%;
    min-width: 26%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-26 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-27 {
    width: 27%;
    max-width: 27%;
    min-width: 27%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-27 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-28 {
    width: 28%;
    max-width: 28%;
    min-width: 28%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-28 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-29 {
    width: 29%;
    max-width: 29%;
    min-width: 29%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-29 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-30 {
    width: 30%;
    max-width: 30%;
    min-width: 30%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-30 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-31 {
    width: 31%;
    max-width: 31%;
    min-width: 31%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-31 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-32 {
    width: 32%;
    max-width: 32%;
    min-width: 32%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-32 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-33 {
    width: 33%;
    max-width: 33%;
    min-width: 33%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-33 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-34 {
    width: 34%;
    max-width: 34%;
    min-width: 34%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-34 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-35 {
    width: 35%;
    max-width: 35%;
    min-width: 35%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-35 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-36 {
    width: 36%;
    max-width: 36%;
    min-width: 36%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-36 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-37 {
    width: 37%;
    max-width: 37%;
    min-width: 37%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-37 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-38 {
    width: 38%;
    max-width: 38%;
    min-width: 38%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-38 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-39 {
    width: 39%;
    max-width: 39%;
    min-width: 39%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-39 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-40 {
    width: 40%;
    max-width: 40%;
    min-width: 40%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-40 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-41 {
    width: 41%;
    max-width: 41%;
    min-width: 41%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-41 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-42 {
    width: 42%;
    max-width: 42%;
    min-width: 42%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-42 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-43 {
    width: 43%;
    max-width: 43%;
    min-width: 43%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-43 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-44 {
    width: 44%;
    max-width: 44%;
    min-width: 44%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-44 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-45 {
    width: 45%;
    max-width: 45%;
    min-width: 45%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-45 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-46 {
    width: 46%;
    max-width: 46%;
    min-width: 46%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-46 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-47 {
    width: 47%;
    max-width: 47%;
    min-width: 47%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-47 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-48 {
    width: 48%;
    max-width: 48%;
    min-width: 48%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-48 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-49 {
    width: 49%;
    max-width: 49%;
    min-width: 49%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-49 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-50 {
    width: 50%;
    max-width: 50%;
    min-width: 50%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-50 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-51 {
    width: 51%;
    max-width: 51%;
    min-width: 51%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-51 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-52 {
    width: 52%;
    max-width: 52%;
    min-width: 52%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-52 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-53 {
    width: 53%;
    max-width: 53%;
    min-width: 53%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-53 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-54 {
    width: 54%;
    max-width: 54%;
    min-width: 54%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-54 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-55 {
    width: 55%;
    max-width: 55%;
    min-width: 55%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-55 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-56 {
    width: 56%;
    max-width: 56%;
    min-width: 56%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-56 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-57 {
    width: 57%;
    max-width: 57%;
    min-width: 57%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-57 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-58 {
    width: 58%;
    max-width: 58%;
    min-width: 58%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-58 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-59 {
    width: 59%;
    max-width: 59%;
    min-width: 59%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-59 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-60 {
    width: 60%;
    max-width: 60%;
    min-width: 60%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-60 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-61 {
    width: 61%;
    max-width: 61%;
    min-width: 61%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-61 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-62 {
    width: 62%;
    max-width: 62%;
    min-width: 62%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-62 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-63 {
    width: 63%;
    max-width: 63%;
    min-width: 63%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-63 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-64 {
    width: 64%;
    max-width: 64%;
    min-width: 64%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-64 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-65 {
    width: 65%;
    max-width: 65%;
    min-width: 65%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-65 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-66 {
    width: 66%;
    max-width: 66%;
    min-width: 66%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-66 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-67 {
    width: 67%;
    max-width: 67%;
    min-width: 67%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-67 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-68 {
    width: 68%;
    max-width: 68%;
    min-width: 68%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-68 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-69 {
    width: 69%;
    max-width: 69%;
    min-width: 69%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-69 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-70 {
    width: 70%;
    max-width: 70%;
    min-width: 70%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-70 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-71 {
    width: 71%;
    max-width: 71%;
    min-width: 71%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-71 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-72 {
    width: 72%;
    max-width: 72%;
    min-width: 72%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-72 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-73 {
    width: 73%;
    max-width: 73%;
    min-width: 73%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-73 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-74 {
    width: 74%;
    max-width: 74%;
    min-width: 74%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-74 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-75 {
    width: 75%;
    max-width: 75%;
    min-width: 75%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-75 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-76 {
    width: 76%;
    max-width: 76%;
    min-width: 76%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-76 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-77 {
    width: 77%;
    max-width: 77%;
    min-width: 77%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-77 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-78 {
    width: 78%;
    max-width: 78%;
    min-width: 78%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-78 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-79 {
    width: 79%;
    max-width: 79%;
    min-width: 79%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-79 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-80 {
    width: 80%;
    max-width: 80%;
    min-width: 80%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-80 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-81 {
    width: 81%;
    max-width: 81%;
    min-width: 81%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-81 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-82 {
    width: 82%;
    max-width: 82%;
    min-width: 82%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-82 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-83 {
    width: 83%;
    max-width: 83%;
    min-width: 83%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-83 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-84 {
    width: 84%;
    max-width: 84%;
    min-width: 84%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-84 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-85 {
    width: 85%;
    max-width: 85%;
    min-width: 85%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-85 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-86 {
    width: 86%;
    max-width: 86%;
    min-width: 86%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-86 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-87 {
    width: 87%;
    max-width: 87%;
    min-width: 87%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-87 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-88 {
    width: 88%;
    max-width: 88%;
    min-width: 88%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-88 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-89 {
    width: 89%;
    max-width: 89%;
    min-width: 89%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-89 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-90 {
    width: 90%;
    max-width: 90%;
    min-width: 90%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-90 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-91 {
    width: 91%;
    max-width: 91%;
    min-width: 91%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-91 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-92 {
    width: 92%;
    max-width: 92%;
    min-width: 92%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-92 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-93 {
    width: 93%;
    max-width: 93%;
    min-width: 93%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-93 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-94 {
    width: 94%;
    max-width: 94%;
    min-width: 94%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-94 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-95 {
    width: 95%;
    max-width: 95%;
    min-width: 95%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-95 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-96 {
    width: 96%;
    max-width: 96%;
    min-width: 96%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-96 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-97 {
    width: 97%;
    max-width: 97%;
    min-width: 97%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-97 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-98 {
    width: 98%;
    max-width: 98%;
    min-width: 98%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-98 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-99 {
    width: 99%;
    max-width: 99%;
    min-width: 99%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-99 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h .flex-w-100 {
    width: 100%;
    max-width: 100%;
    min-width: 100%; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h .flex-w-100 {
        width: 100% !important;
        max-width: 100% !important; } }
.flex-h > * {
    flex-basis: 0;
    flex-grow: 1; }
.flex-h.no-grow > * {
    flex-grow: 0; }
.flex-h .flex-grow {
    flex-grow: 1; }
.flex-h .flex-align-end {
    justify-content: flex-end; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .flex-h {
        flex-wrap: wrap; }
    .flex-h:not(.flex-always-gap) > * {
        margin-right: 0 !important;
        margin-bottom: 16px; }
    .flex-h:not(.flex-always-gap) > *:last-of-type {
        /*margin-bottom: 0 !important;*/ }
    .flex-h > * {
        flex-basis: auto; } }
.flex-h.no-wrap {
    flex-wrap: nowrap; }
.flex-h.flex-align-space-between {
    justify-content: space-between; }

.flex-v {
    display: flex;
    flex-direction: column; }
.flex-v.reverse {
    flex-direction: column-reverse; }
.flex-v.flex-center {
    align-items: center; }
.flex-v.flex-y-center {
    justify-content: center; }
.flex-v.flex-gap-0 > * {
    margin-bottom: 0px; }
.flex-v.flex-gap-0 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-1 > * {
    margin-bottom: 1px; }
.flex-v.flex-gap-1 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-2 > * {
    margin-bottom: 2px; }
.flex-v.flex-gap-2 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-3 > * {
    margin-bottom: 3px; }
.flex-v.flex-gap-3 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-4 > * {
    margin-bottom: 4px; }
.flex-v.flex-gap-4 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-5 > * {
    margin-bottom: 5px; }
.flex-v.flex-gap-5 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-6 > * {
    margin-bottom: 6px; }
.flex-v.flex-gap-6 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-7 > * {
    margin-bottom: 7px; }
.flex-v.flex-gap-7 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-8 > * {
    margin-bottom: 8px; }
.flex-v.flex-gap-8 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-9 > * {
    margin-bottom: 9px; }
.flex-v.flex-gap-9 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-10 > * {
    margin-bottom: 10px; }
.flex-v.flex-gap-10 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-11 > * {
    margin-bottom: 11px; }
.flex-v.flex-gap-11 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-12 > * {
    margin-bottom: 12px; }
.flex-v.flex-gap-12 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-13 > * {
    margin-bottom: 13px; }
.flex-v.flex-gap-13 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-14 > * {
    margin-bottom: 14px; }
.flex-v.flex-gap-14 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-15 > * {
    margin-bottom: 15px; }
.flex-v.flex-gap-15 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-16 > * {
    margin-bottom: 16px; }
.flex-v.flex-gap-16 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-17 > * {
    margin-bottom: 17px; }
.flex-v.flex-gap-17 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-18 > * {
    margin-bottom: 18px; }
.flex-v.flex-gap-18 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-19 > * {
    margin-bottom: 19px; }
.flex-v.flex-gap-19 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-20 > * {
    margin-bottom: 20px; }
.flex-v.flex-gap-20 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-21 > * {
    margin-bottom: 21px; }
.flex-v.flex-gap-21 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-22 > * {
    margin-bottom: 22px; }
.flex-v.flex-gap-22 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-23 > * {
    margin-bottom: 23px; }
.flex-v.flex-gap-23 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-24 > * {
    margin-bottom: 24px; }
.flex-v.flex-gap-24 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-25 > * {
    margin-bottom: 25px; }
.flex-v.flex-gap-25 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-26 > * {
    margin-bottom: 26px; }
.flex-v.flex-gap-26 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-27 > * {
    margin-bottom: 27px; }
.flex-v.flex-gap-27 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-28 > * {
    margin-bottom: 28px; }
.flex-v.flex-gap-28 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-29 > * {
    margin-bottom: 29px; }
.flex-v.flex-gap-29 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-30 > * {
    margin-bottom: 30px; }
.flex-v.flex-gap-30 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-31 > * {
    margin-bottom: 31px; }
.flex-v.flex-gap-31 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-32 > * {
    margin-bottom: 32px; }
.flex-v.flex-gap-32 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-33 > * {
    margin-bottom: 33px; }
.flex-v.flex-gap-33 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-34 > * {
    margin-bottom: 34px; }
.flex-v.flex-gap-34 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-35 > * {
    margin-bottom: 35px; }
.flex-v.flex-gap-35 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-36 > * {
    margin-bottom: 36px; }
.flex-v.flex-gap-36 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-37 > * {
    margin-bottom: 37px; }
.flex-v.flex-gap-37 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-38 > * {
    margin-bottom: 38px; }
.flex-v.flex-gap-38 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-39 > * {
    margin-bottom: 39px; }
.flex-v.flex-gap-39 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-40 > * {
    margin-bottom: 40px; }
.flex-v.flex-gap-40 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-41 > * {
    margin-bottom: 41px; }
.flex-v.flex-gap-41 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-42 > * {
    margin-bottom: 42px; }
.flex-v.flex-gap-42 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-43 > * {
    margin-bottom: 43px; }
.flex-v.flex-gap-43 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-44 > * {
    margin-bottom: 44px; }
.flex-v.flex-gap-44 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-45 > * {
    margin-bottom: 45px; }
.flex-v.flex-gap-45 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-46 > * {
    margin-bottom: 46px; }
.flex-v.flex-gap-46 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-47 > * {
    margin-bottom: 47px; }
.flex-v.flex-gap-47 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-48 > * {
    margin-bottom: 48px; }
.flex-v.flex-gap-48 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-49 > * {
    margin-bottom: 49px; }
.flex-v.flex-gap-49 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-50 > * {
    margin-bottom: 50px; }
.flex-v.flex-gap-50 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-51 > * {
    margin-bottom: 51px; }
.flex-v.flex-gap-51 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-52 > * {
    margin-bottom: 52px; }
.flex-v.flex-gap-52 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-53 > * {
    margin-bottom: 53px; }
.flex-v.flex-gap-53 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-54 > * {
    margin-bottom: 54px; }
.flex-v.flex-gap-54 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-55 > * {
    margin-bottom: 55px; }
.flex-v.flex-gap-55 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-56 > * {
    margin-bottom: 56px; }
.flex-v.flex-gap-56 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-57 > * {
    margin-bottom: 57px; }
.flex-v.flex-gap-57 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-58 > * {
    margin-bottom: 58px; }
.flex-v.flex-gap-58 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-59 > * {
    margin-bottom: 59px; }
.flex-v.flex-gap-59 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-60 > * {
    margin-bottom: 60px; }
.flex-v.flex-gap-60 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-61 > * {
    margin-bottom: 61px; }
.flex-v.flex-gap-61 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-62 > * {
    margin-bottom: 62px; }
.flex-v.flex-gap-62 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-63 > * {
    margin-bottom: 63px; }
.flex-v.flex-gap-63 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-64 > * {
    margin-bottom: 64px; }
.flex-v.flex-gap-64 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-65 > * {
    margin-bottom: 65px; }
.flex-v.flex-gap-65 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-66 > * {
    margin-bottom: 66px; }
.flex-v.flex-gap-66 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-67 > * {
    margin-bottom: 67px; }
.flex-v.flex-gap-67 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-68 > * {
    margin-bottom: 68px; }
.flex-v.flex-gap-68 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-69 > * {
    margin-bottom: 69px; }
.flex-v.flex-gap-69 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-70 > * {
    margin-bottom: 70px; }
.flex-v.flex-gap-70 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-71 > * {
    margin-bottom: 71px; }
.flex-v.flex-gap-71 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-72 > * {
    margin-bottom: 72px; }
.flex-v.flex-gap-72 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-73 > * {
    margin-bottom: 73px; }
.flex-v.flex-gap-73 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-74 > * {
    margin-bottom: 74px; }
.flex-v.flex-gap-74 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-75 > * {
    margin-bottom: 75px; }
.flex-v.flex-gap-75 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-76 > * {
    margin-bottom: 76px; }
.flex-v.flex-gap-76 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-77 > * {
    margin-bottom: 77px; }
.flex-v.flex-gap-77 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-78 > * {
    margin-bottom: 78px; }
.flex-v.flex-gap-78 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-79 > * {
    margin-bottom: 79px; }
.flex-v.flex-gap-79 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-80 > * {
    margin-bottom: 80px; }
.flex-v.flex-gap-80 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-81 > * {
    margin-bottom: 81px; }
.flex-v.flex-gap-81 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-82 > * {
    margin-bottom: 82px; }
.flex-v.flex-gap-82 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-83 > * {
    margin-bottom: 83px; }
.flex-v.flex-gap-83 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-84 > * {
    margin-bottom: 84px; }
.flex-v.flex-gap-84 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-85 > * {
    margin-bottom: 85px; }
.flex-v.flex-gap-85 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-86 > * {
    margin-bottom: 86px; }
.flex-v.flex-gap-86 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-87 > * {
    margin-bottom: 87px; }
.flex-v.flex-gap-87 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-88 > * {
    margin-bottom: 88px; }
.flex-v.flex-gap-88 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-89 > * {
    margin-bottom: 89px; }
.flex-v.flex-gap-89 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-90 > * {
    margin-bottom: 90px; }
.flex-v.flex-gap-90 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-91 > * {
    margin-bottom: 91px; }
.flex-v.flex-gap-91 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-92 > * {
    margin-bottom: 92px; }
.flex-v.flex-gap-92 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-93 > * {
    margin-bottom: 93px; }
.flex-v.flex-gap-93 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-94 > * {
    margin-bottom: 94px; }
.flex-v.flex-gap-94 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-95 > * {
    margin-bottom: 95px; }
.flex-v.flex-gap-95 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-96 > * {
    margin-bottom: 96px; }
.flex-v.flex-gap-96 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-97 > * {
    margin-bottom: 97px; }
.flex-v.flex-gap-97 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-98 > * {
    margin-bottom: 98px; }
.flex-v.flex-gap-98 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-99 > * {
    margin-bottom: 99px; }
.flex-v.flex-gap-99 > *:last-of-type {
    margin-bottom: 0; }
.flex-v.flex-gap-100 > * {
    margin-bottom: 100px; }
.flex-v.flex-gap-100 > *:last-of-type {
    margin-bottom: 0; }

.width-0 {
    width: 0%;
    max-width: 0%;
    min-width: 0%; }

.width-1 {
    width: 1%;
    max-width: 1%;
    min-width: 1%; }

.width-2 {
    width: 2%;
    max-width: 2%;
    min-width: 2%; }

.width-3 {
    width: 3%;
    max-width: 3%;
    min-width: 3%; }

.width-4 {
    width: 4%;
    max-width: 4%;
    min-width: 4%; }

.width-5 {
    width: 5%;
    max-width: 5%;
    min-width: 5%; }

.width-6 {
    width: 6%;
    max-width: 6%;
    min-width: 6%; }

.width-7 {
    width: 7%;
    max-width: 7%;
    min-width: 7%; }

.width-8 {
    width: 8%;
    max-width: 8%;
    min-width: 8%; }

.width-9 {
    width: 9%;
    max-width: 9%;
    min-width: 9%; }

.width-10 {
    width: 10%;
    max-width: 10%;
    min-width: 10%; }

.width-11 {
    width: 11%;
    max-width: 11%;
    min-width: 11%; }

.width-12 {
    width: 12%;
    max-width: 12%;
    min-width: 12%; }

.width-13 {
    width: 13%;
    max-width: 13%;
    min-width: 13%; }

.width-14 {
    width: 14%;
    max-width: 14%;
    min-width: 14%; }

.width-15 {
    width: 15%;
    max-width: 15%;
    min-width: 15%; }

.width-16 {
    width: 16%;
    max-width: 16%;
    min-width: 16%; }

.width-17 {
    width: 17%;
    max-width: 17%;
    min-width: 17%; }

.width-18 {
    width: 18%;
    max-width: 18%;
    min-width: 18%; }

.width-19 {
    width: 19%;
    max-width: 19%;
    min-width: 19%; }

.width-20 {
    width: 20%;
    max-width: 20%;
    min-width: 20%; }

.width-21 {
    width: 21%;
    max-width: 21%;
    min-width: 21%; }

.width-22 {
    width: 22%;
    max-width: 22%;
    min-width: 22%; }

.width-23 {
    width: 23%;
    max-width: 23%;
    min-width: 23%; }

.width-24 {
    width: 24%;
    max-width: 24%;
    min-width: 24%; }

.width-25 {
    width: 25%;
    max-width: 25%;
    min-width: 25%; }

.width-26 {
    width: 26%;
    max-width: 26%;
    min-width: 26%; }

.width-27 {
    width: 27%;
    max-width: 27%;
    min-width: 27%; }

.width-28 {
    width: 28%;
    max-width: 28%;
    min-width: 28%; }

.width-29 {
    width: 29%;
    max-width: 29%;
    min-width: 29%; }

.width-30 {
    width: 30%;
    max-width: 30%;
    min-width: 30%; }

.width-31 {
    width: 31%;
    max-width: 31%;
    min-width: 31%; }

.width-32 {
    width: 32%;
    max-width: 32%;
    min-width: 32%; }

.width-33 {
    width: 33%;
    max-width: 33%;
    min-width: 33%; }

.width-34 {
    width: 34%;
    max-width: 34%;
    min-width: 34%; }

.width-35 {
    width: 35%;
    max-width: 35%;
    min-width: 35%; }

.width-36 {
    width: 36%;
    max-width: 36%;
    min-width: 36%; }

.width-37 {
    width: 37%;
    max-width: 37%;
    min-width: 37%; }

.width-38 {
    width: 38%;
    max-width: 38%;
    min-width: 38%; }

.width-39 {
    width: 39%;
    max-width: 39%;
    min-width: 39%; }

.width-40 {
    width: 40%;
    max-width: 40%;
    min-width: 40%; }

.width-41 {
    width: 41%;
    max-width: 41%;
    min-width: 41%; }

.width-42 {
    width: 42%;
    max-width: 42%;
    min-width: 42%; }

.width-43 {
    width: 43%;
    max-width: 43%;
    min-width: 43%; }

.width-44 {
    width: 44%;
    max-width: 44%;
    min-width: 44%; }

.width-45 {
    width: 45%;
    max-width: 45%;
    min-width: 45%; }

.width-46 {
    width: 46%;
    max-width: 46%;
    min-width: 46%; }

.width-47 {
    width: 47%;
    max-width: 47%;
    min-width: 47%; }

.width-48 {
    width: 48%;
    max-width: 48%;
    min-width: 48%; }

.width-49 {
    width: 49%;
    max-width: 49%;
    min-width: 49%; }

.width-50 {
    width: 50%;
    max-width: 50%;
    min-width: 50%; }

.width-51 {
    width: 51%;
    max-width: 51%;
    min-width: 51%; }

.width-52 {
    width: 52%;
    max-width: 52%;
    min-width: 52%; }

.width-53 {
    width: 53%;
    max-width: 53%;
    min-width: 53%; }

.width-54 {
    width: 54%;
    max-width: 54%;
    min-width: 54%; }

.width-55 {
    width: 55%;
    max-width: 55%;
    min-width: 55%; }

.width-56 {
    width: 56%;
    max-width: 56%;
    min-width: 56%; }

.width-57 {
    width: 57%;
    max-width: 57%;
    min-width: 57%; }

.width-58 {
    width: 58%;
    max-width: 58%;
    min-width: 58%; }

.width-59 {
    width: 59%;
    max-width: 59%;
    min-width: 59%; }

.width-60 {
    width: 60%;
    max-width: 60%;
    min-width: 60%; }

.width-61 {
    width: 61%;
    max-width: 61%;
    min-width: 61%; }

.width-62 {
    width: 62%;
    max-width: 62%;
    min-width: 62%; }

.width-63 {
    width: 63%;
    max-width: 63%;
    min-width: 63%; }

.width-64 {
    width: 64%;
    max-width: 64%;
    min-width: 64%; }

.width-65 {
    width: 65%;
    max-width: 65%;
    min-width: 65%; }

.width-66 {
    width: 66%;
    max-width: 66%;
    min-width: 66%; }

.width-67 {
    width: 67%;
    max-width: 67%;
    min-width: 67%; }

.width-68 {
    width: 68%;
    max-width: 68%;
    min-width: 68%; }

.width-69 {
    width: 69%;
    max-width: 69%;
    min-width: 69%; }

.width-70 {
    width: 70%;
    max-width: 70%;
    min-width: 70%; }

.width-71 {
    width: 71%;
    max-width: 71%;
    min-width: 71%; }

.width-72 {
    width: 72%;
    max-width: 72%;
    min-width: 72%; }

.width-73 {
    width: 73%;
    max-width: 73%;
    min-width: 73%; }

.width-74 {
    width: 74%;
    max-width: 74%;
    min-width: 74%; }

.width-75 {
    width: 75%;
    max-width: 75%;
    min-width: 75%; }

.width-76 {
    width: 76%;
    max-width: 76%;
    min-width: 76%; }

.width-77 {
    width: 77%;
    max-width: 77%;
    min-width: 77%; }

.width-78 {
    width: 78%;
    max-width: 78%;
    min-width: 78%; }

.width-79 {
    width: 79%;
    max-width: 79%;
    min-width: 79%; }

.width-80 {
    width: 80%;
    max-width: 80%;
    min-width: 80%; }

.width-81 {
    width: 81%;
    max-width: 81%;
    min-width: 81%; }

.width-82 {
    width: 82%;
    max-width: 82%;
    min-width: 82%; }

.width-83 {
    width: 83%;
    max-width: 83%;
    min-width: 83%; }

.width-84 {
    width: 84%;
    max-width: 84%;
    min-width: 84%; }

.width-85 {
    width: 85%;
    max-width: 85%;
    min-width: 85%; }

.width-86 {
    width: 86%;
    max-width: 86%;
    min-width: 86%; }

.width-87 {
    width: 87%;
    max-width: 87%;
    min-width: 87%; }

.width-88 {
    width: 88%;
    max-width: 88%;
    min-width: 88%; }

.width-89 {
    width: 89%;
    max-width: 89%;
    min-width: 89%; }

.width-90 {
    width: 90%;
    max-width: 90%;
    min-width: 90%; }

.width-91 {
    width: 91%;
    max-width: 91%;
    min-width: 91%; }

.width-92 {
    width: 92%;
    max-width: 92%;
    min-width: 92%; }

.width-93 {
    width: 93%;
    max-width: 93%;
    min-width: 93%; }

.width-94 {
    width: 94%;
    max-width: 94%;
    min-width: 94%; }

.width-95 {
    width: 95%;
    max-width: 95%;
    min-width: 95%; }

.width-96 {
    width: 96%;
    max-width: 96%;
    min-width: 96%; }

.width-97 {
    width: 97%;
    max-width: 97%;
    min-width: 97%; }

.width-98 {
    width: 98%;
    max-width: 98%;
    min-width: 98%; }

.width-99 {
    width: 99%;
    max-width: 99%;
    min-width: 99%; }

.width-100 {
    width: 100%;
    max-width: 100%;
    min-width: 100%; }

.tournament-page .overview-title-image {
    position: absolute;
    opacity: 0.15;
    margin: auto;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: -100; }

.tournament-page .page-nav {
    padding: 0 20px;
    min-height: 50px;
    z-index: 1; }
.tournament-page .page-nav ul {
    list-style: none;
    padding: 0;
    margin: 0 5px;
    display: flex;
    justify-content: center;
    flex-wrap: wrap; }
.tournament-page .page-nav ul li a {
    line-height: 20px;
    position: relative;
    display: block;
    margin-right: 30px;
    padding: 14px 1.2em 0.5em 1.2em;
    text-transform: uppercase;
    color: #E6EAFF;
    text-decoration: none;
    cursor: pointer; }
.tournament-page .page-nav ul li a:hover:after, .tournament-page .page-nav ul li a.active:after {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 0.1em;
    content: '';
    background-color: #fff; }
.tournament-page .page-nav ul li a.active {
    color: #ffffff; }

.tournament-page .title {
    font-size: 28px;
    text-align: center; }

.tournament-page .details {
    padding-right: 32px; }
.tournament-page .details .header {
    font-weight: 600;
    font-size: 18px;
    text-transform: uppercase; }
.tournament-page .details > div {
    padding: 10px; }
.tournament-page .details > div:not(:last-of-type) {
    border-bottom: 1px solid #4B4E4E; }
.tournament-page .details .content-item {
    justify-content: space-between;
    white-space: nowrap;
    flex-grow: 0;
    font-size: 14px; }
.tournament-page .details p {
    font-size: 14px; }
.tournament-page .details.schedule {
    padding-right: 0; }
.tournament-page .details.schedule div {
    margin-left: auto;
    margin-right: auto;
    width: 100%; }
@media screen and (min-width: 1000px) {
    .tournament-page .details.schedule div {
        width: 80%; } }
@media screen and (min-width: 1200px) {
    .tournament-page .details.schedule div {
        width: 65%; } }
@media screen and (min-width: 1400px) {
    .tournament-page .details.schedule div {
        width: 60%; } }
.tournament-page .details.schedule table {
    border: 0.05em solid #292F3D; }
.tournament-page .details.schedule table tr {
    line-height: 2.4em;
    border: 0em solid transparent; }
.tournament-page .details.schedule table tr td:first-child {
    padding-left: 1em; }
.tournament-page .details.schedule table tr td:last-child {
    padding-right: 1em; }
.tournament-page .details.schedule table tr:first-child {
    text-transform: uppercase;
    font-size: 14px; }
.tournament-page .details.schedule table tr:not(:first-child) {
    font-size: 14px; }
.tournament-page .details.schedule table tr:nth-child(odd) {
    background-color: #1C1D26; }
.tournament-page .details.schedule table tr:nth-child(even) {
    background-color: #292F3D; }

.tournament-page .tab {
    min-height: 380px; }

.divide {
    width: 100%;
    /*border-bottom: 1px solid #28303f;*/
    height: 1px;
    position: relative; }

.sponsored-by {
    position: absolute;
    left: 1em;
    bottom: 1em;
    display: flex;
    flex-direction: column; }
.sponsored-by:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: -1; }
.sponsored-by h1 {
    font-size: 14px;
    text-transform: uppercase; }
.sponsored-by .sponsored-by-images {
    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: wrap; }
.sponsored-by .sponsored-by-images img {
    width: 16%;
    margin-right: 0.5em; }

.swal2-container {
    background-color: rgba(0, 0, 0, 0.6) !important; }

.swal2-popup {
    background-color: #101116 !important;
    border-radius: 0 !important;
    border: 1px solid #292F3D !important;
    font-size: 14px !important; }

.swal2-content {
    font-size: 14px !important; }
.swal2-content .panel-title {
    font-size: 16px !important; }
.swal2-content .center {
    display: flex;
    justify-content: center; }

.swal2-content, .swal2-title, .swal2-text {
    color: rgba(255, 255, 255, 0.8) !important; }

.swal2-icon--success:after, .swal2-icon--success:before {
    background-color: #000000 !important; }

.swal2-icon--success__ring {
    border: 4px solid rgba(164, 219, 132, 0.6) !important; }

.swal2-icon--success__hide-corners {
    background-color: #000000 !important; }

.swal2-confirm {
    padding: 6px 48px !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Titillium Web', sans-serif !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    font-size: 14px !important;
    box-shadow: none !important;
    background: #ffffff !important;
    color: #101116 !important; }

.swal2-cancel {
    padding: 6px 48px !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 0 !important;
    font-family: 'Titillium Web', sans-serif !important;
    font-weight: 700 !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    font-size: 14px !important;
    box-shadow: none !important; }

.swal2-container.swal2-top-end {
    background-color: transparent !important; }

.swal2-docked-close {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0 !important;
    padding: 4px 12px !important;
    border-left: 0.05em solid #292F3D !important;
    border-bottom: 0.05em solid #292F3D !important;
    background: #101116 !important;
    font-weight: 400 !important; }

.ad-spot-local {
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 0.4em 0em;
    box-sizing: border-box;
    overflow: hidden; }
.ad-spot-local img {
    min-height: 100%; }
.ad-spot-local a:not(:last-of-type) {
    margin-right: 1em; }

.contact-us-panel {
    margin: 0 2em;
    flex-grow: 1; }
.contact-us-panel .contact-us-row {
    display: flex;
    flex-direction: row;
    /*&:not(:last-of-type) {
            border-bottom: 2px solid $background-light;
        }*/ }
.contact-us-panel .contact-us-row:not(:first-of-type) {
    padding: 0.5em 0; }
.contact-us-panel .contact-us-row .contact-us-value p {
    margin-top: 0;
    margin-bottom: 0.4em; }
.contact-us-panel .contact-us-row .contact-us-icon {
    min-width: 20%; }
.contact-us-panel .contact-us-row .contact-us-icon img {
    height: 24px; }
.contact-us-panel .contact-us-row.border {
    border-top: 0.1em solid #252834;
    display: flex;
    flex-direction: row;
    flex-grow: 1;
    justify-content: space-around;
    align-content: center;
    padding-top: 1em; }
.contact-us-panel .contact-us-row.border .contact-us-icon {
    min-width: initial; }
.contact-us-panel .contact-us-row.border .contact-us-icon img {
    height: 24px; }

.contact-us-map {
    margin-left: 20%; }

.divider {
    position: relative;
    overflow: hidden;
    font-weight: 400;
    font-size: 1.2em;
    text-transform: uppercase;
    margin: 1em 0;
    display: flex;
    align-items: center;
    white-space: nowrap; }
.divider:after {
    content: '';
    background: linear-gradient(to right, #ffc800 0%, #ff1577 32%, #00bfe9 100%);
    width: 100%;
    height: 3px;
    margin-left: 1em;
    top: 50%; }
.divider.margin-all-0:after {
    margin-left: 0; }

.partners {
    padding: 0 5em;
    max-width: 800px;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center; }
.partners div {
    padding: 0.5em 1em;
    width: 33.3%;
    max-height: 8em;
    display: flex;
    box-sizing: border-box;
    justify-content: center;
    display: flex; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .partners div {
        width: 100%;
        padding: 0.5em 0; } }
.partners div img {
    width: 100%;
    height: 100%;
    align-self: center;
    object-fit: contain; }

.cc-window {
    box-shadow: 0px 0 10px rgba(16, 17, 22, 0.5); }
.cc-window a.cc-link {
    color: #00bfe9 !important; }

.event-boxes {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(20em, 1fr));
    grid-gap: 1em;
    width: 100%; }
.event-boxes.set-width {
    grid-template-areas: "a";
    grid-template-columns: 1fr;
    grid-template-rows: auto;
    align-self: flex-start; }
@media screen and (min-width: 460px) {
    .event-boxes.set-width {
        grid-template-areas: "a a";
        grid-template-columns: 1fr 1fr; } }
@media screen and (min-width: 720px) {
    .event-boxes.set-width {
        grid-template-areas: "a a a";
        grid-template-columns: 1fr 1fr 1fr; } }
@media screen and (min-width: 1000px) {
    .event-boxes.set-width {
        grid-template-areas: "a a a a";
        grid-template-columns: 1fr 1fr 1fr 1fr; } }
@media screen and (min-width: 1320px) {
    .event-boxes.set-width {
        grid-template-areas: "a a a a a";
        grid-template-columns: 1fr 1fr 1fr 1fr 1fr; } }
.event-boxes .event-box {
    max-width: 100%;
    min-width: 100%;
    border: 1px solid #292F3D;
    background: #1C1D26;
    text-decoration: none;
    display: flex;
    flex-direction: column; }
.event-boxes .event-box .event-box-banner-wrapper {
    box-sizing: border-box;
    position: relative;
    overflow: hidden; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-action {
    position: absolute;
    top: 0.2em;
    left: 0.2em;
    height: 2em;
    z-index: 1; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-action.right {
    right: 0.2em;
    left: auto; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-info {
    position: absolute;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    padding: 0.5em;
    z-index: 2;
    overflow: visible; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-info:after {
    content: '';
    bottom: -100%;
    right: -100%;
    position: absolute;
    height: 200%;
    width: 200%;
    z-index: -1; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-info h1, .event-boxes .event-box .event-box-banner-wrapper .event-box-banner-info div.presented-by {
    margin: 0 1em;
    color: #E6EAFF;
    font-weight: 400;
    font-size: 0.8em;
    margin-right: 0.2em;
    text-transform: uppercase; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-info .event-box-banner-info-images {
    display: flex;
    align-items: center;
    justify-content: flex-end; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-info .event-box-banner-info-images img {
    align-self: center;
    width: 20%; }
.event-boxes .event-box .event-box-banner-wrapper .event-box-banner-image {
    width: 100%;
    display: block; }
.event-boxes .event-box .event-box-banner-wrapper:before {
    content: '';
    top: -100%;
    right: -100%;
    position: absolute;
    height: 200%;
    width: 200%;
    z-index: 1; }
.event-boxes .event-box .event-box-body {
    padding: 0.2em 0.5em; }
.event-boxes .event-box .event-box-body .event-box-title {
    margin: 0;
    font-weight: 400;
    font-size: 14px;
    color: #E6EAFF;
    opacity: 0.8;
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden; }
.event-boxes .event-box .event-box-footer {
    background-color: #292F3D;
    display: flex;
    padding: 0.2em 0.5em;
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    flex-grow: 1; }
.event-boxes .event-box .event-box-footer .event-box-footer-item {
    display: flex;
    flex-direction: row;
    margin-right: 1em;
    font-size: 0.8em;
    color: #E6EAFF; }
.event-boxes .event-box .event-box-footer .event-box-footer-item.justify {
    justify-content: space-between;
    flex-grow: 1;
    margin-right: 0; }
.event-boxes .event-box .event-box-footer .event-box-footer-item .event-box-footer-item-title {
    text-transform: uppercase;
    margin-right: 0.5em; }
.event-boxes .event-box .event-box-footer .event-box-footer-item .event-box-footer-item-value {
    opacity: 0.6; }
.event-boxes .event-box .event-box-footer.justify {
    justify-content: space-between; }
.event-boxes .event-box .event-box-footer.justify > .event-box-footer-item:last-of-type {
    margin-right: initial; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .event-boxes .event-box {
        min-width: initial; } }

.event-details-table {
    margin: 0 2em;
    flex-grow: 1; }
.event-details-table p {
    margin: 0em 0 0.2em 0; }
.event-details-table .event-details-table-row {
    display: flex;
    flex-direction: row;
    padding: 0.5em 0; }
.event-details-table .event-details-table-row:not(:last-of-type) {
    border-bottom: 2px solid #292F3D; }
.event-details-table .event-details-table-row .event-details-table-title {
    text-transform: uppercase;
    min-width: 40%; }
.event-details-table .event-details-table-row .event-details-table-value {
    color: rgba(230, 234, 255, 0.6); }
.event-details-table .event-details-table-row .event-details-table-value.clear {
    opacity: 1; }
.event-details-table .event-details-table-row.full {
    flex-direction: column; }
.event-details-table .event-details-table-row.full .event-details-table-title {
    padding-bottom: 0.5em;
    border-bottom: 2px solid #292F3D; }
.event-details-table .event-details-table-row.full .event-details-table-title.no-border {
    border-bottom: none; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .event-details-table {
        margin: 0 0.25em;
        width: 100%;
        max-width: 100%;
        min-width: 100%; } }

.event-details-map {
    margin-top: 1em; }

.Terratype {
    position: relative;
    background-color: #1C1D26; }
.Terratype:before {
    position: absolute;
    content: 'Loading map...';
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    text-transform: uppercase; }

.login .link-fp {
    display: flex;
    justify-content: flex-end;
    font-size: 0.75em; }

.register .explain-text {
    font-size: 0.8em;
    text-align: justify; }

.register .review {
    font-size: 0.8em; }

.forgotten-password .explain-text {
    font-size: 0.8em;
    text-align: justify; }

.magic {
    opacity: 0;
    transform: translateY(-1em); }
.magic.in {
    animation: magic 500ms ease-in-out forwards; }

@keyframes magic {
    0% {
        opacity: 0;
        transform: translateY(-1em); }
    100% {
        opacity: 1;
        transform: translateY(0); } }

/* Apply styles */
.f-table {
    display: flex;
    flex-wrap: wrap;
    margin: 0 0 3em 0;
    padding: 0;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.2);
    background: #1C1D26; }
.f-table .f-table-row {
    width: 100%;
    display: flex; }
.f-table .f-table-row:nth-child(even) {
    background: #292F3D; }
.f-table .f-table-row .f-table-cell {
    box-sizing: border-box;
    flex-grow: 1;
    padding: 0.8em 1.2em;
    overflow: hidden;
    list-style: none;
    display: flex;
    align-items: center; }
.f-table .f-table-row .f-table-cell.center {
    text-align: center; }
.f-table .f-table-row .f-table-cell.column-heading {
    text-transform: uppercase;
    color: white;
    padding: 1em; }
.f-table .f-table-row .f-table-cell .f-table-cell-heading {
    display: none; }
.f-table .f-table-row .f-table-cell .f-table-cell-content a {
    font-size: 2em;
    color: #333; }
.f-table .f-table-row .f-table-cell .f-table-cell-content .webinar-date {
    font-weight: 700; }
.f-table .f-table-row .f-table-cell .f-table-cell-logo img {
    width: 16px; }

/* Responsive */
@media all and (max-width: 750px) {
    .f-table-collapse {
        display: block;
        width: 100%;
        padding: 1em;
        box-shadow: none; }
    .f-table-collapse .f-table-row {
        box-sizing: border-box;
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        margin-bottom: 2em;
        box-shadow: 0 0 40px rgba(0, 0, 0, 0.2); }
    .f-table-collapse .f-table-row .f-table-cell {
        width: 100% !important;
        display: flex;
        align-items: center; }
    .f-table-collapse .f-table-row .f-table-cell .f-table-cell-heading {
        display: inline-block;
        flex: 1;
        max-width: 120px;
        min-width: 120px;
        font-weight: 700;
        border-right: 1px solid #ccc;
        margin-right: 1em; }
    .f-table-collapse .f-table-row .f-table-cell .f-table-cell-content {
        flex: 2;
        padding-left: 1em; }
    .f-table-collapse .collapsed-header {
        color: white;
        font-weight: 700;
        order: -1; }
    .f-table-collapse .collapsed-header .f-table-cell-content {
        padding-left: 0 !important; }
    .f-table-collapse .f-table-row-head {
        display: none; } }

.no-flexbox .f-table {
    display: block; }
.no-flexbox .f-table.f-table-cell {
    width: 100%; }

/* Table column sizing
================================== */
.rank-cell, .won-cell, .lost-cell, .points-cell {
    width: 10%; }

.team-cell {
    width: 25%; }

.university-cell {
    width: 35%; }
.university-cell img {
    width: 2.5em;
    border-radius: 50%;
    margin-right: 1em; }

table {
    background-color: #1C1D26;
    width: 100%;
    padding: 0.5em;
    border-spacing: 0; }
table thead th {
    text-align: left;
    font-size: 1.2em;
    font-weight: 400;
    padding: 0.5em; }
table tbody tr:nth-child(2n+1) {
    background-color: #292F3D; }
table tbody tr td {
    text-align: left;
    padding: 0.5em; }

.player-handles {
    display: flex;
    justify-content: center;
    flex-grow: 0;
    flex-wrap: wrap; }
.player-handles .player-handle {
    border: 1px solid #292F3D;
    background-color: #1C1D26;
    display: flex;
    align-items: center;
    padding: 0.5em 1em;
    box-sizing: border-box;
    text-decoration: none;
    margin-bottom: .4em;
    margin-right: .6em; }
.player-handles .player-handle .player-handle-icon {
    width: 1.8em;
    height: 1.8em;
    margin-right: 1em; }
.player-handles .player-handle .player-handle-value {
    color: #E6EAFF; }
.player-handles .player-handle:last-child {
    margin-right: 0; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .player-handles {
        flex-wrap: wrap; }
    .player-handles .player-handle {
        flex-grow: 1;
        margin-bottom: 0.4em;
        margin-right: 0.4em; }
    .player-handles .player-handle:not(:last-of-type) {
        margin-right: 0.4em; } }

.point-standings {
    display: grid;
    grid-template-rows: repeat(1fr, auto);
    background: #1C1D26;
    padding: 0.2em !important; }
.point-standings header {
    display: grid;
    text-align: center;
    min-height: 3em;
    padding: 0.5em;
    grid-template-columns: 1fr 1fr 3fr 1fr 1fr 1fr; }
.point-standings header p, .point-standings header img, .point-standings header h1 {
    margin: 0;
    align-self: center;
    justify-self: center; }
.point-standings header div {
    font-size: 14px;
    font-weight: 400;
    margin: 0;
    text-transform: uppercase; }
.point-standings header .pts-university {
    justify-self: flex-start;
    padding-left: 1em;
    text-align: left; }
.point-standings header .pts-team {
    justify-self: flex-start;
    text-align: left; }
.point-standings header h1, .point-standings header h2, .point-standings header h3, .point-standings header h4, .point-standings header h5 {
    font-weight: 400;
    font-size: 14px; }
.point-standings .point-standings-result {
    display: grid;
    text-align: center;
    min-height: 3em;
    padding: 0.5em;
    grid-template-columns: 1fr 1fr 3fr 1fr 1fr 1fr;
    grid-template-areas: "rank team uni won loss pts"; }
.point-standings .point-standings-result p, .point-standings .point-standings-result img, .point-standings .point-standings-result h1 {
    margin: 0;
    align-self: center;
    justify-self: center; }
.point-standings .point-standings-result:nth-child(even) {
    background-color: #292F3D; }
.point-standings .point-standings-result .pts-rank {
    grid-area: rank; }
.point-standings .point-standings-result .pts-team {
    grid-area: team;
    justify-self: flex-start;
    text-align: left; }
.point-standings .point-standings-result .pts-uni-image {
    grid-area: uni-img;
    width: 3em; }
.point-standings .point-standings-result .pts-uni-name {
    grid-area: uni-name; }
.point-standings .point-standings-result .pts-won {
    grid-area: won; }
.point-standings .point-standings-result .pts-loss {
    grid-area: loss; }
.point-standings .point-standings-result .pts-points {
    grid-area: pts; }
.point-standings .point-standings-result .pts-university {
    justify-self: flex-start;
    display: flex;
    flex-direction: row;
    padding-left: 1em;
    text-align: left; }
.point-standings .point-standings-result .pts-university .pts-uni-name {
    padding-left: 1.4em; }
.point-standings.tournament header {
    display: grid;
    text-align: center;
    min-height: 3em;
    padding: 0.5em;
    grid-template-columns: 1fr 6fr 1fr; }
.point-standings.tournament header p, .point-standings.tournament header img, .point-standings.tournament header h1 {
    margin: 0;
    align-self: center;
    justify-self: center; }
.point-standings.tournament header .pts-university {
    padding-left: 0;
    justify-self: flex-start; }
.point-standings.tournament .point-standings-result {
    display: grid;
    text-align: center;
    min-height: 3em;
    padding: 0.5em;
    grid-template-columns: 1fr 6fr 1fr;
    grid-template-areas: "rank uni-name pts"; }
.point-standings.tournament .point-standings-result p, .point-standings.tournament .point-standings-result img, .point-standings.tournament .point-standings-result h1 {
    margin: 0;
    align-self: center;
    justify-self: center; }
.point-standings.tournament .point-standings-result .pts-university {
    padding-left: 0; }

@media all and (max-width: 720px) {
    .point-standings {
        display: grid;
        grid-template-rows: repeat(1fr, auto);
        background: #1C1D26; }
    .point-standings header {
        display: none; }
    .point-standings .point-standings-result {
        position: relative;
        grid-template-columns: 0.3fr 4fr 1fr;
        grid-template-areas: "rank team won" "rank team won" "rank team loss" "rank university loss" "rank university pts" "rank university pts"; }
    .point-standings .pts-rank {
        writing-mode: vertical-lr;
        transform: rotate(180deg); }
    .point-standings .pts-rank:before {
        content: 'Rank  ';
        text-transform: uppercase;
        font-size: 0.8em; }
    .point-standings .pts-team {
        justify-self: start !important;
        font-size: 1.2em;
        padding-left: 4.5em; }
    .point-standings .pts-uni-name {
        justify-self: start !important;
        color: rgba(230, 234, 255, 0.6); }
    .point-standings .pts-won {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%; }
    .point-standings .pts-won:before {
        content: 'Won';
        margin-right: 0.5em;
        text-transform: uppercase;
        font-size: 0.8em;
        left: 0;
        color: rgba(230, 234, 255, 0.6); }
    .point-standings .pts-loss {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%; }
    .point-standings .pts-loss:before {
        content: 'Loss';
        margin-right: 0.5em;
        text-transform: uppercase;
        font-size: 0.8em;
        left: 0;
        color: rgba(230, 234, 255, 0.6); }
    .point-standings .pts-points {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%; }
    .point-standings .pts-points:before {
        content: 'Pts';
        margin-right: 0.5em;
        text-transform: uppercase;
        font-size: 0.8em;
        left: 0;
        color: rgba(230, 234, 255, 0.6); }
    .point-standings.tournament header {
        display: none; }
    .point-standings.tournament .pts-rank {
        transform: rotate(-90deg); }
    .point-standings.tournament .pts-rank:before {
        content: ''; }
    .point-standings.tournament .point-standings-result {
        position: relative;
        grid-template-columns: 0.3fr 4fr 1fr;
        grid-template-areas: "rank uni-name pts"; } }

.content-page-item-preview {
    display: flex;
    border: 1px solid #292F3D;
    margin-bottom: 1em;
    background-color: #1C1D26;
    padding: .5em; }
.content-page-item-preview .content-page-item-preview-image {
    align-self: center;
    width: 200px; }
.content-page-item-preview .content-page-item-preview-body {
    box-sizing: border-box;
    padding-left: 0.8em; }
.content-page-item-preview .content-page-item-preview-body .content-page-item-preview-title {
    margin: 0;
    font-size: 1.2em; }
.content-page-item-preview .content-page-item-preview-body .content-page-item-preview-desc {
    margin: 0;
    text-align: justify;
    font-size: 14px; }
.content-page-item-preview .content-page-item-preview-body .content-page-item-preview-link {
    color: #00bfe9;
    text-decoration: none; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .content-page-item-preview {
        flex-direction: column; }
    .content-page-item-preview .content-page-item-preview-image {
        width: 100%; }
    .content-page-item-preview .content-page-item-preview-body {
        padding-left: 0;
        padding-top: 0.8em; } }

.content-page-item {
    border: 1px solid #292F3D;
    background-color: #1C1D26;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    padding: 0.8em;
    margin-bottom: 1em;
    position: relative; }
.content-page-item .content-page-item-img {
    align-self: center;
    width: 100%; }
.content-page-item .content-page-item-body {
    display: flex;
    flex-direction: column; }
.content-page-item .content-page-item-body .content-page-item-title {
    text-align: center;
    margin: 0;
    margin-top: 0.5em; }
.content-page-item .content-page-item-body .content-page-item-desc img {
    max-width: 100% !important; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    .content-page-item .content-page-item-body .content-page-item-desc img {
        height: auto !important; } }
.content-page-item .content-page-item-body .cta {
    align-self: center; }

body {
    font-family: 'Titillium Web', sans-serif;
    font-weight: 400;
    font-size: 14px;
    color: #E6EAFF;
    font-smooth: always;
    -webkit-font-smoothing: antialiased; }

h1, h2, h3, h4, h5 {
    font-weight: 700; }

.heavy {
    font-weight: 700; }

.light {
    font-weight: 300; }

.uppercase {
    text-transform: uppercase; }

.text-blue {
    color: #00bfe9; }

.text-yellow {
    color: #ffc800; }

.text-pink {
    color: #ff1577; }

.text-black {
    color: #000000; }

.left {
    text-align: left !important; }

.center {
    text-align: center !important; }

.right {
    text-align: right !important;
    margin-left: auto; }

.blue {
    background-color: #00bfe9; }

.yellow {
    background-color: #ffc800; }

.pink {
    background-color: #ff1577; }

.error {
    background-color: #c3272b;
    margin-bottom: 0 !important;
    padding-right: 20px;
}

.notice {
    background-color: #00bfe9;
    margin-bottom: 0 !important;
    padding-right: 20px;
}

.nopacity {
    opacity: 1 !important; }

info {
    width: 100%;
    background-color: #1C1D26;
    padding: 1em 2em;
    margin-bottom: 1em;
    text-align: center;
    position: relative;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    box-sizing: border-box; }
@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    info {
        padding: 0.5em 2.5em; } }
info:after {
    content: '';
    height: 100%;
    width: 1.5em;
    background-image: url("/nse/img/information.svg");
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    left: 1em;
    top: 0; }

.blue {
    background-color: #00bfe9; }

.yellow {
    background-color: #ffc800; }

.pink {
    background-color: #ff1577; }

.nopacity {
    opacity: 1 !important; }

[data-panel-collapse] {
    overflow: hidden;
    padding-bottom: 2em;
    position: relative;
    box-sizing: border-box; }
[data-panel-collapse] [data-panel-collapse-overlay] {
    position: absolute;
    height: 10em;
    width: 100%;
    background: linear-gradient(to top, #101116, #101116, 40%, transparent);
    left: 0px;
    bottom: 0px;
    z-index: 1; }
[data-panel-collapse] [data-panel-collapse-button] {
    position: absolute;
    height: 2em;
    width: 100%;
    left: 0;
    bottom: 0;
    display: flex;
    z-index: 10;
    justify-content: center; }
[data-panel-collapse] [data-panel-collapse-button] div {
    height: 28px;
    text-align: center;
    display: inline-block;
    padding: 0px 16px;
    margin: 4px 0px;
    align-items: center;
    cursor: pointer;
    text-transform: uppercase;
    color: #E6EAFF;
    text-decoration: underline; }

body {
    background-color: #101116;
    margin: 0;
    overflow-x: hidden;
    overflow-y: scroll; }
body.no-transition * {
    transition: none !important; }

.row {
    display: flex;
    flex-direction: row;
    justify-content: space-between; }

.news-post {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: 1fr 2fr;
    margin-bottom: 10px; }
.news-post h2 {
    text-align: left; }
.news-post img.news-post-image {
    width: 256px; }

hr {
    width: 100%;
    margin: 32px 0;
    border: none;
    background-color: #323343;
    height: 2px; }

.hidden {
    display: none; }

img[data-src] {
    background: url("/nse/img/add.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 50px; }
img[data-src]::before {
    content: '';
    background-color: #101116;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0; }

.font-xxsmall {
    font-size: 0.4em; }

.font-xsmall {
    font-size: 0.6em; }

.font-small {
    font-size: 0.8em; }

.font-normal {
    font-size: 14px; }

.font-large {
    font-size: 1.2em; }

.font-xlarge {
    font-size: 1.4em; }

.font-xxlarge {
    font-size: 1.8em; }

.font-xxxlarge {
    font-size: 2.2em; }

.offscreen-header {
    position: absolute;
    top: -1000px; }

[href]:not(a):not(link) {
    cursor: pointer; }

table.table {
    padding: 0;
}

table.table thead {
    text-transform: uppercase;
}

table.table td, table.table th {
    padding: 0.5em;
    text-align: left;
}

table.table thead th {
    font-size: 14px;
    font-weight: 400;
}

table.table .teams-name {
    text-align: left;
    width: 60%;
}

table.table .matches-hometeam {
    text-align: right;
}
table.table .matches-awayteam {
    text-align: left;
}

form .errorcollection {
    width: 100%;
    margin-bottom: 1em !important;
}

form.errorcollection ul {
    margin: 0.5em;
}

table.groups th {
    width: 5em;
}

table.groups th.groups-team {
    width: auto;
    text-align: left;
}

table.groups td.groups-team {
    text-align: left;
}

td.groups-points {
    font-weight: bold;
}

@media all and (max-width: 990px) {
    table.groups .groups-against, table.groups .groups-diff, table.groups .groups-for, table.groups .groups-streak {
        display: none;
    }
}

@media all and (max-width: 720px) {
    table.groups .groups-won, table.groups .groups-lost, table.groups .groups-drawn {
        display: none;
    }

    .matches-id, .matches-round {
        display: none;
    }
}

td.userteams-name, th.userteams-name, td.userteams-tournament, th.userteams-tournament {
    text-align: left !important;
}

td.files-filename, th.files-filename {
    text-align: left !important;
}

td.files-size, th.files-size {
    text-align: right !important;
}

.match-score {
    width: 2em;
    height: 2em;
    margin: 0.5em auto;
    text-align: center;
    font-weight: bold;
    font-size: 38pt;
    border: .05em solid #323343;
    background-color: #1c1d26;
    box-sizing: border-box;
    padding-top: 0.1em;
}

.match-map {
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
    height: 2em;
    width: 2em;
    font-size: 38pt;
    margin: 0.5em auto;
}

td.match-team-player, th.match-team-player {
    text-align: left !important;
}

td.tickets-date, td.tickets-subject, td.tickets-category, th.tickets-date, th.tickets-subject, th.tickets-category {
    text-align: left !important;
}

td.notes, th.notes {
    text-align: left !important;
}

.guids-edit form {
    align-items: stretch !important;
}

.guids-edit h4 {
    margin-top: 0;
}

.guids-edit h4 {
    margin-top: 2em;
    margin-bottom: 0.25em;
}

.guids-edit button {
    width: 10em;
    margin: 0 auto;
}

.fileupload {
    position: relative;
}

.fileupload input[type='file'] {
    width: 100%;
    height: 100%;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    cursor: pointer;
    display: block !important;
}

.checkin info {
    background-color: #c3272b;
    text-align: left;
    padding-left: 4em;
}

.checkin info p {
    margin: 10px 0 0 0;
    padding: 0;
    float: left;
}

.checkin info a.cta {
    float: right;
    width: 4em;
}

.checkin-complete info p {
    margin: 0;
    padding: 0;
    float: left;
}

.checkin-complete info {
    text-align: left;
    padding-left: 4em;
}

div[data-mobile-tabs=""] {
    display: none;
}

@media only screen and (max-width: 720px) and (orientation: portrait) and (max-height: 860px), only screen and (max-width: 860px) and (orientation: landscape) and (max-height: 720px) {
    div.university-banner {
        max-height: 300px;
        overflow: hidden;
    }

    div[data-mobile-tabs=""] {
        display: block;
    }

    div[data-mobile-tabs=""] ul {
        margin: 0;
        padding: 0;
    }

    div[data-mobile-tabs=""] li {
        width: 100%;
        list-style-type: none;
        margin: 0;
        padding: 0;
        text-align: center;
        font-size: 1.2em;
    }

    div[data-mobile-tabs=""] li.active {
        background-color: rgba(179, 210, 248, 0.05);
    }

    div[data-mobile-tabs=""] a {
        diplay: block;
        width: 100%;
        color: #E6EAFF;
    }
}

th.matches-id {
    width: 5%;
}

th.matches-time {
    width: 10%;
}

th.matches-hometeam, th.matches-awayteam {
    width: 30%;
}

th.matches-homescore, th.matches-awayscore {
    width: 5%;
}

th.matches-round {
    width: 9%;
}

th.matches-details {
    width: 6%;
}

.teams-tag, .teams-seeding, .teams-players, .teams-status {
    text-align: center !important;
}

.players-tag, .players-role, .players-action {
    text-align: center !important;
}

.matches-id, .matches-time, .matches-awayscore, .matches-homescore, .matches-round, .matches-detail {
    text-align: center !important;
}

.match-team-role {
    text-align: center !important;
}

.files-player {
    text-align: center !important;
}

.uni-logo {
    margin: 0 auto;
    display: block;
    object-fit: scale-down;
    max-height: 100%;
    height: 100%;
}

/* Elimination Tree */

table.tree {
    border-collapse: separate;
}

table.tree td {
    padding: 3px;
    background-color: #1C1D26
}

table.tree th {
    text-align: center;
}

table.tree tr {
    height: 14px;
}

table.tree td.team {
    height: 28px;
    border: 1px solid #c0c0c0;
    background-color: #292F3D;
    text-align: center;
    display: table-cell;
    width: revert;
}

table.tree td.match {
    vertical-align: bottom;
    width: 200px;
    font-size: 9px;
}

table.tree td.score {
    width: 35px;
    height: 28px;
    text-align: center;
    border: 1px solid #c0c0c0;
    background-color: #292F3D;
}

table.tree td.winner {
    font-weight: bold;
}

table.tree.quickswiss td.bracket {
    border: 0 !important;
}

table.tree.quickswiss td.line {
    border: 0 !important;
}

table.tree.quickswiss td.blankbracket {
    border: 0 !important;
}

table.tree.quickswiss td.firstbracket, table.tree.quickswiss td.firstline {
    border: 0 !important;
}

table.tree.quickswiss td.lastbracket, table.tree.quickswiss td.lastline {
    border: 0 !important;
}

table.tree td.bracket {
    border-top: 1px solid #000000;
    border-right: 2px solid #000000;
    border-bottom: 1px solid #000000;
}

table.tree td.line {
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
}

table.tree td.firstbracket, table.tree td.firstline {
    border-bottom: 1px solid #000000;
}

table.tree td.lastbracket, table.tree td.lastline {
    border-top: 1px solid #000000;
}

table.tree td.blankbracket {
    border-top: 1px solid #000000;
    border-bottom: 1px solid #000000;
}

table.tree td.team.default {
    font-size: 9px;
}

table.tree th {
    padding-bottom: 10px;
}

div.elimtree {
    overflow-x: auto;
    padding: 0 0 20px 0;
}

/* TabList */

#tablist {
    width: 100%;
    margin-bottom: 0.5em;
    list-style: none;
    display: flex;
    margin: 0;
    justify-content: center;
    position: relative;
    height: 70px;
}

#tablist li.tab, #tablist li.tab-last {
    font-size: 14px;
    padding: 0.5em 2em;
    text-transform: uppercase;
    cursor: pointer;
    z-index: 1;
}

#tablist a {
    color: #E6EAFF;
}
#tablist a:hover, #tablist li.selected a {
    border-bottom: 1px solid #E6EAFF;
}

.password-container {
    position: relative;
    width: 100%;
}

.show-password {
    position: absolute;
    top: 50%;
    right: 14px;
    transform: translateY(-50%);
    cursor: pointer;
    color: #E6EAFF;
    opacity: 0.6;
}

.show-password:hover {
    opacity: 1;
}


/* ==========================================================================
   PART C — 2026 THEME
   ========================================================================== *//* --------------------------------------------------------------------------
   C1: Design tokens — change brand colours and spacing here.
   -------------------------------------------------------------------------- */ :root {
                                                                                     --nse-ink: #1d1f28;
                                                                                     --nse-ink-deep: #111319;
                                                                                     --nse-paper: #f3f3ef;
                                                                                     --nse-white: #ffffff;
                                                                                     --nse-line: #343741;
                                                                                     --nse-muted: #989aa0;
                                                                                     --nse-cyan: #02b9e8;
                                                                                     --nse-pink: #fb1676;
                                                                                     --nse-yellow: #ffca05;
                                                                                     --nse-gradient: linear-gradient(90deg, var(--nse-yellow), var(--nse-pink) 50%, var(--nse-cyan));
                                                                                     --nse-sidebar: 248px;
                                                                                     --nse-content: 1180px;
                                                                                     --nse-font: "Titillium Web", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
                                                                                 }

/* --------------------------------------------------------------------------
   C2: Base — element defaults inside .nse-theme, typography, shared buttons.
   :where() keeps these at element specificity so component classes win.
   -------------------------------------------------------------------------- */ html { scroll-behavior: smooth; }
:where(.nse-theme, .nse-theme *)::selection { background: var(--nse-pink); color: #fff; }

:where(.nse-theme) { font-size: 1rem; line-height: 1.5; color-scheme: dark; }
:where(.nse-theme) h1, :where(.nse-theme) h2, :where(.nse-theme) h3, :where(.nse-theme) h4, :where(.nse-theme) h5, :where(.nse-theme) h6 { font-weight: 500; }
:where(.nse-theme) a { color: inherit; }
:where(.nse-theme) img { max-width: 100%; }
:where(.nse-theme) button { border-radius: 0 !important; }
:where(.nse-theme) .row { justify-content: normal; } /* legacy .row sets space-between */ .skip-link { position: fixed; top: -90px; left: 1rem; z-index: 9999; padding: .8rem 1rem; background: #fff; color: #000; }
.skip-link:focus { top: 1rem; }
.icon-inline:where(.nse-theme, .nse-theme *) { width: 1.05em; height: 1.05em; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.section-pad:where(.nse-theme, .nse-theme *) { padding-block: clamp(4.5rem, 8vw, 8rem); }
.section-label:where(.nse-theme, .nse-theme *) { display: flex; align-items: center; gap: 12px; margin: 0 0 10px; color: #6d7078; font-size: .58rem; font-weight: 700; letter-spacing: .19em; text-transform: uppercase; }
.section-label:where(.nse-theme, .nse-theme *)::before { content: ""; width: 34px; height: 4px; background: var(--nse-gradient); }
.section-heading:where(.nse-theme, .nse-theme *) { margin: 0; font-size: clamp(2.1rem, 4vw, 4rem); font-weight: 300; line-height: .95; letter-spacing: -.045em; }
.section-copy:where(.nse-theme, .nse-theme *) { max-width: 540px; margin: 0; color: #85878e; font-size: 1rem; line-height: 1.7; }
.yellow-tag:where(.nse-theme, .nse-theme *) { display: inline-flex; width: fit-content; padding: 8px 11px; background: var(--nse-yellow); color: #17191f; font-size: .57rem; font-weight: 700; line-height: 1; letter-spacing: .12em; text-transform: uppercase; }
.outline-button:where(.nse-theme, .nse-theme *), .white-button:where(.nse-theme, .nse-theme *), .dark-button:where(.nse-theme, .nse-theme *), .pink-button:where(.nse-theme, .nse-theme *) { min-height: 50px; padding: 0 20px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; border: 1px solid #fff; background: transparent; color: #fff; font-size: .61rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.outline-button:hover:where(.nse-theme, .nse-theme *), .white-button:where(.nse-theme, .nse-theme *) { background: #fff; color: var(--nse-ink); }
.dark-button:where(.nse-theme, .nse-theme *) { background: var(--nse-ink-deep); border-color: var(--nse-ink-deep); }
.pink-button:where(.nse-theme, .nse-theme *) { background: var(--nse-pink); border-color: var(--nse-pink); }

/* Legacy .carousel adds side margins to every carousel; undo for theme carousels. */ .nse-theme .carousel { margin: 0; width: auto; }

/* Theme cards (scoped so leftover .card markup on legacy pages isn't animated). */ .nse-theme .card { transition: ease-in 400ms; }
.nse-theme .card:hover { opacity: .78; transform: translate(0, -2px); transition: ease-in 400ms; }
.nse-theme .card-title { position: relative; border: none !important; }
.nse-theme .card-title::before { content: ""; position: absolute; bottom: 0; width: 34px; height: 2px; background: var(--nse-gradient); transition: ease-in 600ms; }
.nse-theme .card:hover .card-title::before { width: 50%; transition: ease-in-out 800ms; }

/* --------------------------------------------------------------------------
   C3: Shell — sidebar, mobile navigation, page wrapper, CTA and footer.
   -------------------------------------------------------------------------- */ .nse-main { min-height: 100vh; margin-left: var(--nse-sidebar); display: flex; flex-direction: column; }
.nse-page-content { flex: 1 0 auto; display: flex; flex-direction: column; }

.nse-sidebar:where(.nse-theme, .nse-theme *) { position: fixed; inset: 0 auto 0 0; z-index: 1030; width: var(--nse-sidebar); min-height: 100vh; padding: 28px 24px 24px; display: flex; flex-direction: column; overflow-y: auto; background: var(--nse-ink); color: #fff; border-right: 1px solid var(--nse-line); }
.nse-brand:where(.nse-theme, .nse-theme *) { display: inline-flex; width: fit-content; }
.nse-brand:where(.nse-theme, .nse-theme *) span { font-size: 1.8rem; font-weight: 700; line-height: 1; letter-spacing: -.06em; background: linear-gradient(90deg, var(--nse-yellow), var(--nse-pink) 48%, var(--nse-cyan)); background-clip: text; -webkit-background-clip: text; color: transparent; }
/* NSE logo image: height is set per context with --nse-logo-height; the <span> rule above is the old text logo. */
.nse-brand:where(.nse-theme, .nse-theme *) img { display: block; width: auto; max-width: none; height: var(--nse-logo-height, 40px); }
.mobile-header:where(.nse-theme, .nse-theme *) .nse-brand, .mobile-menu:where(.nse-theme, .nse-theme *) .nse-brand, .university-modal:where(.nse-theme, .nse-theme *) .nse-brand { --nse-logo-height: 32px; }
.sidebar-label:where(.nse-theme, .nse-theme *) { margin: 48px 0 15px; color: #737680; font-size: .58rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.side-nav:where(.nse-theme, .nse-theme *) { display: grid; }
.side-nav:where(.nse-theme, .nse-theme *) a { position: relative; padding: 10px 0 10px 19px; color: #b3b5bb; font-size: .82rem; font-weight: 600; transition: .2s ease; }
.side-nav:where(.nse-theme, .nse-theme *) a::before { content: ""; position: absolute; left: 0; top: 50%; width: 3px; height: 0; background: linear-gradient(var(--nse-yellow), var(--nse-pink), var(--nse-cyan)); transform: translateY(-50%); transition: .2s ease; }
.side-nav:where(.nse-theme, .nse-theme *) a:hover, .side-nav:where(.nse-theme, .nse-theme *) a.active { color: #fff; }
.side-nav:where(.nse-theme, .nse-theme *) a:hover::before, .side-nav:where(.nse-theme, .nse-theme *) a.active::before { height: 13px; }
.sidebar-bottom:where(.nse-theme, .nse-theme *) { margin-top: auto; padding-top: 26px; }
.side-stats:where(.nse-theme, .nse-theme *) { border-block: 1px solid var(--nse-line); }
.side-stats:where(.nse-theme, .nse-theme *) span { display: flex; justify-content: space-between; padding: 11px 0; color: #777a83; font-size: .56rem; letter-spacing: .12em; text-transform: uppercase; }
.side-stats:where(.nse-theme, .nse-theme *) span + span { border-top: 1px solid var(--nse-line); }
.side-stats:where(.nse-theme, .nse-theme *) strong { color: #fff; font-size: .7rem; font-weight: 400; letter-spacing: 0; }
.side-search:where(.nse-theme, .nse-theme *) { width: 100%; min-height: 45px; padding: 0 12px; display: flex; align-items: center; justify-content: space-between; border: 1px solid #3b3e48; background: transparent; color: #777a83; font-size: .69rem; }
.side-search:hover:where(.nse-theme, .nse-theme *) { border-color: var(--nse-cyan); color: #fff; }

/* Account buttons (guest) and member links. */ .account-actions:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: 1fr 1.25fr; gap: 8px; margin-top: 9px; }
.account-actions:where(.nse-theme, .nse-theme *) a { min-height: 42px; display: grid; place-items: center; border: 1px solid #3b3e48; color: #fff; font-size: .56rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.account-actions:where(.nse-theme, .nse-theme *) a:hover { border-color: var(--nse-cyan); color: var(--nse-cyan); }
.account-actions:where(.nse-theme, .nse-theme *) .join { background: var(--nse-pink); border-color: var(--nse-pink); }
.account-actions:where(.nse-theme, .nse-theme *) .join:hover { border-color: #d90f65; background: #d90f65; color: #fff; }
.account-actions-member:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr 1fr; }
.account-actions:where(.nse-theme, .nse-theme *) .account-admin { grid-column: 1 / -1; }
.side-user:where(.nse-theme, .nse-theme *) { margin-top: 9px; padding: 10px 12px; display: flex; align-items: center; gap: 12px; border: 1px solid #3b3e48; color: #fff; }
.side-user:hover:where(.nse-theme, .nse-theme *) { border-color: var(--nse-cyan); }
.side-user:where(.nse-theme, .nse-theme *) img { width: 38px; height: 38px; flex: 0 0 38px; border-radius: 50%; object-fit: cover; background: var(--nse-ink-deep); }
.side-user:where(.nse-theme, .nse-theme *) span { min-width: 0; display: grid; }
.side-user:where(.nse-theme, .nse-theme *) strong { overflow: hidden; font-size: .8rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.side-user:where(.nse-theme, .nse-theme *) small { color: #777a83; font-size: .52rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

.sidebar-socials:where(.nse-theme, .nse-theme *) { margin-top: 16px; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
.sidebar-socials:where(.nse-theme, .nse-theme *) a { height: 36px; display: grid; place-items: center; border: 1px solid #3b3e48; color: #9698a0; font-size: .56rem; font-weight: 700; }
.sidebar-socials:where(.nse-theme, .nse-theme *) a:hover { border-color: var(--nse-cyan); color: #fff; }

.mobile-header:where(.nse-theme, .nse-theme *) { position: fixed; inset: 0 0 auto; z-index: 1040; height: 72px; padding: 0 20px; align-items: center; justify-content: space-between; background: rgba(29,31,40,.97); border-bottom: 1px solid var(--nse-line); }
.menu-button:where(.nse-theme, .nse-theme *) { width: 43px; padding: 9px; display: grid; gap: 7px; border: 0; background: none; }
.menu-button:where(.nse-theme, .nse-theme *) span { height: 2px; display: block; background: #fff; }
.menu-button:where(.nse-theme, .nse-theme *) span:last-child { width: 70%; margin-left: auto; }
.mobile-menu:where(.nse-theme, .nse-theme *) { background: var(--nse-ink); color: #fff; }
.mobile-menu:where(.nse-theme, .nse-theme *) .offcanvas-header, .mobile-menu:where(.nse-theme, .nse-theme *) .offcanvas-body { padding: 28px; }
.mobile-nav:where(.nse-theme, .nse-theme *) { display: grid; }
.mobile-nav:where(.nse-theme, .nse-theme *) a { padding: 16px 0; border-bottom: 1px solid var(--nse-line); font-size: 1.15rem; }
.mobile-nav:where(.nse-theme, .nse-theme *) a.active { color: var(--nse-cyan); }
.mobile-account:where(.nse-theme, .nse-theme *) { margin-top: 24px; }
.mobile-account:where(.nse-theme, .nse-theme *) .account-actions a { min-height: 48px; font-size: .58rem; }
.mobile-menu:where(.nse-theme, .nse-theme *) .sidebar-socials { max-width: 240px; margin-top: 24px; }

.cta-band:where(.nse-theme, .nse-theme *) { min-height: 180px; padding: 36px clamp(1.5rem, 6vw, 6rem); display: flex; align-items: center; justify-content: space-between; gap: 28px; background: linear-gradient(45deg, #000, #212529 93%); color: #fff; }
.cta-band:where(.nse-theme, .nse-theme *) h2 { max-width: 760px; margin: 0; font-size: clamp(2rem, 4vw, 3.8rem); font-weight: 300; line-height: 1; }
.cta-band:where(.nse-theme, .nse-theme *) p { color: #a3a5ab; }
.cta-band:where(.nse-theme, .nse-theme *) .outline-button { flex: 0 0 auto; white-space: nowrap; }
.site-footer:where(.nse-theme, .nse-theme *) { min-height: 84px; padding: 0 clamp(1.5rem, 6vw, 6rem); display: flex; align-items: center; justify-content: space-between; gap: 20px; background: var(--nse-ink); color: #73757e; font-size: .57rem; letter-spacing: .05em; }
.footer-links:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.footer-links:where(.nse-theme, .nse-theme *) a { color: #9a9ca4; font-size: .68rem; }
.footer-links:where(.nse-theme, .nse-theme *) a:hover { color: #fff; }

/* --------------------------------------------------------------------------
   C4: Homepage — hero slider.
   -------------------------------------------------------------------------- */ .hero:where(.nse-theme, .nse-theme *) { height: 480px; overflow: hidden; background: var(--nse-ink-deep); color: #fff; }
.hero-slide:where(.nse-theme, .nse-theme *) { height: 480px; display: flex; align-items: center; position: relative; background-image: var(--image); background-position: center; background-size: cover; }
.hero-slide:where(.nse-theme, .nse-theme *)::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,10,15,.97), rgba(8,10,15,.76) 50%, rgba(8,10,15,.35)), linear-gradient(0deg, rgba(8,10,15,.75), transparent 65%); }
.hero-content:where(.nse-theme, .nse-theme *) { position: relative; z-index: 1; width: 100%; max-width: 980px; padding: 40px clamp(2rem, 7vw, 7rem); }
/* Hero video slide. The clip is a 5:1 banner with the championship badge
   centred, so it is shown whole (never cropped) over a blurred copy of itself,
   and .hero-content is held to the left so the copy never crosses the badge. */
.hero-slide-video:where(.nse-theme, .nse-theme *) { background-image: none; background-color: var(--nse-ink-deep); }
.hero-slide-video:where(.nse-theme, .nse-theme *)::before { z-index: 0; background: var(--image) center / cover no-repeat; filter: blur(42px) brightness(.34) saturate(1.1); transform: scale(1.14); }
.hero-media:where(.nse-theme, .nse-theme *) { position: absolute; inset: 0; z-index: 1; width: 100%; height: 100%; object-fit: contain; object-position: center; }
/* Legibility wash under the copy only, so the centred badge stays clear. */
.hero-slide-video:where(.nse-theme, .nse-theme *)::after { content: ""; position: absolute; inset: 0; z-index: 2; background: linear-gradient(90deg, rgba(8,10,15,.93), rgba(8,10,15,.78) 30%, rgba(8,10,15,.24) 46%, transparent 58%); }
/* 42% keeps the copy clear of the centred badge at every width, since the badge
   starts at roughly 44.5% of the slide. */
.hero-slide-video:where(.nse-theme, .nse-theme *) .hero-content { z-index: 3; max-width: min(620px, 42%); padding-right: 6px; }
.hero-slide-video:where(.nse-theme, .nse-theme *) .hero-content > p:not(.section-label) { max-width: 430px; font-size: clamp(.95rem, 1.15vw, 1.1rem); }

/* Partner slides: 2000x400 banners with their message baked in, so they are never
   cropped. Shown whole over a blurred, dimmed copy of themselves. */
.hero-slide-banner:where(.nse-theme, .nse-theme *) { background-image: none; background-color: var(--nse-ink-deep); }
.hero-slide-banner:where(.nse-theme, .nse-theme *)::before { background: var(--image) center / cover no-repeat; filter: blur(38px) brightness(.42) saturate(1.15); transform: scale(1.14); }
.hero-banner-frame:where(.nse-theme, .nse-theme *) { position: relative; z-index: 1; height: 100%; display: grid; place-items: center; padding: clamp(1rem, 3vw, 2.75rem); }
.hero-banner-frame:where(.nse-theme, .nse-theme *) :is(img, video) { width: 100%; max-width: 1500px; max-height: 100%; height: auto; display: block; object-fit: contain; box-shadow: 0 26px 70px rgba(0,0,0,.45); }
.hero-banner-frame:where(.nse-theme, .nse-theme *) a { display: block; }

/* No autoplay when the visitor asks for reduced motion: the poster frame shows instead. */
@media (prefers-reduced-motion: reduce) {
    .hero-media:where(.nse-theme, .nse-theme *) { display: none; }
    .hero-slide-video:where(.nse-theme, .nse-theme *) { background-image: url("/nse/img/hero/nse-hero.jpg"); background-position: 95% center; background-size: cover; }
}
.hero-content:where(.nse-theme, .nse-theme *) .section-label { color: #c5c7cc; }
.hero-content:where(.nse-theme, .nse-theme *) h1, .hero-content:where(.nse-theme, .nse-theme *) .hero-title { margin: 25px 0 20px; color: #fff; font-size: clamp(4.7rem, 9vw, 8rem); font-weight: 300; line-height: .82; letter-spacing: -.06em; }
.hero-content:where(.nse-theme, .nse-theme *) .hero-long { font-size: clamp(3.7rem, 7vw, 6.3rem); }
.hero-content:where(.nse-theme, .nse-theme *) > p:not(.section-label) { max-width: 760px; color: #b7b9be; font-size: clamp(1rem, 1.55vw, 1.3rem); line-height: 1.6; }
.hero-actions:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px; }
.hero-controls:where(.nse-theme, .nse-theme *) { position: absolute; right: 24px; bottom: 22px; z-index: 4; display: flex; align-items: center; background: rgba(17,19,25,.84); border: 1px solid #3b3e48; }
.hero-controls:where(.nse-theme, .nse-theme *) button { width: 46px; height: 44px; border: 0; background: transparent; color: #fff; }
.hero-controls:where(.nse-theme, .nse-theme *) span { min-width: 76px; text-align: center; color: #8c8f97; font-size: .58rem; letter-spacing: .12em; }

/* C5: Pathway cards and competition (collection) cards. */ .quick-links:where(.nse-theme, .nse-theme *) { padding: 58px 20px; background: var(--nse-ink); color: #fff; }
.quick-links-title:where(.nse-theme, .nse-theme *) { margin: 0 0 1rem; color: #fff; }
.quick-card:where(.nse-theme, .nse-theme *) { min-height: 410px; padding: 30px; position: relative; display: flex; align-items: end; overflow: hidden; background-image: var(--image); background-position: center; background-size: cover; }
.quick-card:where(.nse-theme, .nse-theme *)::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,10,15,.08), rgba(8,10,15,.97)); }
.quick-card:where(.nse-theme, .nse-theme *) > div { position: relative; z-index: 1; }
/* Cards with no photo yet: theme gradient instead of a flat black panel. */
.quick-card-flat:where(.nse-theme, .nse-theme *) { background-color: var(--nse-ink-deep); background-image: radial-gradient(circle at 14% 16%, rgba(2,185,232,.5), transparent 46%), radial-gradient(circle at 86% 24%, rgba(251,22,118,.42), transparent 52%), radial-gradient(circle at 60% 88%, rgba(255,202,5,.22), transparent 55%); }
.quick-card-flat:where(.nse-theme, .nse-theme *)::before { background: linear-gradient(180deg, rgba(8,10,15,.25), rgba(8,10,15,.93)); }
.quick-card:where(.nse-theme, .nse-theme *) h2, .quick-card:where(.nse-theme, .nse-theme *) h3 { margin: 18px 0 9px; font-size: 2rem; font-weight: 300; }
.quick-card:where(.nse-theme, .nse-theme *) p { min-height: 68px; max-width: 360px; margin: 0 0 24px; color: #a3a5ab; font-size: .83rem; line-height: 1.6; }
.quick-card:where(.nse-theme, .nse-theme *) a, .news-card:where(.nse-theme, .nse-theme *) a, .game-card:where(.nse-theme, .nse-theme *) a { display: inline-flex; align-items: center; gap: 15px; color: #fff; font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.competitions-section:where(.nse-theme, .nse-theme *) { padding-block: 0; background: var(--nse-ink-deep); }
.event-card:where(.nse-theme, .nse-theme *) .card-title { margin-bottom: 14px; font-size: 1.5rem; }
.event-card:where(.nse-theme, .nse-theme *) .card-text { color: #a3a5ab; font-size: .88rem; line-height: 1.6; }
.event-card:where(.nse-theme, .nse-theme *) .card-img-top { background: var(--nse-ink); }

/* C6: Partner carousel. */ .hero-partners:where(.nse-theme, .nse-theme *) { position: relative; z-index: 4; min-height: 122px; display: grid; grid-template-columns: 190px minmax(0, 1fr) auto; align-items: stretch; border-top: 1px solid rgba(255,255,255,.17); background: rgba(7,9,13,.94); color: var(--nse-white); backdrop-filter: blur(16px); }
.partner-heading:where(.nse-theme, .nse-theme *) { padding: 22px 26px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.14); color: #fff; }
.partner-heading:where(.nse-theme, .nse-theme *) span { color: var(--nse-yellow); font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.partner-heading:where(.nse-theme, .nse-theme *) strong { margin-top: 5px; font-size: 17px; }
.partner-viewport:where(.nse-theme, .nse-theme *) { min-width: 0; overflow: hidden; }
.partner-track:where(.nse-theme, .nse-theme *) { height: 100%; display: flex; transition: transform .55s cubic-bezier(.22, .61, .36, 1); }
.partner-slide:where(.nse-theme, .nse-theme *) { min-width: 20%; padding: 18px; display: grid; place-items: center; border-right: 1px solid rgba(255,255,255,.1); }
.partner-logo:where(.nse-theme, .nse-theme *) { display: grid; gap: 4px; place-items: center; color: rgba(255,255,255,.72); text-align: center; filter: grayscale(1); transition: color .2s ease, filter .2s ease, transform .2s ease; }
.partner-slide:hover:where(.nse-theme, .nse-theme *) .partner-logo { color: var(--nse-white); filter: grayscale(0); transform: translateY(-2px); }
.partner-logo:where(.nse-theme, .nse-theme *) b { font-size: clamp(14px, 1.7vw, 22px); letter-spacing: -.025em; text-transform: uppercase; }
.partner-logo:where(.nse-theme, .nse-theme *) small { color: rgba(255,255,255,.34); font-size: 8px; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
/* Logo slides: a fixed box keeps tall and wide logos visually balanced. */
.partner-mark:where(.nse-theme, .nse-theme *) { height: 64px; width: 100%; max-width: 156px; display: block; }
.partner-mark:where(.nse-theme, .nse-theme *) img { width: 100%; height: 100%; display: block; object-fit: contain; object-position: center; }
/* Brand logos keep their colour; the greyscale rest state is for the text slides. */
.partner-logo-image:where(.nse-theme, .nse-theme *) { filter: none; opacity: .82; transition: opacity .2s ease, transform .2s ease; }
.partner-slide:hover:where(.nse-theme, .nse-theme *) .partner-logo-image { opacity: 1; }
.partner-logo-image:where(.nse-theme, .nse-theme *) small { margin-top: 2px; }
.partner-controls:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: repeat(2, 56px); border-left: 1px solid rgba(255,255,255,.14); }
.partner-controls.is-static:where(.nse-theme, .nse-theme *) { display: none; }
.partner-arrow:where(.nse-theme, .nse-theme *) { border: 0; background: transparent; color: #fff; font-size: 22px; }
.partner-arrow:where(.nse-theme, .nse-theme *) + .partner-arrow { border-left: 1px solid rgba(255,255,255,.14); }
.partner-arrow:hover:where(.nse-theme, .nse-theme *), .partner-arrow:focus-visible:where(.nse-theme, .nse-theme *) { background: var(--nse-gradient); color: #fff; }

/* C7: Homepage blocks that host legacy markup (check-ins, matches, news posts). */ .home-alerts { padding: 20px clamp(1.25rem, 4vw, 3rem) 4px; background: var(--nse-ink-deep); }
.home-dashboard { padding: 56px clamp(1.25rem, 4vw, 3rem); background: var(--nse-ink-deep); border-bottom: 1px solid var(--nse-line); }
.home-dashboard .section-heading { margin-bottom: 8px; color: #fff; font-size: clamp(2rem, 3.4vw, 3.2rem); }
.table-scroll { overflow-x: auto; }

/* C8: News cards. */ .news-section:where(.nse-theme, .nse-theme *) { background: var(--nse-paper); color: var(--nse-ink); }
.news-card:where(.nse-theme, .nse-theme *) { height: 100%; background: #fff; }
.news-image:where(.nse-theme, .nse-theme *) { min-height: 270px; position: relative; background-image: var(--image); background-position: center; background-size: cover; }
.news-image:where(.nse-theme, .nse-theme *) span { position: absolute; left: 0; bottom: 0; padding: 9px 12px; background: #fff; font-size: .52rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.news-body:where(.nse-theme, .nse-theme *) { padding: 27px; }
.news-body:where(.nse-theme, .nse-theme *) small { color: #747780; font-size: .55rem; letter-spacing: .15em; text-transform: uppercase; }
.news-body:where(.nse-theme, .nse-theme *) h3 { margin: 16px 0 13px; font-size: 1.62rem; font-weight: 300; line-height: 1.03; }
.news-body:where(.nse-theme, .nse-theme *) p { min-height: 68px; color: #8f9198; font-size: .8rem; line-height: 1.6; }
.news-body:where(.nse-theme, .nse-theme *) a { color: #24262e; }

/* C9: Feature panel and game carousel. */ .showcase:where(.nse-theme, .nse-theme *) { position: relative; overflow: hidden; background: var(--nse-ink-deep); color: #fff; }
.showcase:where(.nse-theme, .nse-theme *) .container-fluid { position: relative; }
.showcase:where(.nse-theme, .nse-theme *) em { color: #fff; font-style: normal; }
.showcase-card:where(.nse-theme, .nse-theme *) { min-height: 480px; padding: 28px; display: flex; flex-direction: column; justify-content: end; background: linear-gradient(180deg, rgba(8,10,15,.08), rgba(8,10,15,.93)), var(--image) center/cover; border: 1px solid #3a3d46; }
.showcase-card:where(.nse-theme, .nse-theme *) h3 { max-width: 680px; margin: 18px 0 0; font-weight: 300; line-height: .96; }
.games-section:where(.nse-theme, .nse-theme *) { background: var(--nse-ink); color: #fff; }
.game-carousel:where(.nse-theme, .nse-theme *) { padding-right: 74px; position: relative; border: 1px solid #3a3d46; }
.game-card:where(.nse-theme, .nse-theme *) { min-height: 500px; padding: 30px; position: relative; display: flex; flex-direction: column; justify-content: end; overflow: hidden; background-image: var(--image); background-position: center; background-size: cover; border-right: 1px solid #3a3d46; }
.game-card:where(.nse-theme, .nse-theme *)::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,10,15,.08), rgba(8,10,15,.97)); }
.game-card:where(.nse-theme, .nse-theme *) > * { position: relative; }
.game-card:where(.nse-theme, .nse-theme *) h3 { margin: 18px 0 11px; font-size: clamp(2.1rem, 3.4vw, 3.5rem); font-weight: 300; line-height: .9; }
.game-card:where(.nse-theme, .nse-theme *) p { min-height: 78px; color: #a0a2a8; font-size: .85rem; line-height: 1.6; }
.game-controls:where(.nse-theme, .nse-theme *) { position: absolute; inset: 0 0 0 auto; width: 74px; display: grid; grid-template-rows: 1fr 1fr; }
.game-controls:where(.nse-theme, .nse-theme *) button { border: 0; border-left: 1px solid #3a3d46; background: var(--nse-ink-deep); color: #fff; }
.game-controls:where(.nse-theme, .nse-theme *) button + button { border-top: 1px solid #3a3d46; }

/* C10: Social image rail. */ .social-section:where(.nse-theme, .nse-theme *) { background: #14161d; color: #fff; }
.social-grid:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: repeat(5, 1fr); }
.social-card:where(.nse-theme, .nse-theme *) { min-height: 250px; padding: 18px; position: relative; display: flex; align-items: end; background-image: var(--image); background-position: center; background-size: cover; }
.social-card:where(.nse-theme, .nse-theme *)::before { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, rgba(8,10,15,.88)); }
.social-card:where(.nse-theme, .nse-theme *) span { position: relative; display: grid; }
.social-card:where(.nse-theme, .nse-theme *) strong { font-size: .75rem; }
.social-card:where(.nse-theme, .nse-theme *) small { margin-top: 4px; color: #aaa; font-size: .48rem; letter-spacing: .14em; text-transform: uppercase; }

/* --------------------------------------------------------------------------
   C11: Inner page templates (single page and single post) — for converting
   further pages to the theme.
   -------------------------------------------------------------------------- */ .inner-hero:where(.nse-theme, .nse-theme *) { min-height: 570px; position: relative; display: flex; align-items: end; overflow: hidden; background-image: var(--image); background-position: center; background-size: cover; color: #fff; }
.inner-hero:where(.nse-theme, .nse-theme *)::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10,12,17,.97), rgba(10,12,17,.75) 55%, rgba(10,12,17,.28)), linear-gradient(0deg, rgba(10,12,17,.9), transparent 70%); }
.inner-hero-content:where(.nse-theme, .nse-theme *) { position: relative; z-index: 1; width: min(100%, 1040px); padding: 110px clamp(2rem, 7vw, 7rem) 75px; }
.breadcrumbs:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 45px; color: #878a92; font-size: .57rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.breadcrumbs:where(.nse-theme, .nse-theme *) a:hover { color: var(--nse-cyan); }
.inner-hero:where(.nse-theme, .nse-theme *) h1 { margin: 18px 0; font-size: clamp(4.5rem, 8vw, 8rem); font-weight: 300; line-height: .82; letter-spacing: -.06em; }
.inner-hero-content:where(.nse-theme, .nse-theme *) > p:last-child { max-width: 760px; margin: 28px 0 0; color: #b6b8bf; font-size: clamp(1.12rem, 1.65vw, 1.5rem); line-height: 1.55; }
.page-layout:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: minmax(210px, .33fr) 1fr; }
.page-toc:where(.nse-theme, .nse-theme *) { padding: 72px 32px; border-right: 1px solid #d9d9d4; }
.page-toc:where(.nse-theme, .nse-theme *) > span, .post-aside:where(.nse-theme, .nse-theme *) > span, .post-share:where(.nse-theme, .nse-theme *) > span { display: block; margin-bottom: 24px; color: #8e9096; font-size: .53rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.page-toc:where(.nse-theme, .nse-theme *) a { min-height: 48px; display: grid; grid-template-columns: 34px 1fr; align-items: center; border-bottom: 1px solid #deded9; color: #6d7077; font-size: .74rem; }
.page-toc:where(.nse-theme, .nse-theme *) small { color: #a5a7ac; font-size: .51rem; }
.content-block:where(.nse-theme, .nse-theme *) { scroll-margin-top: 30px; padding: clamp(4rem, 8vw, 7rem) clamp(2rem, 8vw, 8rem); border-bottom: 1px solid #d9d9d4; }
.content-block:where(.nse-theme, .nse-theme *) h2 { max-width: 760px; margin: 0 0 30px; font-size: clamp(2.5rem, 4.8vw, 4.8rem); font-weight: 300; line-height: .93; letter-spacing: -.05em; }
.content-block:where(.nse-theme, .nse-theme *) p { max-width: 790px; color: #686b72; font-size: 1rem; line-height: 1.82; }
.content-block:where(.nse-theme, .nse-theme *) .page-lead { color: #252831; font-size: clamp(1.18rem, 1.8vw, 1.48rem); line-height: 1.58; }
.page-stat-grid:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 45px; border-block: 1px solid #d1d1cc; }
.page-stat-grid:where(.nse-theme, .nse-theme *) div { padding: 30px 22px 26px 0; display: grid; }
.page-stat-grid:where(.nse-theme, .nse-theme *) div + div { padding-left: 24px; border-left: 1px solid #d1d1cc; }
.page-stat-grid:where(.nse-theme, .nse-theme *) strong { font-size: clamp(2.3rem, 4vw, 4rem); font-weight: 300; line-height: 1; }
.page-stat-grid:where(.nse-theme, .nse-theme *) span { margin-top: 9px; color: #84868c; font-size: .57rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.feature-list:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 42px; background: var(--nse-ink); color: #fff; }
.feature-list:where(.nse-theme, .nse-theme *) article { min-height: 260px; padding: 27px; }
.feature-list:where(.nse-theme, .nse-theme *) article + article { border-left: 1px solid var(--nse-line); }
.feature-list:where(.nse-theme, .nse-theme *) span { color: var(--nse-yellow); font-size: .54rem; font-weight: 700; }
.feature-list:where(.nse-theme, .nse-theme *) h3 { margin: 52px 0 14px; font-size: 1.62rem; font-weight: 300; }
.feature-list:where(.nse-theme, .nse-theme *) p { color: #94969d; font-size: .79rem; line-height: 1.6; }
.content-block:where(.nse-theme, .nse-theme *) blockquote { max-width: 780px; margin: 45px 0; padding-left: 28px; border-left: 5px solid var(--nse-cyan); color: #22252d; font-size: clamp(1.55rem, 2.6vw, 2.4rem); font-weight: 300; line-height: 1.25; }
.post-header:where(.nse-theme, .nse-theme *) { padding: 90px clamp(2rem, 8vw, 8rem) 70px; background: var(--nse-ink-deep); color: #fff; }
.post-header:where(.nse-theme, .nse-theme *) h1 { max-width: 1050px; margin: 28px 0 32px; font-size: clamp(3.4rem, 7vw, 7.2rem); font-weight: 300; line-height: .88; letter-spacing: -.058em; }
.post-standfirst:where(.nse-theme, .nse-theme *) { max-width: 850px; color: #aeb0b7; font-size: clamp(1.14rem, 1.8vw, 1.48rem); line-height: 1.58; }
.post-meta:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; gap: 34px; margin-top: 50px; padding-top: 23px; border-top: 1px solid var(--nse-line); }
.post-meta:where(.nse-theme, .nse-theme *) span { display: grid; color: #686b74; font-size: .51rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.post-meta:where(.nse-theme, .nse-theme *) strong { margin-top: 4px; color: #c7c9ce; font-size: .69rem; font-weight: 400; letter-spacing: .03em; text-transform: none; }
.post-feature:where(.nse-theme, .nse-theme *) { margin: 0; background: var(--nse-ink); }
.post-feature:where(.nse-theme, .nse-theme *) img { width: 100%; height: clamp(360px, 53vw, 720px); display: block; object-fit: cover; }
.post-feature:where(.nse-theme, .nse-theme *) figcaption { padding: 12px 24px; color: #797c84; font-size: .56rem; }
.post-layout:where(.nse-theme, .nse-theme *) { padding: clamp(4rem, 8vw, 8rem) 2rem; display: grid; grid-template-columns: 86px minmax(0, 760px) minmax(170px, 230px); justify-content: center; gap: clamp(2rem, 5vw, 5rem); }
.post-share:where(.nse-theme, .nse-theme *) { display: flex; flex-direction: column; align-items: center; }
.post-share:where(.nse-theme, .nse-theme *) a { width: 42px; height: 42px; margin-bottom: 7px; display: grid; place-items: center; border: 1px solid #d3d3ce; color: #707279; font-size: .55rem; font-weight: 700; }
.post-content:where(.nse-theme, .nse-theme *) p, .post-content:where(.nse-theme, .nse-theme *) li { color: #5f6269; font-size: 1.04rem; line-height: 1.85; }
.post-content:where(.nse-theme, .nse-theme *) .post-dropcap { color: #282b33; font-size: 1.28rem; line-height: 1.65; }
.post-dropcap:where(.nse-theme, .nse-theme *)::first-letter { float: left; margin: 7px 11px 0 0; color: var(--nse-pink); font-size: 4.7rem; font-weight: 600; line-height: .72; }
.post-content:where(.nse-theme, .nse-theme *) h2 { scroll-margin-top: 30px; margin: 68px 0 23px; font-size: clamp(2.2rem, 4vw, 3.7rem); font-weight: 300; line-height: .95; letter-spacing: -.045em; }
.post-content:where(.nse-theme, .nse-theme *) blockquote { margin: 52px 0; padding: 28px 0; border-block: 1px solid #cfcfca; color: #24272f; font-size: clamp(1.65rem, 3vw, 2.6rem); font-weight: 300; line-height: 1.25; }
.post-callout:where(.nse-theme, .nse-theme *) { margin: 42px 0; padding: 28px; background: var(--nse-ink); color: #fff; }
.post-callout:where(.nse-theme, .nse-theme *) span { color: var(--nse-yellow); font-size: .54rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.post-callout:where(.nse-theme, .nse-theme *) strong { margin: 16px 0 8px; display: block; font-size: 1.42rem; font-weight: 400; }
.post-callout:where(.nse-theme, .nse-theme *) p { margin: 0; color: #91939b; font-size: .81rem; }
.post-aside:where(.nse-theme, .nse-theme *) a { display: block; padding: 12px 0; border-bottom: 1px solid #d6d6d1; color: #777980; font-size: .67rem; }
.next-story:where(.nse-theme, .nse-theme *) { padding: 72px clamp(2rem, 8vw, 8rem); background: var(--nse-ink); color: #fff; }
.next-story:where(.nse-theme, .nse-theme *) > span { color: #747780; font-size: .54rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.next-story:where(.nse-theme, .nse-theme *) a { margin-top: 22px; padding-top: 28px; display: grid; grid-template-columns: 100px minmax(0, 800px) auto; align-items: center; gap: 22px; border-top: 1px solid var(--nse-line); }
.next-story:where(.nse-theme, .nse-theme *) small { color: var(--nse-yellow); font-size: .54rem; font-weight: 700; text-transform: uppercase; }
.next-story:where(.nse-theme, .nse-theme *) strong { font-size: clamp(1.7rem, 3vw, 3rem); font-weight: 300; line-height: 1; }
.next-story:where(.nse-theme, .nse-theme *) b { color: var(--nse-cyan); font-size: 2rem; font-weight: 300; }

/* --------------------------------------------------------------------------
   C12: University finder modal.
   -------------------------------------------------------------------------- */ .university-modal:where(.nse-theme, .nse-theme *) .modal-content { background: var(--nse-ink-deep); color: #fff; }
.university-modal:where(.nse-theme, .nse-theme *) .modal-header { padding: 27px 5vw; border-color: var(--nse-line); }
.university-modal:where(.nse-theme, .nse-theme *) .modal-body { padding: 4rem 1.5rem; }
.finder-panel:where(.nse-theme, .nse-theme *) { max-width: var(--nse-content); margin: auto; }
.finder-panel:where(.nse-theme, .nse-theme *) h2 { margin: 10px 0 30px; font-size: clamp(3rem, 6vw, 6rem); font-weight: 300; letter-spacing: -.05em; }
.finder-search:where(.nse-theme, .nse-theme *) { min-height: 68px; padding: 0 20px; display: grid; grid-template-columns: 28px 1fr auto; align-items: center; gap: 14px; border: 1px solid #4a4d56; background: #171920; }
.finder-search:focus-within:where(.nse-theme, .nse-theme *) { border-color: var(--nse-cyan); }
.finder-search:where(.nse-theme, .nse-theme *) svg { color: var(--nse-cyan); }
.finder-search:where(.nse-theme, .nse-theme *) input { width: 100%; border: 0; outline: 0; background: transparent; color: #fff; font-size: 1.04rem; }
.finder-search:where(.nse-theme, .nse-theme *) input::placeholder { color: #71747d; }
.finder-search:where(.nse-theme, .nse-theme *) button { border: 0; background: transparent; color: #aaa; font-size: .59rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.region-filters:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 20px; }
.region-filters:where(.nse-theme, .nse-theme *) button { min-height: 34px; padding: 0 14px; border: 1px solid #3d4049; background: transparent; color: #9699a1; font-size: .57rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.region-filters:where(.nse-theme, .nse-theme *) button.active, .region-filters:where(.nse-theme, .nse-theme *) button:hover { border-color: var(--nse-pink); background: var(--nse-pink); color: #fff; }
.finder-status:where(.nse-theme, .nse-theme *) { margin: 0 0 17px; color: #8e919a; font-size: .66rem; letter-spacing: .07em; }
.finder-status.is-error:where(.nse-theme, .nse-theme *) { padding: 11px 14px; border-left: 3px solid var(--nse-pink); background: rgba(251,22,118,.08); color: #efafc9; }
.finder-status:where(.nse-theme, .nse-theme *) a, .finder-status:where(.nse-theme, .nse-theme *) button { padding: 0; border: 0; background: none; color: #fff; font: inherit; letter-spacing: inherit; text-decoration: underline !important; /* legacy a { text-decoration: none !important } */ text-underline-offset: 3px; }
.region-filters[hidden]:where(.nse-theme, .nse-theme *) + .finder-status { margin-top: 14px; }
.university-grid:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.university-card:where(.nse-theme, .nse-theme *) { min-height: 235px; padding: 22px; display: flex; flex-direction: column; border: 1px solid #363942; background: var(--nse-ink); }
.university-card:hover:where(.nse-theme, .nse-theme *) { border-color: var(--nse-cyan); }
.university-card-top:where(.nse-theme, .nse-theme *) { display: flex; justify-content: space-between; gap: 12px; color: var(--nse-yellow); font-size: .51rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.university-card-top:where(.nse-theme, .nse-theme *) small { color: #777a83; }
.university-card:where(.nse-theme, .nse-theme *) h3 { margin: 20px 0 7px; font-size: 1.5rem; font-weight: 300; line-height: 1.05; }
.university-card:where(.nse-theme, .nse-theme *) p { margin: 0; color: #9a9ca4; font-size: .77rem; }
.university-card-meta:where(.nse-theme, .nse-theme *) { margin-top: 14px; display: flex; flex-wrap: wrap; gap: 7px; }
.university-card-meta:where(.nse-theme, .nse-theme *) span { padding: 5px 8px; background: #272a33; color: #858892; font-size: .53rem; }
.university-card-actions:where(.nse-theme, .nse-theme *) { margin-top: auto; padding-top: 20px; display: flex; flex-wrap: wrap; gap: 15px; }
.university-card-actions:where(.nse-theme, .nse-theme *) a { color: #fff; font-size: .55rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.finder-empty:where(.nse-theme, .nse-theme *) { min-height: 220px; grid-column: 1 / -1; display: grid; place-content: center; text-align: center; color: #8c8f97; }
.finder-empty:where(.nse-theme, .nse-theme *) a { color: var(--nse-cyan); }
/* Finder cards are links to /organisations/{permalink}. */ a.university-card:where(.nse-theme, .nse-theme *) { color: #fff; text-decoration: none; }
.university-grid:where(.nse-theme, .nse-theme *) [hidden] { display: none !important; } /* filtered-out cards */
a.university-card:focus-visible:where(.nse-theme, .nse-theme *) { outline: 2px solid var(--nse-cyan); outline-offset: 2px; }
.university-card-logo:where(.nse-theme, .nse-theme *) { width: 72px; height: 72px; margin-top: 18px; display: grid; place-items: center; }
.university-card-logo:where(.nse-theme, .nse-theme *) img { width: 100%; height: 100%; object-fit: contain; }
.university-card-logo:where(.nse-theme, .nse-theme *) span { width: 100%; height: 100%; display: grid; place-items: center; border: 1px solid #3d4049; color: #c5c7cd; font-size: 1.15rem; font-weight: 600; letter-spacing: .04em; }
.university-card-logo:where(.nse-theme, .nse-theme *) + h3 { margin-top: 16px; }
.university-card-link:where(.nse-theme, .nse-theme *) { margin-top: auto; padding-top: 20px; color: #fff; font-size: .55rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
a.university-card:hover:where(.nse-theme, .nse-theme *) .university-card-link { color: var(--nse-cyan); }

/* --------------------------------------------------------------------------
   C13: Login / sign-up modal styles from the theme package.
   Not rendered yet — kept so the modals can be wired to the real
   login and registration routes later.
   -------------------------------------------------------------------------- */ .login-modal:where(.nse-theme, .nse-theme *) .modal-dialog { max-width: 980px; }
.login-modal:where(.nse-theme, .nse-theme *) .modal-content { position: relative; overflow: hidden; border: 1px solid #42454f; border-radius: 0; background: var(--nse-ink-deep); color: #fff; box-shadow: 0 28px 90px rgba(0,0,0,.48); }
.login-modal-close:where(.nse-theme, .nse-theme *) { position: absolute; top: 21px; right: 21px; z-index: 5; }
.login-modal-grid:where(.nse-theme, .nse-theme *) { min-height: 610px; display: grid; grid-template-columns: .88fr 1.12fr; }
.login-modal-brand:where(.nse-theme, .nse-theme *) { position: relative; padding: 38px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; background: radial-gradient(circle at 20% 14%, rgba(2,185,232,.28), transparent 32%), radial-gradient(circle at 82% 82%, rgba(251,22,118,.26), transparent 35%), #171922; border-right: 1px solid var(--nse-line); }
.login-modal-brand:where(.nse-theme, .nse-theme *)::before { content: ""; position: absolute; inset: 0; opacity: .12; background-image: linear-gradient(rgba(255,255,255,.25) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.25) 1px, transparent 1px); background-size: 54px 54px; }
.login-modal-brand:where(.nse-theme, .nse-theme *) > * { position: relative; z-index: 1; }
.login-kicker:where(.nse-theme, .nse-theme *) { color: var(--nse-yellow); font-size: .55rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.login-modal-brand:where(.nse-theme, .nse-theme *) h2 { margin: 15px 0 16px; font-size: clamp(3rem, 5vw, 5rem); font-weight: 300; line-height: .83; letter-spacing: -.055em; }
.login-modal-brand:where(.nse-theme, .nse-theme *) p { max-width: 360px; margin: 0; color: #a1a4ad; font-size: .88rem; line-height: 1.65; }
.login-brand-meta:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; gap: 8px; }
.login-brand-meta:where(.nse-theme, .nse-theme *) span { padding: 7px 9px; border: 1px solid #434650; color: #858892; font-size: .49rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.login-modal-form-wrap:where(.nse-theme, .nse-theme *) { padding: 64px clamp(2rem, 5vw, 4.5rem) 44px; }
.login-modal-form-wrap:where(.nse-theme, .nse-theme *) .section-label { color: #8e9199; }
.login-modal-form-wrap:where(.nse-theme, .nse-theme *) h3 { margin: 10px 0 8px; font-size: clamp(2.3rem, 4vw, 3.8rem); font-weight: 300; line-height: 1; letter-spacing: -.045em; }
.login-intro:where(.nse-theme, .nse-theme *) { margin: 0 0 31px; color: #858892; font-size: .83rem; line-height: 1.6; }
.login-demo-notice:where(.nse-theme, .nse-theme *) { margin-bottom: 20px; padding: 11px 13px; border-left: 3px solid var(--nse-yellow); background: rgba(255,202,5,.08); color: #d8d1a8; font-size: .7rem; line-height: 1.5; }
.login-form:where(.nse-theme, .nse-theme *) { display: grid; gap: 20px; }
.login-field:where(.nse-theme, .nse-theme *) label, .login-label-row:where(.nse-theme, .nse-theme *) label { margin-bottom: 9px; color: #a4a7af; font-size: .68rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.login-label-row:where(.nse-theme, .nse-theme *) { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.login-label-row:where(.nse-theme, .nse-theme *) a { color: var(--nse-cyan); font-size: .59rem; font-weight: 600; }
.login-field:where(.nse-theme, .nse-theme *) .form-control { min-height: 55px; padding: 0 15px; border: 1px solid #40434d; border-radius: 0; background: #171920; color: #fff; box-shadow: none; font-size: .84rem; }
.login-field:where(.nse-theme, .nse-theme *) .form-control:focus { border-color: var(--nse-cyan); background: #171920; color: #fff; }
.login-field:where(.nse-theme, .nse-theme *) .form-control::placeholder { color: #666973; }
.login-password-field:where(.nse-theme, .nse-theme *) { position: relative; }
.login-password-field:where(.nse-theme, .nse-theme *) .form-control { padding-right: 70px; }
.login-password-field:where(.nse-theme, .nse-theme *) button { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); border: 0; background: transparent; color: #9b9da5; font-size: .56rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.login-options:where(.nse-theme, .nse-theme *) { display: flex; align-items: center; justify-content: space-between; gap: 18px; color: #8a8d95; font-size: .67rem; }
.login-options:where(.nse-theme, .nse-theme *) label { display: flex; align-items: center; gap: 8px; }
.login-options:where(.nse-theme, .nse-theme *) .form-check-input { margin: 0; border-color: #555863; border-radius: 0; background-color: #171920; }
.login-options:where(.nse-theme, .nse-theme *) .form-check-input:checked { border-color: var(--nse-pink); background-color: var(--nse-pink); }
.login-options:where(.nse-theme, .nse-theme *) > span { color: #656872; font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.login-submit:where(.nse-theme, .nse-theme *) { min-height: 55px; padding: 0 19px; display: flex; align-items: center; justify-content: space-between; border: 0; background: var(--nse-pink); color: #fff; font-size: .6rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.login-submit:where(.nse-theme, .nse-theme *) span { font-size: 1.1rem; font-weight: 300; }
.login-register:where(.nse-theme, .nse-theme *) { margin-top: 28px; padding-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--nse-line); color: #777a83; font-size: .67rem; }
.login-register:where(.nse-theme, .nse-theme *) a, .login-register:where(.nse-theme, .nse-theme *) button { padding: 0; border: 0; background: transparent; color: #fff; font-size: .59rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.login-register:where(.nse-theme, .nse-theme *) a:hover, .login-register:where(.nse-theme, .nse-theme *) button:hover { color: var(--nse-cyan); }
.signup-modal:where(.nse-theme, .nse-theme *) .modal-dialog { max-width: 1120px; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-modal-grid { min-height: 720px; grid-template-columns: .78fr 1.22fr; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-modal-brand { background: radial-gradient(circle at 18% 16%, rgba(255,202,5,.2), transparent 32%), radial-gradient(circle at 82% 78%, rgba(251,22,118,.28), transparent 38%), #171922; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-modal-brand h2 { max-width: 360px; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-modal-form-wrap { padding: 52px clamp(2rem, 4vw, 3.6rem) 36px; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-modal-form-wrap h3 { font-size: clamp(2.25rem, 3.7vw, 3.35rem); }
.signup-modal:where(.nse-theme, .nse-theme *) .login-intro { margin-bottom: 23px; }
.signup-benefits:where(.nse-theme, .nse-theme *) { display: grid; border-top: 1px solid #42454f; }
.signup-benefits:where(.nse-theme, .nse-theme *) span { min-height: 42px; display: flex; align-items: center; gap: 13px; border-bottom: 1px solid #42454f; color: #9699a1; font-size: .55rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.signup-benefits:where(.nse-theme, .nse-theme *) b { color: var(--nse-yellow); font-size: .5rem; font-weight: 700; }
.signup-form-grid:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 14px; }
.signup-field-full:where(.nse-theme, .nse-theme *) { grid-column: 1 / -1; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-field label > span { margin-left: 5px; color: #686b74; font-size: .48rem; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-field .form-control { min-height: 50px; }
.signup-consent:where(.nse-theme, .nse-theme *) { display: grid; gap: 16px; padding: 2px 0; }
.signup-consent:where(.nse-theme, .nse-theme *) label { display: flex; align-items: flex-start; gap: 12px; color: #c2c5cc; font-size: .92rem; font-weight: 400; letter-spacing: 0; line-height: 1.55; text-transform: none; cursor: pointer; }
.signup-consent:where(.nse-theme, .nse-theme *) .form-check-input { width: 20px; height: 20px; flex: 0 0 auto; margin-top: 1px; border: 1px solid #555863; border-radius: 0; background-color: #171920; cursor: pointer; }
.signup-consent:where(.nse-theme, .nse-theme *) .form-check-input:checked { border-color: var(--nse-pink); background-color: var(--nse-pink); }
.signup-consent:where(.nse-theme, .nse-theme *) a { color: var(--nse-cyan); }
.signup-error:where(.nse-theme, .nse-theme *) { border-left-color: var(--nse-pink); background: rgba(251,22,118,.08); color: #efafc9; }
.signup-modal:where(.nse-theme, .nse-theme *) .login-register { margin-top: 20px; padding-top: 16px; }


/* ==========================================================================
   PART D — RESPONSIVE
   ========================================================================== *//* --------------------------------------------------------------------------
   C14: Live news cards and the shared article modal (index.tpl).
   -------------------------------------------------------------------------- */ .news-card:where(.nse-theme, .nse-theme *) { position: relative; display: flex; flex-direction: column; }
.news-image:where(.nse-theme, .nse-theme *) { overflow: hidden; background-color: #fff; }
.news-image:where(.nse-theme, .nse-theme *) img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: top; }
.news-image.is-empty:where(.nse-theme, .nse-theme *)::after { content: ""; position: absolute; left: 27px; bottom: 27px; width: 34px; height: 4px; background: var(--nse-gradient); }
.news-body:where(.nse-theme, .nse-theme *) { flex: 1 1 auto; display: flex; flex-direction: column; }
.news-body:where(.nse-theme, .nse-theme *) small { display: block; }
.news-open:where(.nse-theme, .nse-theme *) { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; gap: 15px; padding: 0; border: 0; background: transparent; color: #24262e; font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.news-open:hover:where(.nse-theme, .nse-theme *) { color: var(--nse-pink); }
.news-open:focus-visible:where(.nse-theme, .nse-theme *) { outline: 2px solid var(--nse-pink); outline-offset: 4px; }

.news-modal:where(.nse-theme, .nse-theme *) .modal-dialog { max-width: 880px; }
.news-modal:where(.nse-theme, .nse-theme *) .modal-content { position: relative; overflow: hidden; border: 0; border-radius: 0; background: var(--nse-paper); color: var(--nse-ink); }
.news-modal:where(.nse-theme, .nse-theme *) .modal-body { padding: 0; }
.news-modal-close:where(.nse-theme, .nse-theme *) { position: absolute; top: 20px; right: 20px; z-index: 5; }
.news-article-header:where(.nse-theme, .nse-theme *) { padding: 64px clamp(1.5rem, 6vw, 4.5rem) 34px; background: var(--nse-ink-deep); color: #fff; }
.news-article-header:where(.nse-theme, .nse-theme *) h2 { max-width: 700px; margin: 0; font-size: clamp(2.2rem, 5vw, 4rem); font-weight: 300; line-height: .92; letter-spacing: -.05em; }
.news-article-header:where(.nse-theme, .nse-theme *) .post-meta { margin-top: 32px; }
.news-article-feature:where(.nse-theme, .nse-theme *) img { height: auto; max-height: min(60vh, 520px); object-fit: contain; }
.news-article-content:where(.nse-theme, .nse-theme *) { padding: clamp(2rem, 5vw, 3.5rem) clamp(1.5rem, 6vw, 4.5rem) clamp(2.5rem, 6vw, 4rem); }
.news-article-content:where(.nse-theme, .nse-theme *) > :first-child { margin-top: 0; }
.news-article-content:where(.nse-theme, .nse-theme *) > :last-child { margin-bottom: 0; }
.news-article-content:where(.nse-theme, .nse-theme *) h3 { margin: 40px 0 14px; font-size: 1.6rem; font-weight: 400; line-height: 1.15; }
.news-article-content:where(.nse-theme, .nse-theme *) a { color: #00709c; text-decoration: underline !important; /* legacy a { text-decoration: none !important } */ text-underline-offset: 3px; }
.news-article-content:where(.nse-theme, .nse-theme *) a:hover { color: var(--nse-pink); }
.news-article-content:where(.nse-theme, .nse-theme *) img, .news-article-content:where(.nse-theme, .nse-theme *) video { max-width: 100%; height: auto; }
.news-article-content:where(.nse-theme, .nse-theme *) iframe { max-width: 100%; }

/* --------------------------------------------------------------------------
   C15: Login and sign-up pages (login_nse.tpl, signup_nse.tpl) and the
   parts of the login panel shared with the modal (_login_panel.tpl).
   -------------------------------------------------------------------------- */ .auth-page:where(.nse-theme, .nse-theme *) { flex: 1 0 auto; padding: clamp(1.5rem, 5vw, 4.5rem) clamp(1rem, 4vw, 3rem); background: var(--nse-ink); color: #fff; }
.auth-panel:where(.nse-theme, .nse-theme *) { max-width: 980px; margin: 0 auto; border: 1px solid #42454f; background: var(--nse-ink-deep); box-shadow: 0 28px 90px rgba(0,0,0,.35); }
.auth-panel-signup:where(.nse-theme, .nse-theme *) { max-width: 1120px; }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .login-modal-grid { grid-template-columns: .78fr 1.22fr; }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .login-modal-brand { background: radial-gradient(circle at 18% 16%, rgba(255,202,5,.2), transparent 32%), radial-gradient(circle at 82% 78%, rgba(251,22,118,.28), transparent 38%), #171922; }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .login-modal-form-wrap { padding: 52px clamp(2rem, 4vw, 3.6rem) 36px; }

.login-modal-brand:where(.nse-theme, .nse-theme *) .login-brand-title { max-width: none; margin: 15px 0 16px; color: #fff; font-size: clamp(3rem, 5vw, 5rem); font-weight: 300; line-height: .83; letter-spacing: -.055em; }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .login-modal-brand .login-brand-title { max-width: 360px; }
.login-modal-form-wrap:where(.nse-theme, .nse-theme *) .login-title { margin: 10px 0 8px; font-size: clamp(2.3rem, 4vw, 3.8rem); font-weight: 300; line-height: 1; letter-spacing: -.045em; }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .login-title { font-size: clamp(2.25rem, 3.7vw, 3.35rem); }
.login-intro:where(.nse-theme, .nse-theme *) a { color: var(--nse-cyan); }
.login-register:where(.nse-theme, .nse-theme *) a { text-decoration: none; }

.login-captcha:where(.nse-theme, .nse-theme *) { min-height: 78px; }
.login-captcha-error:where(.nse-theme, .nse-theme *) { padding: 11px 13px; border-left: 3px solid var(--nse-pink); background: rgba(251,22,118,.08); color: #efafc9; font-size: .7rem; line-height: 1.5; }

.login-field:where(.nse-theme, .nse-theme *) .form-select { min-height: 55px; padding-left: 15px; border: 1px solid #40434d; border-radius: 0; background-color: #171920; color: #fff; box-shadow: none; font-size: .84rem; }
.login-field:where(.nse-theme, .nse-theme *) .form-select:focus { border-color: var(--nse-cyan); }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .login-field .form-control, .auth-panel-signup:where(.nse-theme, .nse-theme *) .login-field .form-select { min-height: 50px; }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .signup-form-grid { align-items: end; }
.auth-panel-signup:where(.nse-theme, .nse-theme *) .login-captcha { margin-top: 4px; }
.login-label-row:where(.nse-theme, .nse-theme *) { margin-bottom: 8px; }
.login-label-row:where(.nse-theme, .nse-theme *) label { margin-bottom: 0; }
.login-submit:where(.nse-theme, .nse-theme *) span { line-height: 1; }
.login-field:where(.nse-theme, .nse-theme *) .field-note { margin-left: 5px; color: #686b74; font-size: .48rem; }

.signup-register-content:where(.nse-theme, .nse-theme *) { margin-bottom: 23px; color: #a1a4ad; font-size: .83rem; line-height: 1.6; }
.signup-register-content:where(.nse-theme, .nse-theme *) a { color: var(--nse-cyan); }
.signup-error:where(.nse-theme, .nse-theme *) p { margin: 0; }
.signup-error:where(.nse-theme, .nse-theme *) ul { margin: 6px 0 0; padding-left: 1.1rem; }
.signup-fieldset:where(.nse-theme, .nse-theme *) { padding-top: 20px; border-top: 1px solid var(--nse-line); }
.signup-fieldset:where(.nse-theme, .nse-theme *) legend { margin: 0 0 18px; padding: 0; color: #d6d8dd; font-size: .8rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }

.password-rules:where(.nse-theme, .nse-theme *) { margin: -6px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 18px; list-style: none; color: #858892; font-size: .66rem; }
.password-rules:where(.nse-theme, .nse-theme *) li { display: flex; align-items: center; gap: 7px; }
.password-rules:where(.nse-theme, .nse-theme *) li::before { content: ""; width: 8px; height: 8px; flex: 0 0 auto; border: 1px solid #555863; }
.password-rules:where(.nse-theme, .nse-theme *) li.is-met { color: #c5c7cd; }
.password-rules:where(.nse-theme, .nse-theme *) li.is-met::before { border-color: var(--nse-cyan); background: var(--nse-cyan); }

/* --------------------------------------------------------------------------
   C16: News index (/news) — reuses the homepage .news-card styles.
   -------------------------------------------------------------------------- */
.news-page:where(.nse-theme, .nse-theme *) { flex: 1 0 auto; padding: clamp(2.5rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem) clamp(3rem, 7vw, 5.5rem); }
.news-page-inner:where(.nse-theme, .nse-theme *) { max-width: var(--nse-content); margin: 0 auto; }
.news-page-header:where(.nse-theme, .nse-theme *) { margin-bottom: clamp(1.75rem, 4vw, 3rem); }
.news-page-header .section-heading:where(.nse-theme, .nse-theme *) { margin: 0; }
.news-grid:where(.nse-theme, .nse-theme *) { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 9px; }

/* Whole card is the link on this page; on the homepage it is a button inside the card. */
.news-card-link:where(.nse-theme, .nse-theme *) { display: flex; flex-direction: column; color: inherit; text-decoration: none; transition: transform .25s ease, box-shadow .25s ease; }
.news-card-link:where(.nse-theme, .nse-theme *) .news-image { min-height: 200px; }
.news-card-link:hover:where(.nse-theme, .nse-theme *) { transform: translateY(-3px); box-shadow: 0 18px 40px rgba(0, 0, 0, .28); }
.news-card-link:hover:where(.nse-theme, .nse-theme *) .news-open { color: var(--nse-pink); }
.news-card-link:focus-visible:where(.nse-theme, .nse-theme *) { outline: 2px solid var(--nse-pink); outline-offset: 3px; }
.news-card-link:where(.nse-theme, .nse-theme *) .news-body h3 { font-size: 1.32rem; }
.news-card-link:where(.nse-theme, .nse-theme *) .news-body p { min-height: 0; margin-bottom: 20px; }

/* Pagination: .pagelist markup is what the platform's paginate3 plugin emits. */
.news-pagination:where(.nse-theme, .nse-theme *) { margin-top: clamp(2rem, 4vw, 3.25rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; padding-top: 22px; border-top: 1px solid #dcdcd6; }
.news-pagination:where(.nse-theme, .nse-theme *) .pagelist { margin: 0; color: #747780; font-size: .55rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.news-pagination:where(.nse-theme, .nse-theme *) .pagelist:last-child { display: flex; flex-wrap: wrap; gap: 6px; letter-spacing: 0; text-transform: none; }
.news-pagination:where(.nse-theme, .nse-theme *) a, .news-pagination:where(.nse-theme, .nse-theme *) .pagelist:last-child > * { min-width: 38px; padding: 9px 12px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #dcdcd6; background: #fff; color: #24262e; font-size: .8rem; font-weight: 600; text-decoration: none; }
.news-pagination:where(.nse-theme, .nse-theme *) a:hover { border-color: var(--nse-pink); color: var(--nse-pink); }
.news-pagination:where(.nse-theme, .nse-theme *) a:focus-visible { outline: 2px solid var(--nse-pink); outline-offset: 2px; }
.news-pagination:where(.nse-theme, .nse-theme *) .current, .news-pagination:where(.nse-theme, .nse-theme *) .active, .news-pagination:where(.nse-theme, .nse-theme *) strong { border-color: var(--nse-ink); background: var(--nse-ink); color: #fff; }

/* --------------------------------------------------------------------------
   C17: Single news post (news/_show.tpl) — uses the theme's article styles.
   -------------------------------------------------------------------------- */
.post-page:where(.nse-theme, .nse-theme *) { flex: 1 0 auto; background: var(--nse-paper); color: var(--nse-ink); }
.post-page:where(.nse-theme, .nse-theme *) .post-header h1 { margin-bottom: 0; font-size: clamp(2.6rem, 5.4vw, 5.2rem); }
.post-page:where(.nse-theme, .nse-theme *) .post-meta { margin-top: 38px; }
/* Post images are often wide banners, so fit rather than crop. */
.post-page:where(.nse-theme, .nse-theme *) .post-feature img { height: auto; max-height: min(70vh, 640px); object-fit: contain; }
.post-page-body:where(.nse-theme, .nse-theme *) { max-width: 820px; margin: 0 auto; padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.25rem, 4vw, 3rem) clamp(3rem, 7vw, 5rem); }
.post-page-body:where(.nse-theme, .nse-theme *) .post-content > :first-child { margin-top: 0; }
.post-content:where(.nse-theme, .nse-theme *) a { color: #00709c; text-decoration: underline !important; /* legacy a { text-decoration: none !important } */ text-underline-offset: 3px; }
.post-content:where(.nse-theme, .nse-theme *) a:hover { color: var(--nse-pink); }
.post-content:where(.nse-theme, .nse-theme *) img, .post-content:where(.nse-theme, .nse-theme *) video { max-width: 100%; height: auto; }
.post-content:where(.nse-theme, .nse-theme *) iframe { max-width: 100%; }
/* Tables in admin-authored post HTML: the legacy bare `table` rule paints a
   dark background with striped rows, which is unreadable on the paper theme. */
.post-content:where(.nse-theme, .nse-theme *) table, .news-article-content:where(.nse-theme, .nse-theme *) table { width: 100%; max-width: 100%; display: block; overflow-x: auto; padding: 0; border-collapse: collapse; background-color: transparent; color: #24262e; font-size: .92rem; }
.post-content:where(.nse-theme, .nse-theme *) table tbody tr:nth-child(even), .news-article-content:where(.nse-theme, .nse-theme *) table tbody tr:nth-child(even) { background-color: #e9e9e3; }
.post-content:where(.nse-theme, .nse-theme *) :is(th, td), .news-article-content:where(.nse-theme, .nse-theme *) :is(th, td) { padding: 11px 14px; border: 1px solid #d5d5cf; color: inherit; font-size: inherit; line-height: 1.5; text-align: left; white-space: nowrap; }
/* Styled on th itself, not thead th: pasted tables often have no <thead>. */
.post-content:where(.nse-theme, .nse-theme *) th, .news-article-content:where(.nse-theme, .nse-theme *) th { background-color: var(--nse-ink); color: #fff; font-size: .62rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.post-content:where(.nse-theme, .nse-theme *) h3 { margin: 44px 0 15px; font-size: 1.7rem; font-weight: 400; line-height: 1.15; }
.post-back:where(.nse-theme, .nse-theme *) { margin: clamp(2.5rem, 5vw, 3.5rem) 0 0; padding-top: 24px; border-top: 1px solid #dcdcd6; }
.post-back:where(.nse-theme, .nse-theme *) a { display: inline-flex; align-items: center; gap: 12px; color: #24262e; font-size: .58rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; text-decoration: none; }
.post-back:where(.nse-theme, .nse-theme *) a:hover { color: var(--nse-pink); }

/* Legacy `form { display:flex; align-items:center !important }` centres and
   shrink-wraps every child. Themed forms lay themselves out, so undo it here.
   The !important is needed to beat the legacy rule's own !important. */
.nse-theme form { align-items: normal !important; }
.nse-theme form:where(:not(.login-form)) { display: block; }

/* --------------------------------------------------------------------------
   C18: Account forms (account/edit.tpl) — reuses the auth form styles.
   -------------------------------------------------------------------------- */
.auth-panel-form:where(.nse-theme, .nse-theme *) { max-width: 980px; }
.auth-panel-form:where(.nse-theme, .nse-theme *) .login-modal-form-wrap { padding: 52px clamp(1.5rem, 4vw, 3.5rem) 48px; }
.auth-panel-form:where(.nse-theme, .nse-theme *) .login-title { font-size: clamp(2.3rem, 4vw, 3.4rem); }
.auth-panel-form:where(.nse-theme, .nse-theme *) .signup-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.auth-panel-form:where(.nse-theme, .nse-theme *) .login-field .form-control, .auth-panel-form:where(.nse-theme, .nse-theme *) .login-field .form-select { min-height: 50px; }
.form-note:where(.nse-theme, .nse-theme *) { margin: 0 0 26px; padding: 14px 16px; border-left: 3px solid var(--nse-yellow); background: rgba(255,202,5,.07); color: #c9cbd2; font-size: .82rem; line-height: 1.6; }
.form-note:where(.nse-theme, .nse-theme *) p { margin: 0; }
.form-note:where(.nse-theme, .nse-theme *) a { color: var(--nse-cyan); }
.form-section-title:where(.nse-theme, .nse-theme *) { margin: 0 0 18px; font-size: 1.05rem; font-weight: 600; }
.field-label:where(.nse-theme, .nse-theme *) { margin-bottom: 9px; display: block; color: #b9bcc4; font-size: .62rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.login-field.has-error:where(.nse-theme, .nse-theme *) .form-control { border-color: var(--nse-pink); }
/* Chrome paints autofilled fields yellow and ignores background-color on
   :-webkit-autofill, so an inset shadow is the only way to override it. */
.login-field:where(.nse-theme, .nse-theme *) .form-control:-webkit-autofill,
.login-field:where(.nse-theme, .nse-theme *) .form-control:-webkit-autofill:hover,
.login-field:where(.nse-theme, .nse-theme *) .form-control:-webkit-autofill:focus { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 1000px #171920 inset; box-shadow: 0 0 0 1000px #171920 inset; caret-color: #fff; }
.login-field.has-error:where(.nse-theme, .nse-theme *) .form-select { border-color: var(--nse-pink); }
/* Legacy required marker, used on labels. */
.required:where(.nse-theme, .nse-theme *) { color: var(--nse-pink); }
/* A single field outside a grid still gets the same bottom spacing. */
.signup-fieldset:where(.nse-theme, .nse-theme *) > .login-field { margin-bottom: 4px; }
.login-field:where(.nse-theme, .nse-theme *) textarea.form-control { min-height: 150px; padding: 14px 15px; line-height: 1.6; resize: vertical; }
.profile-image-block:where(.nse-theme, .nse-theme *) { border-top: 0; padding-top: 0; }
.profile-image-row:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; align-items: center; gap: 20px; }
.profile-image-preview:where(.nse-theme, .nse-theme *) { width: 120px; height: 120px; border: 1px solid #40434d; border-radius: 50%; object-fit: cover; background: var(--nse-ink); }
.help-trigger:where(.nse-theme, .nse-theme *) { width: 20px; height: 20px; margin-left: 8px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 0; background: none; color: var(--nse-cyan); vertical-align: -4px; }
.help-trigger:where(.nse-theme, .nse-theme *) svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.profile-image-row:where(.nse-theme, .nse-theme *) .icon-inline { width: 15px; height: 15px; margin-right: 8px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.profile-image-row:where(.nse-theme, .nse-theme *) .outline-button { display: inline-flex; align-items: center; }
.help-trigger:hover:where(.nse-theme, .nse-theme *) { color: var(--nse-pink); }
.help-trigger:focus-visible:where(.nse-theme, .nse-theme *) { outline: 2px solid var(--nse-cyan); outline-offset: 3px; }
/* The three date selects sit on one line. */
.date-select:where(.nse-theme, .nse-theme *) { display: flex; flex-wrap: wrap; gap: 9px; }
.date-select:where(.nse-theme, .nse-theme *) select { min-height: 50px; padding: 0 12px; flex: 0 1 auto; border: 1px solid #40434d; border-radius: 0; background-color: #171920; color: #fff; font-size: .84rem; }
.date-select:where(.nse-theme, .nse-theme *) select:focus { border-color: var(--nse-cyan); outline: none; }
.help-modal:where(.nse-theme, .nse-theme *) .modal-content { border: 1px solid #42454f; border-radius: 0; background: var(--nse-ink-deep); color: #fff; }
.help-modal:where(.nse-theme, .nse-theme *) .modal-header, .help-modal:where(.nse-theme, .nse-theme *) .modal-footer { border-color: var(--nse-line); }
.help-modal:where(.nse-theme, .nse-theme *) .modal-title { font-size: 1.4rem; font-weight: 300; letter-spacing: -.02em; }
.help-modal:where(.nse-theme, .nse-theme *) .modal-body { color: #a9acb4; font-size: .87rem; line-height: 1.65; }
.help-modal:where(.nse-theme, .nse-theme *) .modal-body p:last-child { margin-bottom: 0; }
/* EasyMDE was built against the browser's default box model, which Bootstrap
   changes inside .nse-theme. Put it back, for the editor only. */
.nse-theme .EasyMDEContainer, .nse-theme .EasyMDEContainer *, .nse-theme .editor-toolbar, .nse-theme .editor-toolbar *, .nse-theme .CodeMirror, .nse-theme .CodeMirror * { box-sizing: revert; }
.nse-theme .EasyMDEContainer .CodeMirror { border-color: #40434d; background: #171920; color: #fff; }
.nse-theme .EasyMDEContainer .CodeMirror-cursor { border-left-color: #fff; }
.nse-theme .editor-toolbar { border-color: #40434d; background: #1b1e26; }
.nse-theme .editor-toolbar button { color: #c9cbd2 !important; }
.nse-theme .editor-toolbar button:hover, .nse-theme .editor-toolbar button.active { border-color: #4b4e58; background: #262a34; }
.nse-theme .editor-toolbar i.separator { border-left-color: #3a3d46; border-right-color: #23262e; }
.nse-theme .editor-statusbar { color: #8b8e96; }
.nse-theme .EasyMDEContainer .editor-preview, .nse-theme .EasyMDEContainer .editor-preview-side { background: #1b1e26; color: #e7e8ea; }

/* --------------------------------------------------------------------------
   C19: Profile image / cropper (account/editimage.tpl).

   The markup here is the original page's, because loadCropper() measures the
   crop area and preview and binds to .docs-buttons / [data-method]. So this
   section only sets colours: no widths, heights, display or padding on
   .cropperImgContainerimage, .cropperImgPreviewimage or the grid around them,
   and no border or background on them either, so an empty crop area simply
   doesn't show.
   -------------------------------------------------------------------------- */
.image-rules:where(.nse-theme, .nse-theme *) { margin: 0; padding-left: 1.05rem; color: #9a9ca4; font-size: .82rem; line-height: 1.7; }
.cropper-fieldset:where(.nse-theme, .nse-theme *) .docs-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-bottom: 20px; }
.cropper-fieldset:where(.nse-theme, .nse-theme *) .btn { border-radius: 0; box-shadow: none; }
.btn-upload:where(.nse-theme, .nse-theme *) { padding: 13px 22px; display: inline-flex; align-items: center; border: 1px solid #fff; background: none; color: #fff; font-size: .58rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; cursor: pointer; }
.btn-upload:hover:where(.nse-theme, .nse-theme *) { border-color: var(--nse-pink); color: var(--nse-pink); }
.btn-upload:where(.nse-theme, .nse-theme *) .icon-inline { width: 15px; height: 15px; margin-right: 9px; fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
/* Keyboard focus lands on the hidden file input, so light up its label. */
.btn-upload:where(.nse-theme, .nse-theme *):focus-within { border-color: var(--nse-cyan); color: var(--nse-cyan); }
.cropper-fieldset:where(.nse-theme, .nse-theme *) .btn-group { display: inline-flex; }
.cropper-tool:where(.nse-theme, .nse-theme *) { width: 42px; height: 42px; padding: 0; display: inline-flex; align-items: center; justify-content: center; border: 1px solid #40434d; background: #171920; color: #c9cbd2; }
.cropper-tool:where(.nse-theme, .nse-theme *) + .cropper-tool { border-left: 0; }
.cropper-tool:where(.nse-theme, .nse-theme *) svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.cropper-tool:hover:where(.nse-theme, .nse-theme *) { border-color: var(--nse-cyan); color: #fff; }
.cropper-tool:focus-visible:where(.nse-theme, .nse-theme *) { outline: 2px solid var(--nse-cyan); outline-offset: 2px; }
.cropper-confirm:where(.nse-theme, .nse-theme *) { padding: 13px 22px; border: 1px solid var(--nse-cyan); background: none; color: var(--nse-cyan); font-size: .58rem; font-weight: 700; letter-spacing: .15em; text-transform: uppercase; }
.cropper-confirm:hover:where(.nse-theme, .nse-theme *) { background: var(--nse-cyan); color: var(--nse-ink-deep); }

@media (max-width: 1220px) {
    .partner-slide:where(.nse-theme, .nse-theme *) { min-width: 50%; }
}
@media (max-width: 1199.98px) {
    .nse-main { margin-left: 0; padding-top: 72px; }
    .mobile-header:where(.nse-theme, .nse-theme *) { display: flex !important; }
}
@media (max-width: 991.98px) {
    .social-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: repeat(3, 1fr); }
    .university-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: repeat(2, 1fr); }
    .news-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .page-layout:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr; }
    .page-toc:where(.nse-theme, .nse-theme *) { display: none; }
    .post-layout:where(.nse-theme, .nse-theme *) { grid-template-columns: 56px minmax(0, 1fr); }
    .post-aside:where(.nse-theme, .nse-theme *) { display: none; }
}
@media (max-width: 767.98px) {
    .hero:where(.nse-theme, .nse-theme *), .hero-slide:where(.nse-theme, .nse-theme *) { height: 560px; }
    .hero-content:where(.nse-theme, .nse-theme *) { padding: 30px 20px 60px; }
    .hero-media:where(.nse-theme, .nse-theme *) { object-position: center 86%; }
    .hero-slide-video:where(.nse-theme, .nse-theme *)::after { background: linear-gradient(180deg, rgba(8,10,15,.93) 42%, rgba(8,10,15,.55) 62%, rgba(8,10,15,.25)); }
    .hero-slide-video:where(.nse-theme, .nse-theme *) .hero-content { max-width: none; padding-bottom: 150px; }
    .hero-slide-video:where(.nse-theme, .nse-theme *) .hero-content > p:not(.section-label) { max-width: none; }
    .hero-content:where(.nse-theme, .nse-theme *) h1, .hero-content:where(.nse-theme, .nse-theme *) .hero-title { font-size: 4.3rem; }
    .hero-content:where(.nse-theme, .nse-theme *) .hero-long { font-size: 3.1rem; }
    .hero-actions:where(.nse-theme, .nse-theme *) { display: grid; }
    .hero-actions:where(.nse-theme, .nse-theme *) > * { width: 100%; }
    .quick-links:where(.nse-theme, .nse-theme *) { padding: 30px 12px; }
    .quick-card:where(.nse-theme, .nse-theme *) { min-height: 375px; }
    .game-carousel:where(.nse-theme, .nse-theme *) { padding: 0 0 58px; }
    .game-card:where(.nse-theme, .nse-theme *) { min-height: 430px; }
    .game-controls:where(.nse-theme, .nse-theme *) { inset: auto 0 0; width: 100%; height: 58px; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr; }
    .game-controls:where(.nse-theme, .nse-theme *) button { border-top: 1px solid #3a3d46; border-left: 0; }
    .game-controls:where(.nse-theme, .nse-theme *) button + button { border-left: 1px solid #3a3d46; }
    .social-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr 1fr; }
    .social-card:where(.nse-theme, .nse-theme *) { min-height: 210px; }
    .cta-band:where(.nse-theme, .nse-theme *) { align-items: flex-start; flex-direction: column; }
    .site-footer:where(.nse-theme, .nse-theme *) { padding-block: 28px; align-items: flex-start; flex-direction: column; }
    .inner-hero:where(.nse-theme, .nse-theme *) { min-height: 555px; }
    .inner-hero-content:where(.nse-theme, .nse-theme *) { padding: 100px 20px 55px; }
    .inner-hero:where(.nse-theme, .nse-theme *) h1 { font-size: 4.15rem; }
    .content-block:where(.nse-theme, .nse-theme *) { padding: 58px 20px; }
    .page-stat-grid:where(.nse-theme, .nse-theme *), .feature-list:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr; }
    .page-stat-grid:where(.nse-theme, .nse-theme *) div + div, .feature-list:where(.nse-theme, .nse-theme *) article + article { padding-left: 0; border-left: 0; border-top: 1px solid #d1d1cc; }
    .feature-list:where(.nse-theme, .nse-theme *) article + article { padding-left: 27px; border-color: var(--nse-line); }
    .post-header:where(.nse-theme, .nse-theme *) { padding: 105px 20px 55px; }
    .post-header:where(.nse-theme, .nse-theme *) h1 { font-size: 3.45rem; }
    .post-layout:where(.nse-theme, .nse-theme *) { padding-inline: 20px; grid-template-columns: 1fr; }
    .post-share:where(.nse-theme, .nse-theme *) { flex-direction: row; gap: 7px; }
    .post-share:where(.nse-theme, .nse-theme *) > span { width: 100%; margin: 0 12px 0 0; }
    .post-share:where(.nse-theme, .nse-theme *) a { margin: 0; flex: 0 0 42px; }
    .next-story:where(.nse-theme, .nse-theme *) { padding: 52px 20px; }
    .next-story:where(.nse-theme, .nse-theme *) a { grid-template-columns: 1fr auto; }
    .next-story:where(.nse-theme, .nse-theme *) small { grid-column: 1 / -1; }
    .university-modal:where(.nse-theme, .nse-theme *) .modal-body { padding: 2rem .75rem; }
    .finder-search:where(.nse-theme, .nse-theme *) { grid-template-columns: 24px 1fr; padding-inline: 14px; }
    .finder-search:where(.nse-theme, .nse-theme *) button { display: none; }
    .university-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr; }
    .news-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr; }
    .login-modal:where(.nse-theme, .nse-theme *) { padding: 0 !important; }
    .login-modal:where(.nse-theme, .nse-theme *) .modal-dialog { min-height: 100%; margin: 0; }
    .login-modal:where(.nse-theme, .nse-theme *) .modal-content { min-height: 100vh; border: 0; }
    .login-modal-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr; }
    .login-modal-brand:where(.nse-theme, .nse-theme *) { min-height: 270px; padding: 30px 25px; border-right: 0; border-bottom: 1px solid var(--nse-line); }
    .login-modal-brand:where(.nse-theme, .nse-theme *) h2 { font-size: 3.3rem; }
    .login-modal-brand:where(.nse-theme, .nse-theme *) p { max-width: 300px; }
    .login-brand-meta:where(.nse-theme, .nse-theme *) { display: none; }
    .login-modal-form-wrap:where(.nse-theme, .nse-theme *) { padding: 38px 25px 45px; }
    .login-options:where(.nse-theme, .nse-theme *) > span { display: none; }
    .signup-modal:where(.nse-theme, .nse-theme *) .login-modal-grid { grid-template-columns: 1fr; }
    .signup-modal:where(.nse-theme, .nse-theme *) .login-modal-brand { min-height: 300px; }
    .signup-modal:where(.nse-theme, .nse-theme *) .login-modal-form-wrap { padding: 38px 25px 45px; }
    .signup-form-grid:where(.nse-theme, .nse-theme *) { grid-template-columns: 1fr; }
    .signup-field-full:where(.nse-theme, .nse-theme *) { grid-column: auto; }
    .signup-benefits:where(.nse-theme, .nse-theme *) { display: none; }
}
@media (max-width: 767.98px) {
    .news-modal:where(.nse-theme, .nse-theme *) .modal-content { min-height: 100%; }
    .news-article-header:where(.nse-theme, .nse-theme *) { padding-top: 70px; }
    .auth-page:where(.nse-theme, .nse-theme *) { padding: 0; }
    .auth-panel:where(.nse-theme, .nse-theme *) { border: 0; box-shadow: none; }
    .auth-panel-signup:where(.nse-theme, .nse-theme *) .login-modal-grid { grid-template-columns: 1fr; }
    .auth-panel-signup:where(.nse-theme, .nse-theme *) .login-modal-form-wrap { padding: 38px 25px 45px; }
    .auth-panel-form:where(.nse-theme, .nse-theme *) .signup-form-grid { grid-template-columns: 1fr; }
    .auth-panel-form:where(.nse-theme, .nse-theme *) .login-modal-form-wrap { padding: 38px 22px 42px; }
    .login-modal-brand:where(.nse-theme, .nse-theme *) .login-brand-title { font-size: 3.3rem; }
}
@media (max-width: 359.98px) {
    .login-captcha:where(.nse-theme, .nse-theme *) { overflow: hidden; }
    .login-captcha:where(.nse-theme, .nse-theme *) > div { transform: scale(.86); transform-origin: 0 0; }
}
@media (max-width: 660px) {
    .hero-partners:where(.nse-theme, .nse-theme *) { grid-template-columns: minmax(0, 1fr) auto; }
    .partner-heading:where(.nse-theme, .nse-theme *) { grid-column: 1 / -1; padding: 16px 20px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
    .partner-slide:where(.nse-theme, .nse-theme *) { min-width: 100%; }
    .partner-mark:where(.nse-theme, .nse-theme *) { height: 54px; max-width: 136px; }
}
@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
}


.event-boxes-compact {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
    gap: 20px;
}

.event-box-compact {
    padding: 12px;
    min-width: 0;
    box-sizing: border-box;
    transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.event-box-compact:hover {
    transform: translateY(-4px) scale(1.03);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.35);
    border-color: rgba(255, 255, 255, 0.4);
}

.event-box-banner-wrapper-compact {
    height: 60px;
}

.event-box-banner-image-compact {
    max-height: 60px;
    object-fit: contain;
}

.event-boxes .event-box .event-box-body .event-box-title.event-box-title-compact {
    white-space: normal;
    font-size: 12px;
    line-height: 1.3;
    text-align: center;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    margin-top: 6px;
}

/*
.event-box-banner-image-compact {
    transition: transform 0.15s ease;
}

.event-box-compact:hover .event-box-banner-image-compact {
    transform: scale(1.08);
}*/
