:root {
  --color-primary: #01b7c3;
  --color-secondary: #ffa800;
  --text-default-color: #6b6b6b;
  --color-blue-light: #00cddb;
  --color-blue-accent: #017077;

  /* Drupal 11 variables */
  /* Base font size */
  font-size: 16px;

  /* Swell brand colors - shades created from #008993 */
  --sw-teal: #008a93;
  --sw-teal-2: #ebfeff;
  --sw-teal-12: #319aa3;
  --sw-teal-13: #2e939b;
  --sw-teal-15: #26868d;

  --sw-dusty-gray: #9b9b9b;
}

/* Font loading optimization */

@font-face {
  font-family: "Nunito Sans Fallback";
  src: local("Arial");
  size-adjust: 102%;
  ascent-override: 100%;
  descent-override: 25%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Montserrat Fallback";
  src: local("Arial");
  size-adjust: 105%;
  ascent-override: 90%;
  descent-override: 25%;
  line-gap-override: 0%;
}
@font-face {
  font-family: FontAwesome;
  src: url(/assets/fonts/fontawesome-webfont.eot?v=4.7.0);
  src: url(/assets/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0)
      format("embedded-opentype"),
    url(/assets/fonts/fontawesome-webfont.woff2?v=4.7.0) format("woff2"),
    url(/assets/fonts/fontawesome-webfont.woff?v=4.7.0) format("woff"),
    url(/assets/fonts/fontawesome-webfont.ttf?v=4.7.0) format("truetype"),
    url(/assets/fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular)
      format("svg");
  font-weight: 400;
  font-style: normal;
}
html {
  font-family: sans-serif;
  font-size: 16px;
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}
body {
  margin: 0;
  font-family: "Nunito Sans", "Nunito Sans Fallback", -apple-system,
    BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--text-default-color);
  text-align: left;
  background-color: #fff;
  font-display: swap;
}
img {
  max-width: 100%;
  height: auto;
}
ol,
p,
td,
ul {
  font-size: 1rem;
}
a {
  color: var(--color-primary);
  text-decoration: none;
  font-weight: 700;
}
a:hover {
  color: var(--color-blue-accent);
  text-decoration: none;
}
.drupal-article-list-item h2,
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-bottom: 1.25rem;
  font-family: Montserrat, "Montserrat Fallback", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: #424143;
}
.h1,
h1 {
  font-size: 2rem;
}
.h2,
h2 {
  font-size: 1.625rem;
}
.h3,
h3 {
  font-size: 1.4rem;
}
.h5,
h5 {
  font-size: 1rem;
}
/* .btn-primary {
  color: #fff;
  background-color: #00cddb;
  border-color: #00cddb;
} */
.btn-secondary {
  color: #4a4949;
  background-color: #ffa800;
  border-color: #ffa800;
}
.btn-secondary:hover {
  color: #fff;
  background-color: #d98f00;
  border-color: #cc8600;
}
/* .btn-primary:hover {
  color: #fff;
  background-color: #00a9b5;
  border-color: #009da8;
} */
.btn.btn-small {
  padding: 0.375rem 0.5rem;
  font-family: Montserrat, "Montserrat Fallback", sans-serif;
  font-size: 0.6875rem;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
}
/* a.button.button-action {
  color: #fff;
  background-color: #01b7c3;
  border-color: #01b7c3;
} */
/* style  */

.container {
  max-width: 100% !important;
}
.color-white {
  color: #fff;
}
.color-primary {
  color: var(--color-primary);
}
.color-secondary {
  color: var(--color-secondary);
}
.bg-primary {
  background-color: var(--color-primary) !important;
}
.bg-secondary {
  background-color: var(--color-secondary) !important;
}
.flex-1 {
  flex: 1;
}
[type="button"],
[type="reset"],
[type="submit"] {
  padding: 0.5rem 3rem;
  color: #fff;
  background-color: var(--color-primary);
  border-color: var(--color-primary);
}
.pager-load-more .pager-next a {
  display: inline-block;
  font-weight: 700;
  color: #6b6b6b;
  text-align: center;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: transparent;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0;
  -webkit-transition: color 0.15s ease-in-out,
    background-color 0.15s ease-in-out, border-color 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, -webkit-box-shadow 0.15s ease-in-out;
  -o-transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out,
    -webkit-box-shadow 0.15s ease-in-out;
}
a,
button {
  font-weight: 700;
  -webkit-transition: color 150ms ease, background-color 150ms ease,
    opacity 150ms ease;
  -o-transition: color 150ms ease, background-color 150ms ease,
    opacity 150ms ease;
  transition: color 150ms ease, background-color 150ms ease, opacity 150ms ease;
  word-break: break-word;
  outline: 0 !important;
}
/* .btn-outline-primary,
.pager[data-drupal-views-infinite-scroll-pager] .pager__item a {
  color: #00cddb;
  border-color: #00cddb;
} */
/* .pager[data-drupal-views-infinite-scroll-pager] .pager__item a:hover {
  color: #fff;
  background-color: #00cddb;
  border-color: #00cddb;
} */
.btn,
.pager[data-drupal-views-infinite-scroll-pager] .pager__item a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-weight: bold;
}
.pager {
  list-style: none;
  padding: 0;
  margin: 0;
  margin-bottom: 1.25rem;
  text-align: center;
  margin-top: 26px;
}
/*  */

.list-inline > li {
  display: inline-block;
  padding-left: 10px;
  padding-right: 10px;
}
.expand-width {
  margin-top: 40px;
}
.photo-carousel + .image-caption,
.expand-width {
  margin-bottom: 40px;
  margin-left: -150px;
  margin-right: -150px;
}
.field--name-body .image-caption,
ul.field-items .field--name-field-caption,
.field--name-field-section-body .image-caption {
  background: #797777;
  display: block;
  padding: 0.75rem 1rem;
  transform: none;
  margin-top: -1rem;
  color: #fff;
}
.expand-width + .image-caption {
  margin-top: -40px;
}
@media only screen and (max-width: 989.5px) {
  .expand-width {
    margin-left: 0px;
    margin-right: 0px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.media_embed iframe:not(.instagram-media),
.media_embed iframe[width]:not(.instagram-media),
.media_embed iframe[height]:not(.instagram-media) {
  border: 0;
  border-radius: 0.75rem;
  height: 100%;
  left: 0;
  max-width: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  width: 100%;
}
.comment-inner .media_embed iframe:not(.instagram-media),
.comment-inner .media_embed iframe[width]:not(.instagram-media),
.comment-inner .media_embed iframe[height]:not(.instagram-media) {
  border-radius: 0.375rem;
}
.field--name-body a {
  text-decoration: underline;
}
/* layout */

.global-header-top p {
  margin: 0;
}
.main-body {
  padding: 0 0 2.5rem;
}
.navbar-brand img {
  width: 100%;
  max-width: 100px;
  height: auto !important;
}
.region-header-top {
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 2.875rem;
  background: var(--color-secondary);
  color: #fff;
  font-family: Montserrat, "Montserrat Fallback", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  overflow: hidden;
}
.region-header-top p {
  margin: 0;
  font-size: inherit;
}
.region-header-top a {
  color: inherit;
}
/* sponsor */

.main-prefix .global-sponsor {
  margin-bottom: 1rem;
  background: none;
}
.main-prefix .global-sponsor .container {
  padding: 0;
}
.main-prefix .global-sponsor .container .ad-container {
  background: #e8e8e9;
}
.global-sponsor .ad-container > div,
.global-sponsor .adblock-billboard {
  padding: 1.0625rem 0;
  box-sizing: content-box;
  overflow: auto;
}
/*  */

.navbar-nav .nav-link {
  color: inherit;
}
.btn-back-top {
  position: fixed;
  bottom: 0.625rem;
  right: 0.625rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  border-radius: 100%;
  background: rgba(0, 0, 0, 0.5);
  font-size: 0.625rem;
  color: #fff;
  opacity: 0;
  -webkit-transform: translateY(0.3125rem);
  -ms-transform: translateY(0.3125rem);
  transform: translateY(0.3125rem);
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  cursor: pointer;
  pointer-events: none;
  z-index: 999;
}
.btn-back-top.show {
  opacity: 1;
  transform: translate(0);
  pointer-events: all;
}
.social-media {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.social-media a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.5rem;
  min-width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  margin: 0 0.3125rem 0.3125rem 0;
  line-height: 1;
  background: #222;
  font-size: 1.375rem;
  text-align: center;
  color: #fff !important;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  -o-transition: transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  border-radius: 100%;
  will-change: transform;
}
.social-media a:hover {
  opacity: 1 !important;
}
.social-media span:after {
  font-weight: 400;
  font-family: FontAwesome;
}
.social-media .behance {
  background: #1769ff;
}
.social-media .dribbble {
  background: #ea4c89;
}
.social-media .facebook {
  background: #3b5998;
}
.social-media .facebook span:after {
  content: "\f39e";
  font-weight: 400;
  font-family: FontAwesome;
}
.social-media .flickr {
  background: #ff0084;
}
.social-media .github {
  background: #9f7be1;
}
.social-media .google-plus {
  background: #dd4b39;
}
.social-media .instagram {
  background: #833ab4;
}
.social-media .instagram span:after {
  content: "\f16d";
}
.social-media .linkedin {
  background: #0077b5;
}
.social-media .linkedin span:after {
  content: "\f08c";
}
.social-media .pinterest {
  background: #bd081c;
}
.social-media .pinterest span:after {
  content: "\f0d2";
}
.social-media .twitter {
  background: #1da1f2;
}
.social-media .twitter span:after {
  content: "\f099";
}
.social-media .rss {
  background: #f26522;
}
.social-media .rss span:after {
  content: "\f09e";
}
.social-media .slack {
  background: #e01563;
}
.social-media .slack span:after {
  content: "\f198";
}
.social-media .snapchat {
  background: #fffc00;
  color: #222 !important;
}
.social-media .snapchat span:after {
  content: "\f2ac";
}
.social-media .soundcloud {
  background: #f80;
}
.social-media .soundcloud span:after {
  content: "\f1be";
}
.social-media .tumblr {
  background: #35465c;
}
.social-media .tumblr span:after {
  content: "\f173";
}
.social-media .vimeo {
  background: #1ab7ea;
}
.social-media .f27d span:after {
  content: "\f27d";
}
.social-media .youtube {
  background: #cd201f;
}
.social-media .youtube span:after {
  content: "\f167";
}
.social-media .instagram {
  background: #d6249f;
  background: -o-radial-gradient(
    30% 107%,
    circle,
    #fdf497 0,
    #fdf497 5%,
    #fd5949 45%,
    #d6249f 60%,
    #285aeb 90%
  );
  background: radial-gradient(
    circle at 30% 107%,
    #fdf497 0,
    #fdf497 5%,
    #fd5949 45%,
    #d6249f 60%,
    #285aeb 90%
  );
}
.lv-off-canvas .social-media {
  margin: 1.25rem 0;
}
.page-node-type-page-layout .main-body {
  padding-bottom: 0;
}
.page-node-type-page-layout .global-footer {
  padding: 0;
}
footer.global-footer {
  padding: 0;
}
/* forum */

.table-forum thead th {
  border-bottom: none !important;
  background-color: #f6f6f6;
}
#forum .table .last-reply {
  display: none;
}
/*#forum .table th:nth-child(4) { display: none; }*/

.table-forum td p {
  margin-bottom: 0;
}
/* *************** */

/* wave of the day */

/* *************** */

.view-latest-wave-of-the-day .node-wave-of-the-day {
  border-radius: 0.75rem;
  overflow: hidden;
}
.node-wave-of-the-day,
.view-latest-wave-of-the-day {
  margin-bottom: 1.3rem;
  position: relative;
}
.node-wave-of-the-day {
  border-radius: 0.5rem;
  overflow: hidden;
}
.node-wave-of-the-day img,
.view-latest-wave-of-the-day img {
  width: 100%;
  height: auto;
}
.node-wave-of-the-day .field--name-field-wotd-photographer,
.view-latest-wave-of-the-day .field--name-field-wotd-photographer {
  position: absolute;
  top: 8px;
  right: 10px;
  font-size: 0.9375rem;
  color: #fff;
  text-transform: uppercase;
  font-weight: 800;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}
.node-wave-of-the-day .field--name-field-wotd-photographer,
.view-latest-wave-of-the-day .field--name-field-wotd-photographer {
  padding-left: 10px;
}
.sidebar .node-wave-of-the-day .field--name-field-wotd-photographer {
  font-size: 13px;
}
.node-wave-of-the-day .field--name-field-wotd-photographer:after,
.view-latest-wave-of-the-day .field--name-field-wotd-photographer:after {
  display: inline-block;
  content: "\f030";
  font-family: FontAwesome;
  margin-left: 0.3125rem;
}
.node-wave-of-the-day .field--name-field-wotd-caption,
.view-latest-wave-of-the-day .field--name-field-wotd-caption {
  padding: 0.625rem 0.9375rem;
  background: #333;
  color: #fff;
}
.sidebar .node-wave-of-the-day .field--name-field-wotd-caption {
  font-size: 14px;
}
/*
social_login
*/

.input-error {
  border-color: #fe0000;
}
.social_login:after {
  content: "Or";
}
.social_login > label,
.social_login:after {
  display: block;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #ddd;
  margin-bottom: 1.25rem;
  font-family: Montserrat, "Montserrat Fallback", sans-serif;
  font-weight: 700;
  line-height: 1.2;
  color: #424143;
  font-size: 1.375rem;
}
.user-pass,
.user-login-form {
  max-width: 500px;
}
.page-user-login .block-page-title-block {
  display: none !important;
}
.user-register-form .confirm-parent,
.user-register-form .password-parent {
  max-width: 100%;
  max-width: 100%;
}
.page-user-register .main-body .container {
  max-width: 710px !important;
  margin: 0 auto;
}
.form-item .description {
  margin-top: 4px;
}
.user-pass > p {
  display: none;
}
/**/

.main-wrap-content {
  min-height: 50vh;
  padding: 2.5rem 0;
}
.container-sm {
  max-width: 710px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
}
.gallery_images-first .photoswipe-gallery {
  display: flex;
  flex-wrap: wrap;
}
.gallery_images-first .photoswipe-gallery .field__item {
  max-width: 220px;
  padding: 5px;
}
@media (min-width: 768px) {
  .main-wrap-content {
    background: url("../images/swellnet-traveller-bg.jpg") no-repeat;
    background-size: cover;
    background-position: left top;
    overflow: hidden;
  }
}
@media (min-width: 768px) {
  .node-wave-of-the-day .field--name-field-wotd-caption,
  .view-latest-wave-of-the-day .field--name-field-wotd-caption {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    background: rgba(0, 0, 0, 0.4);
  }
}
/* responsive  */

@media (min-width: 375px) {
  .container {
    padding: 0 1.25rem;
  }
}
@media (min-width: 640px) {
  .container {
    padding: 0 1.5rem;
  }
}
@media screen and (min-width: 768px) {
  .h1,
  .page-node .view-mode-full .field-name-title h2,
  .page-node .view-mode-full > h2,
  .page-node .view-mode-widescreen .field-name-title h2,
  .page-node .view-mode-widescreen > h2,
  h1:not(.page-title) {
    font-size: 2rem !important;
  }
  .navbar-brand img {
    max-width: 7.25rem;
  }
  .region-header-top {
    font-size: 0.875rem;
  }
}
@media (min-width: 1140px) {
  .container {
    padding: 0 1.5rem;
    max-width: 86.75rem !important;
    /* Once Bootstrap is removed, Important must also be removed */
  }
}
/*  */

@media screen and (max-width: 1139px) {
  html {
    font-size: 15px;
  }
  .hidden-lg-down {
    display: none !important;
  }
}
@media only screen and (max-width: 767.8px) {
  .main-wrap-content {
    padding: 1.5rem 0;
  }
}
.pswp__button {
  background-color: transparent;
  padding: 0;
}
.toolbar {
  display: none;
}
.layout__region--fourth .block {
  margin-bottom: 20px;
}
/* ******************************************************* */

/* Legacy css from old legacy.css htat remains in main.css */

/* ******************************************************* */

figure.media {
  margin: 2rem 0;
}

.node--view-mode-full .field--name-body img,
.view-mode-widescreen .field--name-body img {
  display: block;
  height: auto !important;
  margin-bottom: 10px;
  margin-top: 10px;
  max-width: 100% !important;
}
.node--view-mode-full
  .field--name-body
  p:has(img):not(:has(+ .image-caption))
  img {
  border-radius: 0.75rem;
}
.node--view-mode-full .field--name-body p:has(img):has(+ .image-caption) img {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.node--view-mode-full
  .field--name-body
  p:has(img)
  + .image-caption:not(:has(+ .image-caption)) {
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}
.node--view-mode-full
  .field--name-body
  p:has(img)
  + .image-caption
  + .image-caption {
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.media_embed {
  overflow: hidden;
  position: relative;
}
.media_embed.is-youtube,
.media_embed:has(iframe[title="YouTube video player"]) {
  overflow: hidden;
  position: relative;
  padding-top: 56.25%;
}
.media_embed.is-youtube:has(:not(+ p.image-caption)),
.media_embed:has(iframe[title="YouTube video player"]):has(
    :not(+ p.image-caption)
  ) {
  margin-bottom: 10px;
}
.media_embed:has(iframe[title="YouTube video player"]):has(+ p.image-caption) {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem;
}
.media_embed:has(iframe[title="YouTube video player"]):has(
    :not(+ p.image-caption)
  ) {
  border-radius: 0.75rem;
}
.media_embed:has(iframe[title="YouTube video player"]) + p.image-caption {
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem;
}

.embed-media.is-instagram iframe {
  border: 1px solid rgb(219, 219, 219);
  border-radius: 0.75rem;
  max-width: 25rem;
  width: 100%;
}
.h1.h1,
.h2.h2 {
  /* Specificity override */
  font-family: Montserrat, "Montserrat Fallback", sans-serif;
  font-weight: 700;
  color: #424143;
}
.h1 ~ div p,
.h2 ~ div p {
  color: #424143;
}

form.user-form .control-label,
form.needs-validation .control-label {
  color: #424143;
}

.form-control {
  height: 34px;
  background-color: #f6f6f6;
  border: 1px solid #ccc;
  border-radius: 0.5rem;
  box-shadow: inset 0 0 1px rgba(0, 0, 0, 0.075);
  padding: 6px 12px;
  transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
  width: 100%;
}

.form-control:focus,
.form-control:focus-visible {
  background-color: #f6f6f6;
  box-shadow: inset 0 0 2px rgba(0, 0, 0, 0.075);
  border-color: #ccc;
  outline: none;
}

.has-error .form-control {
  border-color: #b90300;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}

.has-error .form-control:focus {
  border-color: #860200;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff2420;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ff2420;
}

@media (min-width: 640px) {
  .hidden-sm-up {
    display: none;
  }
}
@media (max-width: 768px) {
  .media_embed:has(iframe[title="YouTube video player"]):has(
      + p.image-caption
    ) {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
  }
  .media_embed:has(iframe[title="YouTube video player"]):has(
      :not(+ p.image-caption)
    ) {
    border-radius: 0.5rem;
  }
  .media_embed:has(iframe[title="YouTube video player"]) + p.image-caption {
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
  }

  figure.media {
    margin: 1rem 0;
  }
}
/* ******************** */

/* Global UI elements */

/* ******************** */

header#swellnet-global-navigation {
  height: 4.5rem;
  /* 72px */
  min-height: 4.5rem;
  /* FireFox fix */
  position: relative;
}
header#swellnet-global-navigation:not(
    :has(+ main.main-body article.hero-article-page)
  ):not(:has(+ main article .app-landing-page-container)) {
  margin-bottom: 2.5rem;
}
header#swellnet-global-navigation:has(
    + main.main-body article.hero-article-page
  ),
header#swellnet-global-navigation:has(
    + main article .app-landing-page-container
  ) {
  margin-bottom: -0.25rem;
}

footer#swellnet-global-footer {
  background-color: #00cddb;
  margin-top: auto;
}
footer#swellnet-global-footer img {
  height: 1.75rem;
  /* 28px */
}
/* global ui wrapper */

.global-ui-wrapper {
  display: flex;
  flex-direction: column;
}
div.global-ui-wrapper {
  min-height: 100vh;
}
/* header when users are not logged in or past due needs extra space for banner below */

header#swellnet-global-navigation.header-not-logged-in,
header#swellnet-global-navigation.header-past-due {
  height: 7rem;
  min-height: 7rem;
  /* FireFox fix */
}
/* ******************* */

/* Navigation Fallback */

/* ******************* */

.global-ui-fallback--wrapper {
  background-color: #f6f6f6;
  box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
  height: 4.25rem;
  opacity: 1;
  transition: opacity 1060ms ease, transform 1060ms ease;
}
.global-ui-fallback--wrapper.global-ui-fallback--leaving {
  opacity: 0;
  transform: translateY(-0.375rem);
}
.global-ui-fallback {
  align-items: center;
  box-sizing: border-box;
  display: flex;
  gap: 1.5rem;
  height: 100%;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 86.75rem;
  padding: 1rem 1.5rem;
  width: 100%;
  transition: opacity 160ms ease, transform 160ms ease;
}
.global-ui-loading [data-global-ui-fallback] {
  pointer-events: none;
}
.global-ui-fallback--leaving {
  opacity: 0;
  transform: translateY(-0.375rem);
}
.global-ui-fallback--wrapper.global-ui-fallback--leaving .global-ui-fallback {
  opacity: 0;
  transform: translateY(-0.375rem);
}
.global-ui-fallback__logo-mark {
  aspect-ratio: 509 / 95;
  height: 2rem;
  object-fit: contain;
  width: 10.625rem;
}
.global-ui-fallback__right-side {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  justify-content: flex-end;
  width: 100%;
}
.global-ui-fallback__search {
  align-items: center;
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
  max-width: 31.25rem;
  min-width: 31.25rem;
  width: 100%;
}
.global-ui-fallback__label {
  color: #424143;
  font-weight: 600;
  margin-right: 0.5rem;
}
.global-ui-fallback__input {
  background: rgba(229, 232, 238, 0.85);
  height: 2.25rem;
  max-width: 16rem;
  position: relative;
  width: 100%;
}
.global-ui-fallback__input-text {
  color: #6b6b6b;
  left: 0.75rem;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
.global-ui-fallback__search-icon {
  height: 1rem;
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1rem;
}
.global-ui-fallback__icons {
  display: inline-flex;
  align-items: center;
  gap: 1.25rem;
}
.global-ui-fallback__icon--menu {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.25rem;
  background: transparent;
}
.global-ui-fallback__icon--menu span {
  display: block;
  width: 1.5rem;
  height: 0.1875rem;
  background: #414243;
  pointer-events: none;
}
.global-ui-fallback__icon--account {
  height: 1rem;
  width: 1rem;
}
@media (max-width: 1024px) {
  .global-ui-fallback__search {
    display: none;
  }
}
@media (max-width: 640px) {
  header#swellnet-global-navigation {
    margin-bottom: 1.5rem;
  }
  .global-ui-fallback {
    padding: 1rem 1.25rem;
  }
}

/* ************* */
/* Button styles */
/* ************* */
.btn-swell,
.btn,
a.button {
  border: 1px solid var(--sw-teal);
  border-radius: 0.375rem;
  cursor: pointer;
  font-size: 1rem;
  outline: none;
  padding: 0.5rem 1rem;
  transition: all 0.25s ease-in-out;
}

/* High-contrast friendly fallback */
@media (forced-colors: active) {
  .btn-swell:focus-visible,
  .btn:focus-visible,
  a.button:focus-visible {
    outline: 2px solid;
    outline-offset: 2px;
  }
}

/* Primary button */
.btn-swell.btn-swell-primary,
.btn.btn-primary,
a.button.button-action {
  background-color: var(--sw-teal);
  border-color: var(--sw-teal);
  color: #fff;
}

.btn-swell.btn-swell-primary:hover,
.btn.btn-primary:hover,
a.button.button-action:hover {
  background-color: var(--sw-teal-12);
  border-color: var(--sw-teal-12);
}

.btn-swell.btn-swell-primary:focus-visible,
.btn.btn-primary:focus-visible,
a.button.button-action:focus-visible,
.btn-swell.btn-swell-primary:focus,
.btn-swell.btn-swell-outline:focus-visible,
.btn.btn-outline-primary:focus-visible,
a.button.button-action:focus,
.btn-swell.btn-swell-outline:focus {
  box-shadow: 0 0 0 2px #fff,
    /* inner contrast halo */ 0 0 0 4px rgba(49, 154, 163, 0.45); /* brand ring */
}

.btn-swell.btn-swell-primary:active,
.btn.btn-primary:active,
a.button.button-action:active {
  background-color: var(--sw-teal-15);
  border-color: var(--sw-teal-15);
  transform: translateY(0.0625rem); /* 1px */
}

.btn-swell.btn-swell-primary:disabled,
.btn.btn-primary:disabled,
a.button.button-action:disabled {
  background-color: var(--sw-dusty-gray);
  border-color: var(--sw-dusty-gray);
  cursor: not-allowed;
  opacity: 0.75;
}

/* Outline button */
.btn-swell.btn-swell-outline {
  background-color: transparent;
  border-color: var(--sw-teal); /* overrides Drupal's default border-color */
  color: var(--sw-teal);
  padding: 0.5rem 1rem; /* overrides Drupal's default padding */
}

.btn-swell.btn-swell-outline:hover {
  background-color: var(--sw-teal-2);
}

.btn-swell.btn-swell-outline:active {
  background-color: var(--sw-teal-2);
  border-color: var(--sw-teal-2);
  transform: translateY(0.0625rem); /* 1px */
}

.btn-swell.btn-swell-outline:disabled {
  background-color: rgba(var(--sw-dusty-gray), 0.25);
  border-color: rgba(var(--sw-dusty-gray), 0.25);
  cursor: not-allowed;
}

/* Motion sensitivity */
@media (prefers-reduced-motion: reduce) {
  .btn-swell,
  .btn,
  a.button {
    transition: none;
  }
  .btn-swell:active,
  .btn:active,
  a.button:active {
    transform: none;
  }
}

.btn-swell.btn-swell-sm {
  font-size: 0.875rem;
  padding: 0.125rem 0.5rem;
}

.btn-swell.btn-swell-lg {
  padding-left: 2.5rem;
  padding-right: 2.5rem;
}

.btn-swell.btn-swell-full {
  display: block;
  width: 100%;
}
/* ******************** */

/* Responsive Styles */

/* ******************** */

@media (max-width: 768px) {
  .view-latest-wave-of-the-day .node-wave-of-the-day {
    border-radius: 0.5rem;
  }
}
