@charset "UTF-8";

/* #### BEGIN NAV ############################################# */


.site-header {
    position: fixed;
    z-index: 100;
    padding: 0px;
    margin: 0px;
    width: 100%;
    height: var(--step-3);
    background-color: rgb(0 0 0 / 20%);
    backdrop-filter: blur(0.6rem);
    box-shadow: 0px 0px 32px 0px rgba(0,0,0,0.3);
    transition: background-color 0.3s ease-out;
}

.site-header nav {
    display: flex;
    width: 70%;
    height: 100%;
    max-width: 1400px;
    margin-left: auto;
    margin-right: auto;
    align-items: center;
    justify-content: space-between;
}

#main-nav {
    display: flex;
    list-style: none;
    margin: 0px;
    padding: 0rem;
    flex-direction: row;
    gap: var(--step--1);
    align-items: center;
    transform: none;
}

.nav-link {
    color: white;
    font-family: 'Gravity', Arial, Helvetica, sans-serif;
    font-size: var(--step--3);
    font-weight: bold;
    text-transform: uppercase;
    transition: all 0.2s ease-out;
}

.nav-link:hover {
    color: var(--gold) !important;
    /* filter: drop-shadow(0px 0px 3px rgb(255 255 255 / 0.4)); */
    /* filter: drop-shadow(0px 0px 4px rgb(0 0 0 / 0.6)); */

}

.nav-divider {
    height: var(--step--2);
    border-left: white 1.5px solid;
    margin: 0px;
    padding: 0px;
}

.nav-divider-clear {
    height: var(--step--2);
    border-left: rgb(255 255 255 / 0) 1.5px solid;
    margin: 0px;
    padding: 0px;
}

.logo {
    display: flex;
}

#nav-logo {
    background-image: url("/theme/base/images/n2n-inline-logo-white-blue.svg");
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    height: var(--step-1);
    aspect-ratio: 6/1;
}

#nav-logo:before {
    content: url("/theme/base/images/n2n-inline-logo-black-blue.svg");
    opacity: 0%;
}

ul#main-nav #main-nav-logo {
    display: none;
    opacity: 0%;
    transition: opacity 0.25s ease;
}

#menu-toggle {
        display: none;
        z-index: 9999;
        background-image: url("/theme/base/images/square-hamburger.svg");
        background-repeat: no-repeat;
        border: 0px;
        background-color: rgb(255 255 255 / 0.0);
        width: var(--step-0);
        height: var(--step-0);

}

#give-link {
    display:none;
}

#give-link > h1 {
    color: black;
    font-size: var(--step-0);
}

#give-link-img {
    display:block;
    background: url(/theme/base/images/nav-give.svg) center no-repeat;
    background-size:contain;
    height: calc(var(--step-3) * 2);
    aspect-ratio: 1;
    transform: translate(0rem, calc(var(--step-3) * -0.17));
}

#give-link-img:before {
    content: url("/theme/base/images/nav-give-gold.svg");
    opacity: 0%;
}

#give-link-img:hover {
    background: url("/theme/base/images/nav-give-gold.svg") center no-repeat;
    background-size:contain;
}

@media only screen and (min-width: 1301px) and (max-width: 1600px) {
    #main-nav {
        gap: var(--step--5);
    }
}

@media only screen and (min-width: 1001px) and (max-width: 1300px) {
    .site-header nav {
        width: 90%;
    }

    #main-nav {
        gap: var(--step--5);
    }
}

@media only screen and (max-width: 1000px) {
    #main-nav {
        gap: var(--step--5);
    }

    .site-header nav {
        width: calc(100% - 4rem);
    }
}

@media only screen and (min-width: 801px) and (max-width: 1000px) {
    .nav-link {
        font-size: var(--step--4);
    }

    #main-nav {
        gap: calc((var(--step--5)) * 0.8);
    }
}

@media (max-width: 800px) {

    .site-header {
        backdrop-filter: none;
    }

    .header-main-area {

    }

    #main-nav {
        display: flex;
        position: fixed;
        inset: 0 0 0 30%;
        background: white;
        z-index: 1000;
        flex-direction: column;
        padding-top: max(var(--step-3), 15vh);
        padding-left: 3vw;
        align-items: baseline;
        gap: var(--step-2);
        box-shadow: 0px 0px 50px 15px rgb(0 0 0 / 0%);
        transition: transform 300ms ease-out;
        transform: translateX(100%);

    }

    #main-nav[data-visible="true"] {
        transform: translateX(0%);
        box-shadow: 0px 0px 50px 15px rgb(0 0 0 / 30%);
    }

    .nav-link {
        color: black;
        font-size: var(--step--2);
    }

    .nav-divider, .nav-divider-clear {
        display: none;
    }

    #menu-toggle {
        display:block;
        position: absolute;
        z-index: 9999;
        background-image: url("/theme/base/images/square-hamburger-white.svg");
        background-repeat: no-repeat;
        border: 0px;
        background-color: rgb(255 255 255 / 0.0);
        width: var(--step-1);
        height: var(--step-1);
        top: calc((var(--step-3) / 2) - (var(--step-1) / 2));
        right: calc((var(--step-3) / 2) - (var(--step-1) / 2));
        cursor: pointer;
        filter: none;
        transition: filter 0.1s;
    }

    #menu-toggle:before {
        content: url("/theme/base/images/square-x.svg");
        opacity: 0%;
    }

    #menu-toggle:after {
        content: url("/theme/base/images/square-hamburger.svg");
        opacity: 0%;
    }


    #menu-toggle[data-visible="true"] {
        background-image: url("/theme/base/images/square-x.svg");
    }

    #menu-toggle:hover {
        filter: drop-shadow(0px 0px 3px rgb(0 0 0 / 0.4));
    }

    #main-nav[data-visible="true"] #main-nav-logo {
      display: block;
      opacity: 100%;
    }

    #give-link {
        display:inline;
        color: black;
        font-size: var(--step-0);
    }




    #give-link-img {
        display:none;

    }

}



/* #### END NAV ############################################# */
/* #### BEGIN GRID ############################################# */

/* Article Styles */

.main-content {
  /* display: grid; */
  /* grid-template-columns: repeat(6, 1fr); */
  column-gap: 2rem;
  row-gap: 4rem;
  width:70%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  /*padding-top:4rem;
  padding-bottom:4rem; padding reduced to tighten page up a bit */
  padding-top:2rem;
  padding-bottom:2rem;
}

.tight-content {
  /* display: grid; */
  /* grid-template-columns: repeat(6, 1fr); */
  column-gap: 2rem;
  row-gap: 4rem;
  width:70%;
  max-width: 1400px;
  margin-left: auto;
  margin-right: auto;
  padding-top:0.5rem;
  padding-bottom:0.5rem;
}

.centered-container {
  /* grid-column: span 6; */
  padding-left:15%;
  padding-right:15%;
  justify-content: center;
}

.centered-image {
    border-radius: calc(var(--step-1) * 0.4);
    overflow: hidden;
}

.centered-image img {
  display:block;
  width: 100%;
}

.half-col {
  /* grid-column: span 3; */
  padding-left:15%;
  padding-right:15%;
}

.content-span {
  width:100%;
  overflow: hidden;
}

.bottom-wave {
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 3;
  transform: translate(0%, -100%);
  background-image: url("/images/common/Mask Group 21.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  z-index: -100;
}

.top-wave {
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 3;
  transform: translate(0%, 0%);
  background-image: url("/images/common/Mask Group 36.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
  z-index: -100;
}

.bottom-plants {
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 3;
  transform: translate(0%, -19%);
  background-image: url("/images/common/plant-bottom.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  z-index: -100;
}

.top-plants {
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 3;
  transform: translate(0%, -81%);
  background-image: url("/images/common/plant-top.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
  z-index: -100;
}

.big-bottom-plants {
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 3;
  transform: translate(0%, -19%);
  background-image: url("/images/common/big-plant-bottom.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: left bottom;
  z-index: -100;
}

.big-top-plants {
  display: block;
  position: absolute;
  width: 100%;
  aspect-ratio: 3;
  transform: translate(0%, -81%);
  background-image: url("/images/common/big-plant-top.png");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: right top;
  z-index: -100;
}

.youtube-iframe {
  width: 100%;
  height: 100%;
  aspect-ratio: 1.77;
}

#impact-label {
  height: 20vh;
  padding: 0;
}

#impact-label > .centered-container {
  height: calc( 100% - 1rem );
  margin: 0.5rem 0;
}

#impact-label img, #impact-label object {
  width: 100%;
  height: 100%;
}



/* safari (10.1+) ugly hack */
@media not all and (min-resolution:.001dpcm) {
@media {
    #impact-label {
      height: 8vh;
      padding: 0;
    }
}}

/* Article Style Responsive Overrides */
@media only screen and (min-width: 1001px) and (max-width: 1300px) {

  .main-content, .tight-content {
      width: 90%;
  }
}

@media only screen and (min-width: 551px) and (max-width: 1000px) {

  .main-content, .tight-content {
      width: calc(100% - 4rem);
  }
}

@media only screen and (min-width: 50px) and (max-width: 550px) {

  .main-content, .tight-content {
      width: calc(100% - 4rem);
  }
}


/* ############ SWITCH GRID TO THREE COLUMN LAYOUT ############### */

@media only screen and (min-width: 50px) and (max-width: 800px) {
  .main-content, .tight-content {
      /* grid-template-columns: repeat(3, 1fr); */
  }

  .centered-container, .centered-flex, .full-flex {
      /* grid-column: span 3; */
  }

}

/* #### END GRID ############################################# */
/* #### BEGIN FLEX ############################################# */

.full-flex {
  /* grid-column: span 6; */
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content:center;
  column-gap: 1.5rem;
  row-gap: 1rem;
}

.centered-flex {
  /* grid-column: span 6; */
  padding-left:15%;
  padding-right:15%;
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content:center;
  column-gap: 1.5rem;
  row-gap: 1rem;
}

.flex-column {
  display: flex;
  flex-direction: column;
}
``
.flex-row {
  display: flex;
  flex-direction: row;
}

.flex-space-evenly {
  justify-content: space-evenly;
  gap: 1rem;
}

.flex-space-around {
  justify-content: space-around;
  gap: 1rem;
}

.flex-space-between {
  justify-content: space-between;
  gap: 1rem;
}

.flex-justify-end {
  justify-content: end;
  gap: 1rem;
}

.flex-center {
  justify-content: center;
}

.flex-align-items-center {
  align-items: center;
}

.flex-align-items-end {
  align-items: end;
}

/* simple flex row and column */
/* src https://dev.to/drews256/ridiculously-easy-row-and-column-layouts-with-flexbox-1k01 */
 .row,
 .flex-row {
  display: flex;
  flex-direction: row;
  width: 100%; /* todo: no longer required? */
}

.column,
.flex-column {
  display: flex;
  flex-direction: column;
}

.centered-flex,
.full-flex,
.flex-wrap {
  flex-wrap: wrap;
}

.flex-nowrap {
  flex-wrap: nowrap;
}

/* flex-1 */
.flex-1 {
  flex: 1;
}

/* flex overrides */
.flex01 {
  flex: 1 !important;
}

.flex02 {
  flex: 2 !important;
}

.flex03 {
  flex: 3 !important;
}

/* double-column */
.double-column {
  gap: 2rem;
}

.double-column::after {
  content: "";
  border: 1px solid rgba(0,0,0,0.15);
  order: 2;
}

@media only screen and (max-width: 550px) {

  .double-column::after {
    content: none;
    /* border: 1px solid rgba(0,0,0,0.15); */
    order: 2;
}

}

.hide-column-border::after {
  content: "";
  border: 0px solid rgba(0,0,0,0);
  order: 2;
}

.double-column .column:first-of-type {
  order: 1;
  flex: 1;
}

.double-column .column:nth-of-type(2) {
  order: 3;
  flex: 1;
}

.double-column > .column.highlight {
  background-color: var(--gold);
  padding-left: 2rem;
  padding-right: 2rem;
  border-radius: 1rem;
}

.double-column > .column.highlight.gray {
  background-color: var(--xlight-gray);
  padding-left: 2rem;
  padding-right: 2rem;
  border-radius: 1rem;
}

/* Staff Resources Page Directorly Listing */
.dirflex{
  display: flex;
  flex-direction: column;
  padding-left: 1rem;
}

.dirlist {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  width: 100%;
}

.dirlist .column p {
  margin: 0rem;
  font-size: var(--step--3);
  line-height: var(--step-0);
}

.dirlist .column:first-of-type {
  flex: 4;
}

.dirlist .column:nth-of-type(2) {
  flex: 1;
}

.dirlist .column:nth-of-type(2) p {
  text-align: center;
}

/* useful for selecting container children like <div> or <ul> */
.double-column > .column.highlight > *:first-child {
  padding: 2rem 0;
  gap: 0;
}

.double-column > .column.highlight.gray > *:first-child {
  padding: 2rem 0;
  gap: 0;
}

@media only screen and (min-width: 551px) and (max-width: 1000px) {

  .centered-flex, .centered-container, .full-flex {
    padding-left: 0px;
    padding-right: 0px;
  }

}

@media only screen and (min-width: 50px) and (max-width: 550px) {

  .main-content, .tight-content {
      column-gap: 1rem;
      row-gap: 1rem;
  }

  .centered-flex, .centered-container, .full-flex {
    padding-left: 0px;
    padding-right: 0px;
  }

  .flex-wrap-mobile {
    flex-wrap: wrap;
  }

  .flex-column-mobile {
    flex-direction: column;
  }

  .double-column > .column.highlight {
    border-radius: initial;
  }

    .double-column > .column.highlight.gray {
    border-radius: initial;
  }

  .double-column > .column.highlight,
  .mobile-margin-hack {
    margin: 0 -2rem;
  }

    .double-column > .column.highlight.gray,
  .mobile-margin-hack {
    margin: 0 -2rem;
  }

}

/* hacky flex 1 -- look for a better solution */
@media only screen and (max-width: 899px) {
  .flex-1 .column {
    flex: initial;
  }
}

/* #### END FLEX ############################################# */
/* #### BEGIN FONTS ############################################# */

/* font-display: block prevent font-load flickering */
/* using style linking, please see https://www.smashingmagazine.com/2013/02/setting-weights-and-styles-at-font-face-declaration/*/

@font-face {
    font-display: block;
    font-weight: normal;
    font-family: LeagueSpartan;
    src: url(../fonts/LeagueSpartan-Bold.woff);
}

@font-face {
    font-display: block;
    font-family: Gravity;
    src: url(../fonts/Gravity-Book.woff);
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-display: block;
    font-family: Gravity;
    src: url(../fonts/Gravity-Italic.woff);
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-display: block;
    font-family: Gravity;
    src: url(../fonts/Gravity-Bold.woff);
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: block;
    font-family: Gravity;
    src: url(../fonts/Gravity-BoldItalic.woff);
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-display: block;
    font-family: Gravity;
    src: url(../fonts/Gravity-Light.woff);
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-display: block;
    font-family: Gravity;
    src: url(../fonts/Gravity-LightItalic.woff);
    font-weight: 400;
    font-style: italic;
}

@font-face {
    font-display: block;
    font-family: Merriweather;
    src: url(../fonts/Merriweather-Regular.woff);
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-display: block;
    font-family: Merriweather;
    src: url(../fonts/Merriweather-Italic.woff);
    font-weight: normal;
    font-style: italic;
}

@font-face {
    font-display: block;
    font-family: Merriweather;
    src: url(../fonts/Merriweather-Bold.woff);
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-display: block;
    font-family: Merriweather;
    src: url(../fonts/Merriweather-BoldIt.woff);
    font-weight: 700;
    font-style: italic;
}

@font-face {
    font-display: block;
    font-family: OpenSans;
    src: url(../fonts/OpenSans.woff);
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-display: block;
    font-family: OpenSans;
    src: url(../fonts/OpenSans-Bold.woff);
    font-weight: 700;
    font-style: normal;
}


/* #### END FONTS ############################################# */
/* #### BEGIN TYPOGRAPHY ############################################# */

/* fluid type scale calculator
 * @link https://utopia.fyi/type/calculator?c=320,21,1.2,1400,28,1.25,5,5,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l
 */
:root {
  --step--5: clamp(0.53rem, calc(0.51rem + 0.07vw), 0.57rem);
  --step--4: clamp(0.63rem, calc(0.61rem + 0.12vw), 0.72rem);
  --step--3: clamp(0.76rem, calc(0.72rem + 0.20vw), 0.90rem);
  --step--2: clamp(0.91rem, calc(0.85rem + 0.31vw), 1.12rem);
  --step--1: clamp(1.09rem, calc(1.00rem + 0.45vw), 1.40rem);
  --step-0: clamp(1.31rem, calc(1.18rem + 0.65vw), 1.75rem);
  --step-1: clamp(1.58rem, calc(1.39rem + 0.91vw), 2.19rem);
  --step-2: clamp(1.89rem, calc(1.64rem + 1.25vw), 2.73rem);
  --step-3: clamp(2.27rem, calc(1.93rem + 1.70vw), 3.42rem);
  --step-4: clamp(2.72rem, calc(2.26rem + 2.30vw), 4.27rem);
  --step-5: clamp(3.27rem, calc(2.65rem + 3.07vw), 5.34rem);
}

/* --- basic elements --- */
body {
	font-family: Arial, Helvetica, sans-serif;
	font-size: var(--step--2);
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin-top: 0;
  margin-bottom: 0;
}

h1 {
	font-family: LeagueSpartan, Sans-serif;
	text-transform: uppercase;
  font-weight: 700;
	/* font-weight: normal; */
	font-size: var(--step-1);
  line-height: var(--step-2);
  padding-top: 0.5rem;
}

h2 {
	font-family: Gravity, Sans-serif;
  font-weight: 700;
  font-style: italic;
	font-size: var(--step-1);
  line-height: var(--step-1);
}

h3 {
	font-family: Merriweather, Serif;
  font-weight: 700;
  font-style: italic;
	font-size: var(--step--1);
  line-height: var(--step-1);
}

h4 {
	font-family: Gravity, Oswald, serif;
  font-weight: bold;
	font-size: var(--step--1);
  line-height: var(--step-1);
}

h5 {
	font-family: Gravity, Oswald, serif;
  font-weight: bold;
	font-style: italic;
	font-size: var(--step--1);
  line-height: var(--step-1);
}

h6 {
  font-family: Gravity, Oswald, serif;
  font-weight: bold;
  font-size: var(--step--2);
  line-height: var(--step-2);
}

p {
	font-size: var(--step--2);
  line-height: var(--step-0);
  /* line-height: 1.7rem; */
  margin-bottom: 1.8rem;
}

a {
	text-decoration: none;
	font-weight: 600;
}

p a {
	text-decoration: underline;
}

ul {
	font-size: var(--step--2);
  line-height: var(--step-0);
}

ol > li > ol {
  list-style: lower-latin;
}

thead, th {
  font-weight: bold;
}

tfoot {
  font-style: italic;
}


blockquote {
  font-family: Merriweather, serif;
  font-weight: normal;
  font-style: normal;
  font-size: var(--step--3);
  line-height: var(--step-3);
  /* line-height: 1.5rem; */
}

figcaption {
  /* font-family: Merriweather, serif; */
  font-family: Arial, Helvetica, sans-serif;
  font-weight: normal;
  font-size: var(--step--3);
  line-height: var(--step--1);
  margin-top: 0.5rem;
}

/* --- custom classes --- */
.font-gravity {
  font-family: Gravity;
}

.font-merriweather {
  font-family: Merriweather;
}


.font-leaguespartan {
  font-family: LeagueSpartan;
}

.lighter {
  font-weight: lighter;
}

.bold, .strong {
  font-weight: 700;
}

.xxxxlarge {
  font-size: var(--step-5);
  line-height: var(--step-6);
  /* line-height: 3rem; */
}

.xxxlarge {
  font-size: var(--step-4);
  line-height: var(--step-5);
  /* line-height: 3rem; */
}

.xxlarge {
  font-size: var(--step-3);
  line-height: var(--step-3);
  /* line-height: 3rem; */
}

.xlarge {
  font-size: var(--step-2);
  line-height: var(--step-2);
  /* line-height: 2.5rem; */
}

.large {
  font-size: var(--step--1);
  line-height: var(--step--1);
  /* line-height: 2rem; */
}

.small {
  font-size: var(--step--1);
  line-height: var(--step-0);
  /* line-height: 2rem; */
}

.xsmall {
  font-size: var(--step--2);
  line-height: var(--step-0);
  /* line-height: 1.6rem; */
}

.xxsmall {
  font-size: var(--step--3);
  line-height: var(--step-0);
  /* line-height: 1.4rem; */
}

.xxxsmall {
  font-size: var(--step--4);
  line-height: var(--step--2);
  /* line-height: 1.2rem; */
}

.caps,
.all-caps,
.capitalize {
  text-transform: uppercase;
}

.nocaps,
.no-caps {
  text-transform: none;
}

.regular {
  font-style: normal;
  font-weight: normal;
  /* font-stretch: normal;*/
  /* font-stretch: 100%; */
  letter-spacing: normal;
}

.italic {
  font-style: italic;
}

.expanded {
  /* font-stretch: 200%; */
  /* font-stretch: expanded; */
  letter-spacing: 0.125em;
}

.condensed {
  /* font-stretch: 50%; */
  /* font-stretch: condensed; */
  letter-spacing: -0.0125em;
}

.underline {
  text-decoration: underline;
}

.no-underline {
  text-decoration: none;
}

.left {
  text-align: left;
}

.center,
.text-center {
  text-align: center;
}

.right {
  text-align: right;
}

/* https://stackoverflow.com/questions/10732690/offsetting-an-html-anchor-to-adjust-for-fixed-header */
a.anchor {
  display: block;
  position: relative;
  top: -150px;
  visibility: hidden;
}

/* --- navigation -- */
nav menu li a {
	font-family: LeagueSpartan, "Open Sans", Sans-serif;
	font-style: normal;
	text-transform: uppercase;
	font-size: var(--step--3);
  line-height: var(--step--3);
  list-style: none;
}

menu.subnav .close {
  font-weight: bold;
}

#subnav-open > div > span {
  transform: rotate(90deg);
  display: inline-block;
  font-size: x-large;
}



/* --- top page --- */

span.double-arrowhead:after {
  display: inline-block;
  vertical-align: middle;
  width: 2.8rem;
  content: url(../images/double-down-arrowhead.svg);
  transform-origin: 50% 40% 0;
  rotate: 0deg;
}


@media only screen and (max-width: 899px) {
  .desktop-only {
    display: none !important;
  }

  .left-mobile {
    text-align: left;
  }

  .center-mobile {
    text-align: center;
  }

  /* give page hack - move to block_counters_give or update */
  p.large {
    font-size: var(--step--1);
    line-height: var(--step-1);
  }
}

/* --- desktop mode --- */
@media only screen and (min-width: 900px) {

  .mobile-only {
    display: none !important;
  }

  .desktop-only-left-align {
    text-align: left;
  }


  blockquote {
    font-size: var(--step--2);
    line-height: var(--step--2);
    /* line-height: 2rem; */
  }

  .xxlarge, .xxlarge-desktop {
    font-size: var(--step-3);
    line-height: var(--step-3);
    /* line-height: 3.5rem; */
  }

  .xlarge, .xlarge-desktop {
    font-size: var(--step-2);
    line-height: var(--step-2);
    /* line-height: 3rem; */
  }

  .large, .large-desktop {
    font-size: var(--step-1);
    line-height: var(--step-3);
    /* line-height: 3rem; */
  }

  .small, .small-desktop {
    font-size: var(--step--1);
    line-height: var(--step-0);
    /* line-height: 2rem; */
  }

  .xsmall, .xsmall-desktop {
    font-size: var(--step--2);
    line-height: var(--step-0);
    /* line-height: 1.6rem; */
  }

  .xxsmall, .xxsmall-desktop {
    font-size: var(--step--3);
    line-height: var(--step-0);
    /* line-height: 1.4rem; */
  }

  .xxxsmall, .xxxsmall-desktop {
    font-size: var(--step--4);
    line-height: var(--step--3);
    /* line-height: 1.2rem; */
  }

  .regular-desktop {
    font-style: normal;
    font-weight: normal;
    /* font-stretch: normal;*/
    /* font-stretch: 100%; */
    letter-spacing: normal;
  }

  .center-desktop,
  .text-center-desktop {
    text-align: center;
  }

  h1.xsmall {
    font-size: var(--step--2);
    line-height: var(--step-0);
    /* line-height: 1.6rem; */
  }

  h3.xsmall {
    font-size: var(--step--2);
    line-height: var(--step--1);
    /* line-height: 1.6rem; */
  }

  p.xsmall-desktop {
    /* line-height: 1.8rem; */
    line-height: var(--step--2);
    line-height: var(--step-0);
  }

}

/* --- widescreen --- */
@media only screen and (min-width: 1400px) {
    /* placeholder for the returning king */
}



/* #### END TYPOGRAPHY ############################################# */
/* #### BEGIN COLORS ############################################# */

* {
  /* border: solid 1px orange; */
}

:root {
  --dark-blue:  #3560ad;
  --light-blue: #79a3d6;
  --gold:       #efba21;
  --dark-gray:  #595757;
  --light-gray: #807a79;
  --xlight-gray: #e6e6e6;
}

.gold {
   color: var(--gold) !important;
}

.blue,
.dark-blue {
   color: var(--dark-blue) !important;
}

.light-blue {
   color: var(--light-blue) !important;
}

.black {
   color: black !important;
}

.white {
   color: white !important;
}

.transparent-gray-bg {
  background-color: var(--xlight-gray);
}

.light-blue-bg {
  background-color: var(--light-blue);
}

.dark-blue-bg {
  background-color: var(--dark-blue);
}

.gold-bg {
  background-color: var(--gold);
}

.white-bg {
  background-color: white;
}

h1 {
  color: black;
}

h2 {
  color: var(--dark-blue);
}

h3 {
  color: var(--dark-blue);
}

h4, h5, h6 {
  color: black;
}

p {
  color: black;
}

body {
  /*
  background-color: #fcfcff; */ /* mhfu felyne hissing */

  /* Can we try this out instead? I think I like the nuetral grey better. Also, a little darker adds some nice depth when contrasting with the white elements on the page. -dt  */
  background-color: #fafafa;

}

a {
  color: var(--gold);
  transition: color 0.25s;
}

a:hover {
  color: var(--dark-blue);
}

blockquote {
  color: var(--dark-gray);
}

blockquote b {
  color: var(--dark-blue);
}

dl dt {
  color: var(--dark-blue);
}

dl dd {
  color: var(--dark-gray);
}

table caption, thead, th {
  color: var(--dark-blue);
}

/* see https://css-tricks.com/list-markers-and-string-styles/ for more tricks */
article ul li::marker {
  color: var(--dark-blue);
}

/*

nav {
  background-color: #fff;
}

nav menu a {
  color: black;
}

nav menu li.seperator {
  border-right: solid 3px var(--light-gray);
  height: 1rem;
}

nav menu li a#subnav-open {
  color: var(--gold);
}

menu.subnav {
  background-color: var(--gold);
  opacity: 0.85;
}

menu.subnav a {
  color: white;
}

menu.subnav li a:hover {
  color: var(--dark-gray);
}

menu.subnav .close {
  color: white;
  background-color: var(--dark-gray);
}

menu.subnav .close:hover {

  background-color: var(--dark-blue);
}

*/



input, button {
  color: white;
  background-color: var(--dark-blue);
  border: 1px solid white;
  accent-color: var(--dark-blue);
}

select {
  background-color: var(--dark-blue);
}

::selection {
  color: white;
  background-color: var(--gold);
}

option:not(:checked) {
  background-color: white;
}

section.blue p {
   color: var(--dark-blue);
}

article.banner {
  background-color: var(--dark-blue);
}

article.banner h1,
article.banner h2,
article.banner h3 {
  color: white;
}

section.banner {
  /* background-color: var(--light-gray); */
  background-color: rgba(0,0,0,0.1);
}

/* box-shadow */
.box-shadow {
  box-shadow: 0rem 0.75rem 1rem 0.75rem rgba(180,180,180,0.25);
}

@media only screen and (min-width: 900px) {

  .divider-right {
    border-right: 3px solid var(--light-gray);
  }





}




/* #### END COLORS ############################################# */
/* #### BEGIN RESPONSIVE ############################################# */

.page {
  max-width: 1400px;
  /* margin: 150px auto 0 auto; */
  margin: 0 auto;
}

hr {
	width: 66%;
	border-style: solid;
	border-width: 1px;
	margin: 25px auto 30px auto;
}

/* section styles */
section:not(.sidebar) {
  padding: 1.5rem 0 1rem 0;
}

section.banner {
  padding: 1.5rem 3rem 1rem 3rem;
}

section.banner + section {
  padding: 0rem 3rem 1rem 3rem;
}

section.span-left,
section.span-right {
  padding-top: 0;
  padding-bottom: 0;
}

section.sidebar {
  padding-top: 0;
}

.socialmedialinks {
  display: flex;
  justify-content: center;
  gap: 2rem;
  padding: 1rem 0;
}

.nav-offset {
  margin-top: 105px !important;
}

.offset {
  padding-top: 2rem;
}

.no-top-offset {
  margin-top: 0 !important;
/*  padding-top: 0 !important; */
}

.no-bottom-offset {
  margin-bottom: 0 !important;
/*  padding-bottom: 0 !important; */
}

.unselectable, label {
  user-select: none;
}

.indent {
  padding-left:15%;
  padding-right:15%;
}

.indent-mobile {
  padding-left:15%;
  padding-right:15%;
}

.flex {
  display: flex;
}

.flex-gap {
  gap: 2rem;
}

.flexbox-pictures {
  display: flex;
  /* align-items: baseline; */
  /* justify-content: space-around; */
  /* justify-items: normal; */
  gap: 2rem;
  /* flex-direction: column; */
  flex-wrap: wrap;
}

.divider-right {
  margin-right: 0;
  padding-right:  2rem;
}

/* blue box styles */
.bluecard.span-left,
.bluecard.span-right {
  padding: 2rem;
}

.bluecard
{
  background-color: var(--dark-blue);
  border-radius: 1rem;
}

.bluecard ul li::marker {
  color: white;
}

.bluecard h1,
.bluecard h3 {
  width: calc( 100% + 4rem );
  border-bottom: 3px solid white;
  padding: 0rem 2rem;
  position: relative;
  right: 2rem;
}

.bluecard > * {
  color: white;
}

img.circle {
  border-radius: 50%;
}

/* impact-label responsive resize and centers for images (svg) */
#impact-label img {
  width: 100%;
  height: 100%;
}

/* impact pages: stories from the students */
#impact-student-stories img {
  border-radius: 50%;
  float: left;
  max-width: 35%;
  margin-right: 1rem;
}

/* TODO: when screen is x-small, update nav{display:block}; */

@media only screen and (min-width: 900px) {

  #site-logo {
    padding-left: 30px;
  }

  nav menu {
    flex-wrap: nowrap;
  }

  nav menu li:first-of-type {
    flex: auto;
  }

  nav menu li.seperator,
  nav menu li:last-of-type {
    display: block;
  }

  nav:not(.subnav) menu li:last-of-type {
    padding-right: 1rem;
  }

  nav {
    flex-direction: row;
  }

  nav > menu {
    padding: 0;
    /* justify-content: right; */
    justify-content: right;
    gap: 1rem;
  }

  nav > menu > li {
    display: block;
  }

  nav > menu > li:nth-child(1),
  nav > menu > li:nth-child(10),
  nav > menu > li:nth-child(11) {
    order: block;
  }

  /* article:not(.full-width) {
    padding: 5rem;
  } */

  #give {
    /* height: 85px;
    padding-bottom: 15px; */
    margin-bottom: 1.5rem
  }

  #subnav-open > div {
    display: block;
  }

  #subnav-open:after {
    content: "";
  }

/*
  nav > menu > li:last-of-type {
    height: 100%;
    padding: 1.5rem;
  }
*/
  menu.subnav #menu-pointer {
    width: 40px;
    height: 40px;
    position: absolute;
    left: calc( 65% - 10px );
    top: -15px;

    width: 0;
    height: 0;
    border-left: 10px solid transparent;
    border-right: 10px solid transparent;
    border-bottom: 15px solid var(--gold);
  }

  menu.subnav {
    width: block;
    transform: translateY(37px) translateX(-293px);
    padding-top: 1rem;
  }


  menu.subnav > ul {
    /* margin: 20px auto 0 auto; */
    margin: 0;
  }


  aside {
    margin: 0;
  }

  /* article {
    margin-top: 4rem;
    margin-left: 0rem;
    margin-right: 0rem;
    margin-bottom: 2rem;
  } */

  footer .links {
    flex-wrap: nowrap;
  }

  footer .links > div {
    width: block;
  }

  footer .links > div:nth-child(1) { order: 1;}
  footer .links > div:nth-child(2) { order: 2;}
  footer .links > div:nth-child(3) { order: 3;}
  footer .links > div:nth-child(4) { order: 4;}

  .indent-mobile {
    padding-left: unset;
    padding-right: unset;
  }

  .indent-desktop {
    padding-left:15%;
    padding-right:15%;
  }
}

@media only screen and (min-width: 1400px) {

}


/* #### END RESPONSIVE ############################################# */
/* #### BEGIN ICONS ############################################# */

#give-heart {
    display:block;
    height: calc(var(--step-1) * 1.1);
    width: calc(var(--step-1) * 3.8);
    background: url("../images/give-heart.svg") no-repeat center;
    background-size:calc(var(--step-1) * 3);
    background-color: var(--dark-blue);
    border-radius: calc(var(--step-1) * 0.2);
    box-shadow:0.1rem 0.1rem 0.5rem 0rem rgba(0, 0, 0, 0.3);
    transition: background-size 0.1s, box-shadow 0.1s ;
    transition-timing-function: ease-out;
}

#give-heart:before {            /* hover image preload */
    content: url("../images/give-heart-gold.svg");
    opacity: 0%;
}

#give-heart:hover {
    background: url("../images/give-heart-gold.svg") no-repeat center;
    background-size:calc(var(--step-1) * 3.3);
    background-color: var(--dark-blue);

}

/* move button */
.move-button {

}

.move-button:hover {

}

.move-down {
    display:block;
    height: 4rem;
    aspect-ratio: 1;
    background: url("../images/single-down-arrowhead.svg") no-repeat center;
    position: absolute;
    bottom: 0;
    margin-bottom: 2rem;
    background-size: 3.5rem;
    transition:background-size 0.1s;
    transition-timing-function: ease-out;
    filter: drop-shadow(2px 2px 6px rgb(0 0 0 / 35%));
    animation: pulse1 1.5s infinite;
}

@keyframes pulse1 {
    0% {transform: translateY(0rem);}
    80% {transform: translateY(0.8rem);}
    100% {transform: translateY(0rem);}
}

@keyframes pulse2 {
    0% {transform: translateY(-3.2rem);}
    80% {transform: translateY(-4rem);}
    100% {transform: translateY(-3.2rem);}
}

.move-down:hover {
    background-size: 5rem;
    animation: none;
}

/* .move-up {
    display:block;
    height: calc(var(--step-1) * 1.3);
    width: calc(var(--step-1) * 1.3);
    border-radius: calc(var(--step-1) * 0.2);
    box-shadow:0.1rem 0.1rem 0.5rem 0rem rgba(0, 0, 0, 0.3);
    transition: background-image 0.1s, box-shadow 0.1s ;
    transition-timing-function: ease-out;
    background: url("../images/double-up-arrowhead.svg") no-repeat center;
    background-size: calc(var(--step-1) * 1.3);
    background-color: var(--gold);
    transition:background-size 0.1s;
    transition-timing-function: ease-out;
} */

.move-up {
    display:block;
    height: 4rem;
    aspect-ratio: 1;
    background: url("../images/single-up-arrowhead-gold.svg") no-repeat center;
    position: absolute;
    margin-bottom: 2rem;
    background-size: 3.5rem;
    transform: translateY(-4rem);
    transition:background-size 0.1s;
    transition-timing-function: ease-out;
    /* filter: drop-shadow(2px 2px 6px rgb(0 0 0 / 35%)); */
    animation: pulse2 1.5s infinite;
}

/* .move-up:hover {
    background-size: calc(var(--step-1) * 1.45);
} */

.move-up:hover {
    background-size: 4.5rem;
    animation: none;
}

.text-link {
    display:flex;
    height: calc(var(--step-1) * 1.3);
    aspect-ratio: 4;
    border-radius: calc(var(--step-1) * 0.2);
    align-items: center;
    justify-content: center;
    background-color: var(--gold);
    box-shadow:0.1rem 0.1rem 0.5rem 0rem rgba(0, 0, 0, 0.3);
    transition: background-image 0.1s, box-shadow 0.1s ;
    transition-timing-function: ease-out;
}

.blue-text-link {
    display:flex;
    height: calc(var(--step-1) * 1.3);
    aspect-ratio: 4;
    border-radius: calc(var(--step-1) * 0.2);
    align-items: center;
    justify-content: center;
    background-color: var(--dark-blue);
    box-shadow:0.1rem 0.1rem 0.5rem 0rem rgba(0, 0, 0, 0.3);
    transition: background-image 0.1s, box-shadow 0.1s ;
    transition-timing-function: ease-out;
}

/* text link */
.text-link-text {
    color:white;
    font-size: var(--step--2);
    padding:0;
    margin-bottom: calc(var(--step--2) * -0.2);
    transition: all 0.1s;
}

.text-link-text:hover {
    font-size: calc(var(--step--2) * 1.05);
    margin-bottom: calc(var(--step--2) * -0.25);
}

/* social media links */
.social-media-link-wrapper {
    display:flex;
    flex-flow: row wrap;
    align-items: center;
    justify-content: center;
    gap: 2rem;
    padding-bottom: 0px;
}

.social-media-link {
    display:block;
    height: calc(var(--step-1) * 1.3);
    width: calc(var(--step-1) * 1.3);
    /* border-radius: calc(var(--step-1) * 0.2); */
    /* box-shadow:0.1rem 0.1rem 0.5rem 0rem rgba(0, 0, 0, 0.3); */
    transition: background-image 0.1s, box-shadow 0.1s ;
    transition-timing-function: ease-out;
}

#facebook-link {
    background: url("../images/facebook-white.svg") no-repeat center;
}

#youtube-link {
    background: url("../images/youtube-white.svg") no-repeat center;
}

#instagram-link {
    background: url("../images/instagram-white.svg") no-repeat center;
}

#facebook-link, #youtube-link, #instagram-link {
    background-size: calc(var(--step-1) * 0.9);
    /* background-color: var(--gold); */
    transition: background-size 0.1s;
    transition-timing-function: ease-out;
    overflow:hidden;
}

#facebook-link:hover, #youtube-link:hover, #instagram-link:hover {
    background-size: calc(var(--step-1) * 1.05);
}

@media only screen and (max-width: 550px) {
  .social-media-link-wrapper {
    justify-content: space-evenly;
    gap: 0;
  }
}

/* #### END ICONS ############################################# */
/* #### BEGIN BUTTONS ############################################# */

.btn {
  padding: 0.4rem 1rem 0.1rem 1rem;
  border-radius: 1rem;
  color: white;
  font-family: LeagueSpartan;
  background-color: var(--dark-blue);
  transition: color 0.125s ease, background-color 0.125s ease;
  text-transform: uppercase;
  cursor: pointer;
}

.btn-large {
  font-family: LeagueSpartan;
  padding: 1rem 2rem 0.75rem 2rem;
}

.btn:hover {
  color: white;
  background-color: var(--gold);
}

.btn-shadow {
  /* box-shadow: 0rem 0.75rem 1rem 0.75rem rgba(180,180,180,0.25); */
  filter: drop-shadow(0rem 0.75rem 1rem rgba(0,0,0,0.25))
}

.fit-content {
  width: fit-content;
}

.btn-gold {
  color: white;
  background-color: var(--gold);
}

.btn-gold:hover {
  color: white;
  background-color: var(--dark-blue);
}

.btn-hover-light-blue:hover {
  color: white;
  background-color: var(--light-blue);
}
/* #### END BUTTONS ############################################# */
/* #### BEGIN HERO ############################################# */

html {
    scroll-behavior:smooth;
}

#hero {
    margin-top: 0rem;
    height: 100vh;
    width: 100%;
    max-width: 100%;
    margin: 0rem;
    padding: 0rem;
}

#hero-inner {
    position:absolute;
    width:100%;
    height:100%;
    z-index:30;
    overflow:hidden;
}

#hero-video {
    position:absolute;
    height:100%;
    width:100%;
    object-fit:cover;
    border: none;
}

.hero-copy {
    position: absolute;
    height: 100%;
    width: 100%;
    z-index: 200;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

.hero-overlay {
    position:absolute;
    width: 100%;
    height: 100%;
    z-index: 190;
    background-color: rgb(0 0 0 / 0.2);
}

.hero-copy>h1, .hero-copy>h2 {
    filter: drop-shadow(0px 0px 3px rgb(0 0 20 / 1));
    /* padding-top: var(--step-1);
    padding-bottom: var(--step-2); */
    line-height: 4.5rem;
}

/* #hero-image {
    position:absolute;
    left:50%;
    top:50%;
    min-height:100%;
    min-width:100%;
    transform:translate(-50%, -50%);
    border: none;
} */

#hero-image {
    position:absolute;
    left:50%;
    top:50%;
    object-fit:cover;
    height:100%;
    min-width:100%;
    transform:translate(-50%, -50%);
    border: none;
}

.mobile-only {
    display: none !important;
}

.hero-85 .hero-overlay, .hero-80 .hero-overlay, .hero-75 .hero-overlay, .hero-66 .hero-overlay, .hero-50 .hero-overlay, .hero-33 .hero-overlay, .hero-0 .hero-overlay {
    display:none !important;
}

@media only screen and (min-width: 801px) {
    .hero-85, .hero-85 div:first-of-type {
        height: 85vh !important;
    }

    .hero-80, .hero-80 div:first-of-type {
        height: 80vh !important;
    }

    .hero-75, .hero-75 div:first-of-type {
        height: 75vh !important;
    }

    .hero-66, .hero-66 div:first-of-type {
        height: 66vh !important;
    }

    .hero-50, .hero-50 div:first-of-type {
        height: 50vh !important;
    }

    .hero-33, .hero-33 div:first-of-type {
        height: 33vh !important;
    }

    .hero-0, .hero-0 div:first-of-type {
        height: 0vh !important;
    }

}

@media only screen and (max-width: 899px) {
    #hero-video {
        display: none;
    }

    #hero-inner {
        background-image: none;
    }

    #hero-image {
        display: block;
    }

    .mobile-only {
    display: block !important;
    }

    .hero-85, .hero-85 div:first-of-type, .hero-80, .hero-80 div:first-of-type, .hero-75, .hero-75 div:first-of-type, .hero-66, .hero-66 div:first-of-type, .hero-50, .hero-50 div:first-of-type {
        height: 80vh !important;
    }

    .hero-33, .hero-33 div:first-of-type {
        height: 33vh !important;
    }

    .hero-0, .hero-0 div:first-of-type {
        height: 0vh !important;
    }

}



/* #### END HERO ############################################# */
/* #### START FOOTER ############################ */

.flex-half-col {
  flex:1;
  text-align: justify;
}

footer {
  background: url("../images/footer.jpg") no-repeat bottom;
  background-size:cover;
  background-color:black;
}

footer .tight-content {
  padding-top: var(--step-0);
}

footer .flex-two-thirds {
  flex:2;
  text-align: justify;
}

footer .flex-one-third {
  flex:1;
  text-align: justify;
}

#footer-top-logo {
  width: 50%;
}

footer hr {
  width: 100%;
  margin: 0px auto 1rem auto;
  color: var(--light-gray);
}

#footer-main-content {
  padding-top: 0px;
}

footer > article:first-of-type > div:first-of-type {
  align-items: center;
}

footer .column {
  margin-bottom: 1.5rem;
  flex: 1;
}

.footer-list {
  padding-inline-start:0;
}

.footer-list ul, .footer-list a {
  text-align:left;
  list-style:none;
  padding-left:0;
  margin-top:0.25rem;
  color: white;
  font-weight: normal;
  font-size: var(--step--3);
  line-height: calc(var(--step--3) * 1.5);
  filter: drop-shadow(0px 0px 2px rgb(0 0 0 / 0.7));
  transition: all 0.1s;
}

.footer-list li:first-of-type {
  text-transform: uppercase;
  /* margin-bottom: calc(var(--step--2) * 1.5); */
  margin-bottom: 1rem;
  font-weight: 600;
  font-family: 'LeagueSpartan', sans-serif;
}

.footer-list li {
  margin-top: calc(var(--step--3) * 1);
}

.footer-list a:hover {
  color: var(--gold);
}

/* -- social media column --- */
#social-media-column {

}

#newsletter-header {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#cc-email-form input, #cc-email-form select {
  height: var(--step-0);
  background-color: rgb(255 255 255 / 40%);
  border: 1px solid #606060;
  color: white;
  padding: 0px 1rem 0px 1rem;
}

#cc-email-form option {
  color: white;
  background-color: #606060;
}

#cc-email-form label {
  font-size: var(--step--4);
  margin-bottom: 2px;
}

#cc-email-form button {
  display: flex;
  height: cacl(var(--step-1) * 1.3);
  border-radius: calc(var(--step-1) * 0.2);
  align-items: center;
  justify-content: center;
  /* background-color: var(--dark-blue); */
  box-shadow: 0.1rem 0.1rem 0.5rem 0rem rgb(0 0 0 / 30%);
  color: white;
  font-size: var(--step--2);
  font-family: LeagueSpartan, San-serif;
  text-transform: uppercase;
  padding: 0.6rem 0.3rem 0.3rem 0.3rem;
}

#cc-email-form h2 {
  font-size: var(--step--2);
  margin: 0px;
  display: none;
}

#cc-email-form p {
  font-size: var(--step--4);
  text-align:center;
}

.ctct-form-container {
  margin-bottom: 10%;
}

#cc-email-form .ctct-form-defaults {
  background-color: rgba(0, 0, 0, 0);
  padding: 0px;
}

.down-arrow::after {
  content: "»";
  transform:rotate(90deg);
  margin: auto 0.5rem;
  width: 10px;
  height: 10px;
  display: inline-block;
  position: relative;
  top: 0.25rem;
}

@media only screen and (max-width: 550px) {

  .flex-half-col {
    flex: 52%;
    text-align: left;
  }

  .footer-header, .footer-list, .footer-list a {
      text-align: center;
  }

  footer .full-flex {
    display: inherit;
  }

  footer > article:nth-of-type(2) > div {
    display: inline-flex;
    flex-direction: column;
  }

  footer > article:nth-of-type(2) > div > div:nth-of-type(1) { order: 2; }
  footer > article:nth-of-type(2) > div > div:nth-of-type(2) { order: 1; }

  #copyright {
    /* display: none; */
    text-align:justify;
  }
}

@media only screen and (max-width: 800px) {
    footer .flex-two-thirds {
      flex:1;
    }
}

@media only screen and (min-width: 900px)
{
  #newsletter-header {
    flex-direction: row;
  }
}


/* ######### BEGIN ADJUSTS.CSS ## LOAD ME LAST ########################## */

/* padding */
.pad0 {
  padding-top:0rem;
  padding-bottom:0rem;
}

.padtight {
  padding-top:0.5rem;
  padding-bottom:0.5rem;
}

.pad1 {
  padding-top:1rem;
  padding-bottom:1rem;
}

.pad2 {
  padding-top:2rem;
  padding-bottom:2rem;
}

.pad3 {
  padding-top:3rem;
  padding-bottom:3rem;
}

.pad4 {
  padding-top:4rem;
  padding-bottom:4rem;
}

.padl1,
.pad1-left{
 padding-left: 1rem;
}

.padl2,
.pad2-left{
  padding-left: 2rem;
}

.padl3,
.pad3-left{
  padding-left: 3rem;
}

.padr1,
.pad1-right{
  padding-right: 1rem;
}

.padr2,
.pad2-right{
  padding-right: 2rem;
}

.padr3,
.pad3-right{
  padding-right: 3rem;
}

/* padding left/right */
.pad0-wide {
  padding-left: 0;
  padding-right: 0;
}

.pad1-wide {
  padding-left: 1rem;
  padding-right: 1rem;
}

.pad2-wide {
  padding-left: 2rem;
  padding-right: 2rem;
}

/* margin */
.margin0 {
  margin-top: 0rem;
  margin-bottom: 0rem;
}

.margintight {
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}

.margin1 {
  margin-top: 1rem;
  margin-bottom: 1rem;
}

.margin2 {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.margin3 {
  margin-top: 3rem;
  margin-bottom: 3rem;
}

.margin4 {
  margin-top: 4rem;
  margin-bottom: 4rem;
}

/* gap */
.gap1 {
  gap: 1rem;
}

.gap2 {
  gap: 2rem;
}

.gap3 {
  gap: 3rem;
}

.gap4 {
  gap: 4rem;
}

@media only screen and (min-width: 900px)
{
  .pad2-left-desktop {
    padding-left: 2rem;
  }

  .pad2-right-desktop {
    padding-right: 2rem;
  }
}
