@charset "UTF-8";
/************************************************************************************
resets
*************************************************************************************/
html, body, div, span, object, iframe, blockquote, pre, a, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figure, figcaption, hgroup, menu, footer, header, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
}

article, aside, canvas, figure, figure img, figcaption, hgroup, footer, header, nav, section, audio, video {
  display: block;
}

/************************************************************************************
layout
*************************************************************************************/
html, body {
  width: 100%;
  height: 100%;
}

body {
  font-family: "Poppins", sans-serif;
  font-weight: 500;
  color: #0f2820;
}

.wrapper {
  width: 980px;
  margin: 0 auto;
}

.clear {
  clear: both;
  margin: 0;
  padding: 0;
  height: 0px;
  font-size: 0;
  line-height: 0;
  float: none;
}

.break {
  clear: both;
  margin: 10px 0;
  width: 100%;
  height: 1px;
  background: #000;
}

::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

img {
  vertical-align: middle;
  border: 0;
}

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

label:hover {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

.chromeframe {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
}

h1 {
  font-weight: 900;
  color: #39cac1;
  font-size: 3.6rem;
  line-height: 3.6rem;
  margin: 0;
  text-transform: uppercase;
}

h2 {
  font-weight: 700;
  color: #39cac1;
  font-size: 32px;
  line-height: 40px;
  margin: 0;
  text-transform: uppercase;
}

.subheader {
  text-transform: uppercase;
  font-size: 18px;
}

a {
  text-decoration: underline;
  color: #39cac1;
}

ul {
  padding-left: 1em;
}

.button, input.button {
  display: inline-block;
  padding: 16px 32px;
  color: #fff;
  background: #39cac1;
  text-decoration: none;
  text-transform: uppercase;
  font-weight: 300;
  transition: all 0.5s;
  cursor: pointer;
  border: none;
}

.button span, input.button span {
  cursor: pointer;
  display: inline-block;
  position: relative;
  transition: 0.5s;
}

.button span:after, input.button .span:after {
  content: "»";
  position: absolute;
  opacity: 0;
  top: 0;
  right: -20px;
  transition: 0.5s;
}

.button:hover, input.button:hover {
  padding: 16px 0px 16px 20px;
}

.button:hover span, input.button:hover span {
  padding-right: 44px;
}

.button:hover span:after, input.button:hover span:after {
  opacity: 1;
  right: 20px;
}

.som {
  display: none;
}

@media (max-width: 768px) {
  .hom {
    display: none;
  }
  .som {
    display: block;
  }
}
img {
  max-width: 100%;
}

.lt {
  float: left;
}

.rt {
  float: right;
}

.default-page-wrap {
  width: 100%;
  max-width: 1000px;
  margin: auto;
}

.callout {
  background-color: #39cac1;
  color: #fff;
  padding: 20px 2%;
  margin-bottom: 20px;
}
.callout .button {
  background: #fff;
  color: #39cac1;
}
.callout a {
  color: #fff;
}

.video-container {
  position: relative;
  width: 100%;
  padding-bottom: 56.25%; /* For a 16:9 aspect ratio (9/16 = 0.5625) */
  height: 0;
  overflow: hidden;
}
.video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.accordion {
  width: 100%;
  margin: 20px auto;
}
.accordion-item {
  border-bottom: 1px solid #ddd;
}
.accordion-header {
  width: 100%;
  text-align: left;
  padding: 15px;
  background: #eee;
  border: none;
  outline: none;
  cursor: pointer;
  font-size: 1.1rem;
  font-weight: bold;
  transition: background 0.3s;
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: #000;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.accordion-header label {
  flex: 1;
  text-align: left;
}
.accordion .chevron {
  display: inline-flex;
  align-items: center;
  margin-left: 12px;
}
.accordion .chevron svg {
  display: block;
  transition: transform 0.25s ease;
  transform-origin: 50% 50%;
}
.accordion .chevron img {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  pointer-events: none;
  filter: none !important;
  color: transparent;
}
.accordion-header:hover {
  background: #ddd;
}
.accordion-header.active .chevron svg {
  transform: rotate(180deg);
}
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background: #fafafa;
  padding: 0 15px;
}
.accordion-content.open {
  padding: 15px;
}

.photo-gallery {
  text-align: center;
}
.photo-gallery a {
  display: block;
  width: 100%;
  padding: calc(16px / 2) 0;
  text-decoration: none;
  opacity: 0.9;
  transition: all 0.2s;
}
.photo-gallery a:hover {
  opacity: 1;
}
.photo-gallery a img {
  width: 100%;
}
@media (min-width: 768px) {
  .photo-gallery {
    -moz-column-count: 4;
         column-count: 4;
    -moz-column-gap: 16px;
         column-gap: 16px;
  }
}

.sponsored-by {
  border: 1px solid #39cac1;
  border-radius: 4px;
  padding: 0;
  margin-bottom: 24px;
  text-align: center;
}
.sponsored-by h3 {
  margin: 0;
  padding: 12px;
  background-color: #39cac1;
  color: #fff;
}
.sponsored-by .sponsors-list {
  padding: 0 24px;
}
.sponsored-by ul {
  width: 100%;
  margin: 0;
  padding: 0 !important;
}
.sponsored-by ul li {
  display: block;
  list-style: none;
  margin: 24px auto;
}
.sponsored-by ul li img {
  width: 100%;
  max-width: 260px;
}
.sponsored-by.affiliated-groups ul li img {
  max-width: 180px;
}

/************************************************************************************************************
header
*************************************************************************************************************/
header {
  position: relative;
  background-color: #39cac1;
  width: 94%;
  padding: 4px 3%;
  height: 47px;
}
header .wrap {
  margin: auto;
  width: 100%;
}
header .logo {
  float: left;
}
header nav {
  float: right;
  text-align: right;
  margin-top: 10px;
}
header ul {
  margin: 0;
  padding: 0;
}
header li {
  list-style: none;
  display: inline;
  position: relative;
}
header li a {
  color: #0f2820;
  text-decoration: none;
  padding: 18px 20px;
}
header nav ul li:last-of-type a {
  padding-right: 0;
}
header a:hover {
  color: #fff;
}
header .dropdown ul li:first-of-type {
  display: none;
}
header {
  /*dropdowns*/
}
header nav li ul {
  position: absolute;
  left: -9999px;
  background-color: #fff;
  z-index: 2;
  width: 270px;
  text-align: left;
  top: 40px;
  box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.2);
}
header nav li ul li {
  display: block;
  margin: 0;
}
header nav li ul a {
  white-space: nowrap;
  display: block;
  padding: 10px 0 10px 14px;
}
header nav li ul a:hover {
  background-color: #0f2820;
  color: #fff;
}
header nav li:hover ul {
  left: 16px;
}

.nav-icon {
  position: relative;
  float: right;
  z-index: 90;
  width: 30px;
  height: 20px;
  display: none;
  align-content: space-between;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  top: 5px;
}
.nav-icon div {
  width: 100%;
  height: 2px;
  background-color: #fff;
}
.nav-icon div:last-of-type {
  width: 80%;
}
.nav-icon:hover {
  cursor: pointer;
}

.hero {
  height: calc(40vh - 47px);
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 130px;
  background-color: #f1f1f2;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}
.hero .wrap {
  text-align: center;
}
.hero h2 {
  font-size: 80px;
  line-height: 109px;
  font-weight: 900;
  color: #fff;
}

/*.webp .hero {background-image: url("../images/forest-trail.webp");}
.no-webp .hero {background-image: url("../images/forest-trail.jpg");}*/
.hero {
  background-image: url("https://s3.amazonaws.com/happycatfitness.com/forest-trail.jpg");
}

/************************************************************************************
off canvas nav
*************************************************************************************/
#off-canvas-nav {
  display: none;
}

.overlay {
  height: 100%;
  width: 0;
  position: fixed;
  z-index: 100;
  top: 0;
  right: 0;
  background-color: #0f2820;
  overflow-x: hidden;
  transition: 0.5s;
}
.overlay .close-button {
  position: absolute;
  z-index: 110;
  width: 30px;
  height: 20px;
  top: 34px;
  right: 40px;
}
.overlay .close-button:before, .overlay .close-button:after {
  position: absolute;
  left: 15px;
  content: " ";
  height: 33px;
  width: 2px;
  background-color: #fff;
}
.overlay .close-button:before {
  transform: rotate(45deg);
}
.overlay .close-button:after {
  transform: rotate(-45deg);
}
.overlay .close-button:hover {
  cursor: pointer;
}

.overlay-content {
  position: relative;
  top: 70px;
  width: 100%;
  text-align: left;
}

.overlay a {
  padding: 10px 0 10px 24px;
  text-decoration: none;
  font-size: 18px;
  font-weight: 300;
  color: #fff;
  display: block;
  transition: 0.3s;
  position: relative;
}
.overlay a:hover {
  color: #39cac1;
}

/*dropdowns*/
.overlay-content .dropdown .top-level a:first-of-type {
  display: block;
}

.overlay-content .dropdown a:after {
  content: "▼";
  display: inline;
  padding-left: 8px;
  position: relative;
  font-size: 66%;
  color: #39cac1;
  top: -1px;
}

.overlay-content .dropdown.open a:after {
  content: "▲";
}

.overlay-content .dropdown ul {
  display: none;
  margin-left: 10px;
}

.overlay-content .dropdown.open ul {
  display: block;
}

.overlay-content .dropdown.open ul a:after {
  content: "";
  display: none;
}

.alert {
  display: block;
  margin-bottom: 3rem;
}
.alert p {
  color: red;
  font-size: 22px;
}
.alert img {
  display: block;
  margin: auto;
  width: 60px;
  height: auto;
}

/* for 768px or less */
@media only screen and (max-width: 768px) {
  .alert {
    flex-direction: column;
  }
  .alert p {
    text-align: center;
    padding: 0;
    font-size: 18px;
  }
}
/************************************************************************************************************
home page
*************************************************************************************************************/
#home-page .hero {
  height: calc(100vh - 47px);
  position: relative;
}

.add-to-home-screen-callout {
  background-color: #fee243;
  position: absolute;
  bottom: 0;
  height: 50px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.add-to-home-screen-callout a {
  text-decoration: none;
  color: #0f2820;
  text-align: center;
  max-width: 96%;
}

#home-intro {
  text-align: center;
  margin-bottom: 130px;
}

#home-intro .button-wrap {
  margin-top: 80px;
  padding: 0 2%;
}

#home-intro .button-wrap .button {
  margin-bottom: 8px;
}

#home-intro .wrap {
  width: 96%;
  max-width: 1400px;
  margin: auto;
  /*mobile first on these columns*/
}
#home-intro .wrap .col-1 {
  text-align: left;
}
#home-intro .wrap .col-1 h1 {
  font-size: 77px;
  line-height: 75px;
  margin-bottom: 25px;
}
#home-intro .wrap .col-2 {
  position: relative;
}
#home-intro .wrap .col-2 .img {
  width: 100%;
  height: 650px;
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
}
#home-intro .wrap .col-2 .caption {
  background-color: #0f2820;
  color: white;
  font-weight: bold;
  font-size: 18px;
  text-transform: uppercase;
  text-align: center;
  padding: 20px 0;
}
#home-intro .wrap .col-3 .be-a-happy-cat {
  width: 100%;
  height: 300px;
  position: relative;
  margin: 40px 0;
}
#home-intro .wrap .col-3 .be-a-happy-cat img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 1;
  opacity: 0.08;
  width: 245px;
  max-width: 100%;
}
#home-intro .wrap .col-3 .be-a-happy-cat span {
  text-transform: uppercase;
  font-weight: bold;
  position: relative;
  top: 125px;
  z-index: 2;
  font-size: 28px;
  color: #39cac1;
  text-align: center;
  white-space: nowrap;
}
#home-intro .wrap .col-3 .quote {
  padding: 10px 30px;
  min-height: 100px;
  text-align: left;
  font-size: 28px;
  background-image: url("../images/quotes.png");
  background-repeat: no-repeat;
}
#home-intro .wrap .col-3 span {
  font-weight: bold;
  opacity: 0.5;
  display: block;
  text-align: right;
  margin-top: 12px;
}

/*.webp #home-intro .col-2 .img    {background-image: url("../images/woman-running.webp");}
.no-webp #home-intro .col-2 .img {background-image: url("../images/woman-running.jpg");}*/
#home-intro .col-2 .img {
  background-image: url("https://s3.amazonaws.com/happycatfitness.com/runner-waving.jpg");
}

#home-celebrate-you {
  text-align: center;
  width: 96%;
  max-width: 1400px;
  margin: auto;
  padding-bottom: 3rem;
}
#home-celebrate-you img {
  width: 100%;
  max-width: 600px;
}

#home-running-and-coaching {
  margin-bottom: 130px;
}
#home-running-and-coaching .lt {
  width: 66%;
  position: relative;
  height: 420px;
  top: 82px;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
#home-running-and-coaching .lt .block {
  position: absolute;
  left: 40px;
  bottom: -40px;
  width: 470px;
  padding: 40px 30px;
  background-color: #0f2820;
  text-align: center;
  color: #fff;
  font-weight: 700;
  font-size: 18px;
  text-transform: uppercase;
}
#home-running-and-coaching .lt .block h2 {
  text-transform: uppercase;
  color: #39cac1;
  font-size: 32px;
  font-weight: 700;
  margin-bottom: 20px;
  color: #39cac1;
}
#home-running-and-coaching .rt {
  width: calc(34% - 140px);
  background: #39cac1;
  color: #fff;
  padding: 70px;
}
#home-running-and-coaching .rt h1 {
  font-size: 60px;
  margin-bottom: 30px;
  color: #fff;
  max-width: 340px;
}
#home-running-and-coaching .rt ul {
  margin-bottom: 45px;
  padding-left: 0;
}
#home-running-and-coaching .rt li {
  list-style: none;
  background-image: url("../images/check.png");
  background-repeat: no-repeat;
  background-position: 20px 8px;
  padding-left: 60px;
  font-size: 23px;
}
#home-running-and-coaching .rt .button {
  background-color: #0f2820;
  color: #fff;
}

/*.webp #home-running-and-coaching .lt    {background-image: url("../images/jogging-on-boardwalk.webp");}
.no-webp #home-running-and-coaching .lt {background-image: url("../images/jogging-on-boardwalk.jpg");}*/
#home-running-and-coaching .lt {
  background-image: url("../images/track.jpg");
}

#home-race-results {
  margin-bottom: 90px;
  text-align: center;
}
#home-race-results h1 {
  margin-bottom: 40px;
}
#home-race-results ul {
  margin: 0;
  padding: 0;
}
#home-race-results li {
  list-style: none;
  display: inline-block;
  width: 28%;
  margin: 40px 2%;
  max-width: 400px;
  background-color: #f1f1f2;
  box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.24);
  text-align: center;
  vertical-align: top;
}
#home-race-results a {
  text-decoration: none;
}
#home-race-results .image {
  background-color: #fff;
  width: 100%;
  height: 260px;
  display: flex;
  align-items: center;
  justify-content: center;
}
#home-race-results .image img {
  width: auto;
  height: auto;
  max-width: 90%;
  max-height: 90%;
}
#home-race-results .content {
  padding: 13px 20px;
  font-size: 18px;
  line-height: 20px;
  text-align: left;
}
#home-race-results h5 {
  color: #39cac1;
  font-size: 18px;
  line-height: 21px;
  margin: 0 0 4px 0;
}
#home-race-results .details {
  color: #0f2820;
  margin: 0;
}
#home-race-results .button {
  margin: 40px auto;
}

/************************************************************************************************************
about page
*************************************************************************************************************/
#about-page {
  /*this section is mobile first*/
}
#about-page .col {
  padding: 0 2%;
}
#about-page .col:nth-child(4) {
  padding: 20px 2%;
}
#about-page .headshot {
  max-width: 50%;
  margin-bottom: 24px;
  border-radius: 4px;
  overflow: hidden;
}
#about-page .headshot img {
  width: 100%;
  height: auto;
}
#about-page .image img {
  max-width: 100%;
}
#about-page main {
  max-width: 1000px;
  margin: auto;
}

/************************************************************************************************************
hike club page
*************************************************************************************************************/
#hike-club-page main {
  max-width: 1000px;
  margin: auto;
  padding: 0 2% 60px 2%;
}
#hike-club-page main img {
  margin-bottom: 24px;
}
#hike-club-page main .col:nth-child(1) img {
  max-width: 50%;
  border-radius: 4px;
  overflow: hidden;
}
#hike-club-page .taji-100 {
  text-align: center;
}

/************************************************************************************************************
races and results page
*************************************************************************************************************/
#races-and-results-page {
  /*this section is mobile first*/
}
#races-and-results-page main ul {
  margin: 0;
  padding: 0;
  max-width: 1000px;
  margin: auto;
}
#races-and-results-page main li {
  list-style: none;
  display: block;
}
#races-and-results-page .race {
  padding-bottom: 30px;
}
#races-and-results-page .race .image {
  width: 100%;
  text-align: center;
}
#races-and-results-page .race .image img {
  width: 90%;
  max-width: 400px;
}
#races-and-results-page .race .content {
  padding: 20px 2% 0 4%;
}
#races-and-results-page .race .content .button {
  margin: 0 8px 8px 0;
}
#races-and-results-page .race .content .button:last-of-type {
  margin-right: 0;
}

/************************************************************************************************************
race details pages
*************************************************************************************************************/
.race-details-page main {
  max-width: 1000px;
  margin: auto;
  padding: 0 2% 60px 2%;
}
.race-details-page main .row {
  margin-bottom: 2em;
}
.race-details-page main .button {
  margin: 4px 4px 4px 0;
}
.race-details-page main .button:last-of-type {
  margin-right: 0;
}
.race-details-page main ul {
  padding-left: 1em;
}
.race-details-page .info {
  padding: 1em 0;
}
.race-details-page .info .date, .race-details-page .info .time, .race-details-page .info .location {
  padding-left: 30px;
  background-position: 2px 5px;
  background-repeat: no-repeat;
  background-size: 14px;
}
.race-details-page .info .date {
  background-image: url("../images/icon-date.png");
}
.race-details-page .info .time {
  background-image: url("../images/icon-time.png");
}
.race-details-page .info .location {
  background-image: url("../images/icon-location.png");
  background-size: 11px;
  background-position: 3px 4px;
}
.race-details-page .race-logo {
  display: block;
  max-width: 94%;
  margin: 1em auto;
}
@media (min-width: 768px) {
  .race-details-page .row {
    display: flex;
  }
  .race-details-page .row .col {
    flex-basis: 50%;
  }
  .race-details-page .row .col:first-of-type {
    padding-right: 1em;
  }
  .race-details-page .row .col:last-of-type {
    padding-left: 1em;
  }
  .race-details-page .race-logo {
    margin-right: 0;
    margin-left: 0;
  }
}

/************************************************************************************************************
running and coaching page
*************************************************************************************************************/
#running-and-coaching-page {
  /*this section is mobile first*/
}
#running-and-coaching-page main {
  max-width: 1000px;
  margin: auto auto 130px auto;
  padding: 0 2%;
}
#running-and-coaching-page .col:nth-child(2) {
  display: none;
}
#running-and-coaching-page .coaching-icons {
  padding: 0;
  margin: 50px 0 0 0;
}
#running-and-coaching-page .coaching-icons li {
  list-style: none;
  display: block;
  text-align: center;
  margin-bottom: 30px;
}
#running-and-coaching-page .coaching-icons img {
  width: 100px;
  height: auto;
}
#running-and-coaching-page .coaching-icons span {
  display: block;
  padding-top: 12px;
}

/************************************************************************************************************
contact page
*************************************************************************************************************/
#contact-page main {
  max-width: 1000px;
  margin: auto auto 130px auto;
  padding: 0 2%;
}
#contact-page .col {
  padding: 0 2%;
}
#contact-page main img {
  border-radius: 4px;
  margin-bottom: 16px;
}

.contact-form {
  width: 90%;
  max-width: 600px;
  margin: auto;
  margin-bottom: 130px;
}
.contact-form h1 {
  margin-bottom: 30px;
}
.contact-form label {
  display: block;
}
.contact-form label span {
  color: #39cac1;
}
.contact-form input, .contact-form textarea {
  padding: 12px;
  border: 1px solid #0f2820;
  border-radius: 4px;
  display: block;
  width: calc(100% - 24px);
  margin-bottom: 24px;
}
.contact-form textarea {
  min-height: 270px;
}
.contact-form .button {
  display: inline-block;
  width: auto;
  border: none;
  text-transform: capitalize;
  font-size: 16px;
  font-family: "Poppins", sans-serif;
  border-radius: 0;
}
.contact-form .button:hover {
  padding: 12px;
}
.contact-form label:last-of-type,
.contact-form input:nth-last-child(2) {
  display: none;
}

#form-submit-message {
  position: absolute;
  width: 360px;
  padding: 40px;
  max-width: calc(93% - 80px);
  background-color: #fff;
  top: 80px;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 200;
  box-shadow: 2px 2px 3px 0px rgba(0, 0, 0, 0.7);
}

/************************************************************************************************************
getting started page
*************************************************************************************************************/
#getting-started-page .contact-form {
  width: 100%;
  max-width: unset;
  margin: unset;
}
#getting-started-page .contact-form textarea {
  min-height: unset;
}
#getting-started-page .button {
  margin: 0 8px 8px 0;
}

/************************************************************************************************************
training page
*************************************************************************************************************/
#training-page {
  /*this section is mobile first*/
}
#training-page .col {
  padding: 0 2%;
}
#training-page .col:nth-child(4) {
  padding: 20px 2%;
}
#training-page main {
  max-width: 1000px;
  margin: auto;
}
#training-page .button {
  margin: 0 8px 8px 0;
}

/************************************************************************************************************
Frightening 4 page
*************************************************************************************************************/
#frightening-4-mile-trail-run-hike-page .hero {
  filter: grayscale(90%);
}
#frightening-4-mile-trail-run-hike-page .hero h2 {
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.6);
}

/************************************************************************************************************
adventure series
*************************************************************************************************************/
.adventure-series {
  text-align: center;
  background-color: #39cac1;
  color: #fff;
  padding: 20px 2%;
  margin-bottom: 20px;
}
.adventure-series p {
  padding: 23px 37px;
  background-color: #0f2820;
  max-width: 400px;
  margin: 12px auto auto auto;
  border-radius: 4px;
}
.adventure-series a {
  color: #fff;
}
@media (min-width: 768px) {
  .adventure-series {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .adventure-series .col {
    padding: 0 2%;
  }
}

/************************************************************************************************************
become a supporter
*************************************************************************************************************/
#become-a-supporter {
  color: #fff;
  padding: 124px;
  background-color: #0f2820;
  background-position: top right;
  background-repeat: no-repeat;
  background-size: auto 100%;
}
#become-a-supporter h4 {
  font-size: 3.6rem;
  line-height: 3.6rem;
  color: #39cac1;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0;
}
#become-a-supporter p {
  max-width: 38%;
}
#become-a-supporter .button {
  margin-top: 30px;
}

#become-a-supporter {
  background-image: linear-gradient(to right, #0f2820 66%, rgba(15, 40, 32, 0) 100%), url("../images/marathon-peace.jpg");
}

/************************************************************************************************************
footer
*************************************************************************************************************/
footer {
  text-align: center;
  background-color: #39cac1;
  color: #fff;
  height: auto;
  padding: 70px 0 10px 0;
}
footer .logo {
  margin-bottom: 50px;
}
footer nav {
  margin-bottom: 32px;
}
footer nav ul {
  margin: 0;
  padding: 0;
}
footer nav li {
  list-style: none;
  display: inline;
  padding: 0 5px;
}
footer nav a {
  color: #fff;
  text-decoration: none;
}
footer nav a:hover {
  text-decoration: underline;
}
footer nav .som {
  display: none !important;
}
footer nav li ul {
  display: none;
}
footer .social-icon {
  width: 24px;
  margin-bottom: 24px;
}
footer .copyright {
  font-size: 13px;
}
footer .attribution {
  font-size: 13px;
}
footer .attribution a {
  color: #fff;
  text-decoration: none;
}
footer .attribution a:hover {
  text-decoration: underline;
}

/************************************************************************************************************
members / private
*************************************************************************************************************/
#members-page main {
  max-width: 1000px;
  margin: auto auto 130px auto;
  padding: 0 2%;
}

/************************************************************************************************************
home screen instructions / app
*************************************************************************************************************/
#home-screen-instructions-page main {
  max-width: 1000px;
  margin: auto auto 130px auto;
  padding: 0 2%;
}
#home-screen-instructions-page ol {
  margin: 16px 0 32px 32px;
}

/************************************************************************************
media queries
*************************************************************************************/
/* for 400px or MORE */
@media only screen and (min-width: 400px) {
  #running-and-coaching-page .coaching-icons li {
    display: inline-block;
    width: 49%;
  }
}
/* for 768px or MORE */
@media only screen and (min-width: 768px) {
  .sponsored-by ul {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    flex-basis: 5;
  }
  #about-page main {
    margin-bottom: 80px;
  }
  #about-page main .wrap {
    display: flex;
    flex-wrap: wrap;
  }
  #about-page main .col {
    margin-bottom: 50px;
    align-self: center;
  }
  #about-page main .col:nth-child(1) {
    flex-basis: 35%;
  }
  #about-page main .col:nth-child(2) {
    flex-basis: 57%;
  }
  #about-page main .col:nth-child(3) {
    order: 4;
    flex-basis: 35%;
    padding: 0;
  }
  #about-page main .col:nth-child(4) {
    order: 3;
    flex-basis: 57%;
  }
  #about-page main .headshot {
    max-width: 90%;
  }
  #contact-page main .wrap {
    display: flex;
    align-items: center;
  }
  #contact-page main img {
    max-width: 260px;
  }
  #training-page main {
    margin-bottom: 80px;
  }
  #training-page main .wrap {
    display: flex;
    flex-wrap: wrap;
  }
  #training-page main .col {
    margin-bottom: 50px;
    align-self: center;
  }
  #training-page main .col:nth-child(1) {
    flex-basis: 35%;
  }
  #training-page main .col:nth-child(2) {
    flex-basis: 57%;
  }
  #training-page main .col:nth-child(3) {
    order: 4;
    flex-basis: 35%;
    padding: 0;
  }
  #training-page main .col:nth-child(4) {
    order: 3;
    flex-basis: 57%;
  }
  #races-and-results-page .race {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #races-and-results-page .race .image {
    flex-basis: 30%;
  }
  #races-and-results-page .race .content {
    flex-basis: 55%;
  }
  #races-and-results-page .race:last-of-type {
    margin-bottom: 80px;
  }
  #running-and-coaching-page main .wrap {
    display: flex;
  }
  #running-and-coaching-page .col:nth-child(1) {
    flex-basis: 66%;
    padding-right: 40px;
  }
  #running-and-coaching-page .col:nth-child(1) .button {
    margin-top: 40px;
  }
  #running-and-coaching-page .col:nth-child(2) {
    flex-basis: 30%;
    display: initial;
    padding-top: 24px;
  }
  #running-and-coaching-page .col:nth-child(2) img {
    width: 100%;
  }
  #running-and-coaching-page .coaching-icons {
    margin-top: 70px;
  }
  #running-and-coaching-page .coaching-icons li {
    width: 24%;
  }
  #hike-club-page main {
    margin-bottom: 80px;
  }
  #hike-club-page main .wrap {
    display: flex;
    flex-wrap: wrap;
  }
  #hike-club-page main .col {
    margin-bottom: 50px;
    align-self: center;
    padding: 0 2%;
  }
  #hike-club-page main .col:nth-child(1) {
    flex-basis: 35%;
  }
  #hike-club-page main .col:nth-child(1) img {
    max-width: 90%;
  }
  #hike-club-page main .col:nth-child(2) {
    flex-basis: 57%;
  }
  #hike-club-page main .col:nth-child(3) {
    order: 4;
    flex-basis: 35%;
    padding: 0;
  }
  #hike-club-page main .col:nth-child(4) {
    order: 3;
    flex-basis: 57%;
  }
  #hike-club-page main .taji-100 {
    display: flex;
    align-items: center;
    text-align: left;
  }
  #hike-club-page main .taji-100 .col {
    margin: 0;
    padding: 0;
  }
  #hike-club-page main .taji-100 .col:first-of-type {
    text-align: center;
  }
}
/* for 810px or MORE */
@media only screen and (min-width: 810px) {
  #home-intro .wrap {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #home-intro .wrap .col {
    flex-basis: 33.33333%;
  }
  #home-intro .wrap .col-3 {
    order: 1;
    padding-right: 24px;
  }
  #home-intro .wrap .col-2 {
    order: 2;
  }
  #home-intro .wrap .col-1 {
    order: 3;
    padding-left: 24px;
    align-self: flex-start;
  }
  #home-intro .wrap .col-1 h1 {
    font-size: 77px;
    line-height: 75px;
  }
  #home-intro .wrap .col-2 .img {
    background-position: center;
  }
  #home-intro .wrap .col-2 .caption {
    position: absolute;
    bottom: -27px;
    right: -34px;
    width: 390px;
  }
  #home-intro .wrap .col-3 .be-a-happy-cat {
    margin: 0 0 30px 0;
  }
  #home-intro .wrap .col-3 .be-a-happy-cat img {
    left: 0;
    transform: translateX(0);
  }
  #home-intro .wrap .col-3 .be-a-happy-cat span {
    transform: rotate(90deg);
    position: absolute;
    transform-origin: 0 0;
    top: 30px;
    left: 38px;
  }
}
/* for 1460px or less */
@media only screen and (max-width: 1460px) {
  #become-a-supporter {
    background-position: 110% top;
  }
}
/* for 1300px or less */
@media only screen and (max-width: 1300px) {
  #become-a-supporter {
    background-position: 130% top;
  }
  #home-intro .wrap .col-1 h1 {
    font-size: 69px;
    line-height: 63px;
  }
  #home-running-and-coaching .lt {
    width: 58%;
  }
  #home-running-and-coaching .rt {
    padding: 40px;
    width: calc(42% - 80px);
  }
  #home-race-results li {
    margin-left: 1%;
    margin-right: 1%;
  }
}
/* for 1080px or less */
@media only screen and (max-width: 1080px) {
  #off-canvas-nav {
    display: initial;
  }
  header nav {
    display: none;
  }
  .nav-icon {
    top: 12px;
    display: inline-flex;
  }
  #become-a-supporter {
    padding: 70px;
  }
  #home-intro .wrap .col-1 h1 {
    font-size: 57px;
    line-height: 53px;
  }
  #home-intro .wrap .col-3 .quote {
    font-size: 20px;
    line-height: 20px;
  }
  #home-intro .wrap .col-2 .caption {
    width: 300px;
  }
  #home-running-and-coaching .lt, #home-running-and-coaching .rt {
    float: none;
    width: 100%;
    height: auto;
  }
  #home-running-and-coaching .rt {
    width: calc(100% - 80px);
  }
  #home-running-and-coaching .rt h1 {
    max-width: unset;
  }
  #home-running-and-coaching .lt {
    top: 0;
    padding-top: 320px;
  }
  #home-running-and-coaching .lt .block {
    position: relative;
    width: calc(100% - 24px);
    left: 0;
    bottom: 0;
    padding: 40px 12px;
  }
  #home-race-results .content {
    font-size: 16px;
    line-height: 20px;
  }
}
/* for 900px or less */
@media only screen and (max-width: 900px) {
  header li {
    margin-left: 10px;
  }
  #become-a-supporter {
    padding: 48px;
    background-position: 170% top;
  }
  /*.webp #become-a-supporter    {background-image: linear-gradient(to right, #0f2820 55%, rgba(15, 40, 32, 0) 100%), url("../images/marathon-peace.webp");}*/
  /*.no-webp #become-a-supporter {background-image: linear-gradient(to right, #0f2820 55%, rgba(15, 40, 32, 0) 100%), url("../images/marathon-peace.jpg");}*/
  #become-a-supporter {
    background-image: linear-gradient(to right, #0f2820 55%, rgba(15, 40, 32, 0) 100%), url("../images/marathon-peace.jpg");
  }
  #become-a-supporter h1 {
    max-width: 70%;
  }
}
/* for 810px or less */
@media only screen and (max-width: 810px) {
  #home-page .hero {
    height: 80vh;
  }
  .hero h2 {
    font-size: 68px;
    line-height: 67px;
  }
  #become-a-supporter {
    background-size: cover;
    background-position: center;
    text-align: center;
  }
  #become-a-supporter h4, #become-a-supporter p {
    max-width: unset;
  }
  #become-a-supporter {
    background-image: linear-gradient(to right, rgba(15, 40, 32, 0.86) 0%, rgba(15, 40, 32, 0.86) 100%), url("../images/marathon-peace.jpg");
  }
  #home-intro .wrap .col-2 .caption {
    width: 100%;
  }
  #home-race-results li {
    display: block;
    width: 90%;
    margin: 0 auto 40px auto;
    height: auto;
  }
}
/* for 768px or less */
@media only screen and (max-width: 768px) {
  h1,
  #home-intro .wrap .col-1 h1,
  #home-running-and-coaching .rt h1 {
    font-size: 28px;
    line-height: 30px;
  }
  h2 {
    font-size: 24px;
    line-height: 28px;
  }
  .hero {
    margin-bottom: 60px;
  }
  .hero h2 {
    font-size: 38px;
    line-height: 40px;
  }
  .button span::after {
    display: none;
  }
  header {
    position: relative;
  }
  #home-intro {
    width: 100%;
  }
  #home-intro .lt, #home-intro .rt, #home-intro .md {
    float: none;
    width: 100%;
    margin: 0;
  }
  #home-running-and-coaching .rt {
    padding: 20px;
    width: calc(100% - 40px);
  }
  #home-running-and-coaching .lt {
    background-position: right center;
  }
  #become-a-supporter {
    padding: 48px 12px;
  }
}
/* for 414px or less */
@media only screen and (max-width: 414px) {
  #become-a-supporter h4 {
    font-size: 3rem;
    line-height: 3rem;
  }
}/*# sourceMappingURL=style.css.map */