/* ---------------------------------------- SASS RESOURCES */
@-moz-keyframes shake {
  0%, 100% {
    -moz-transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    -moz-transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    -moz-transform: translateX(10px);
  }
}
@-o-keyframes shake {
  0%, 100% {
    -o-transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    -o-transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    -o-transform: translateX(10px);
  }
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
.row {
  box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  max-width: 1100px;
}

.row.reverse {
  flex-direction: row-reverse;
}

.row.natural-height {
  align-items: flex-start;
}

.row.flex-column {
  flex-direction: column;
}

.col {
  box-sizing: border-box;
  flex-grow: 1;
  flex-basis: 0;
  max-width: 100%;
  padding: 2em;
}

.col.reverse {
  flex-direction: column-reverse;
}

.first {
  order: -1;
}

.last {
  order: 1;
}

.align-start {
  align-self: flex-start;
}

.align-end {
  align-self: flex-end;
}

.align-center {
  align-self: center;
}

.align-baseline {
  align-self: baseline;
}

.align-stretch {
  align-self: stretch;
}

.col-xs {
  box-sizing: border-box;
  flex-grow: 1;
  flex-basis: 0;
  max-width: 100%;
  padding: 2em;
}

.col-xs-1 {
  box-sizing: border-box;
  flex-basis: 33.3333333333%;
  max-width: 33.3333333333%;
  padding: 2em;
}

.col-xs-offset-1 {
  margin-left: 33.3333333333%;
}

.col-xs-2 {
  box-sizing: border-box;
  flex-basis: 66.6666666667%;
  max-width: 66.6666666667%;
  padding: 2em;
}

.col-xs-offset-2 {
  margin-left: 66.6666666667%;
}

.col-xs-3 {
  box-sizing: border-box;
  flex-basis: 100%;
  max-width: 100%;
  padding: 2em;
}

.col-xs-offset-3 {
  margin-left: 100%;
}

.row.start-xs {
  justify-content: flex-start;
}

.row.center-xs {
  justify-content: center;
}

.row.end-xs {
  justify-content: flex-end;
}

.row.top-xs {
  align-items: flex-start;
}

.row.middle-xs {
  align-items: center;
}

.row.bottom-xs {
  align-items: flex-end;
}

.row.around-xs {
  justify-content: space-around;
}

.row.between-xs {
  justify-content: space-between;
}

.first-xs {
  order: -1;
}

.last-xs {
  order: 1;
}

@media only screen and (min-width: 441px) {
  .col-sm {
    box-sizing: border-box;
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
    padding: 2em;
  }

  .col-sm-1 {
    box-sizing: border-box;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
    padding: 2em;
  }

  .col-sm-offset-1 {
    margin-left: 33.3333333333%;
  }

  .col-sm-2 {
    box-sizing: border-box;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
    padding: 2em;
  }

  .col-sm-offset-2 {
    margin-left: 66.6666666667%;
  }

  .col-sm-3 {
    box-sizing: border-box;
    flex-basis: 100%;
    max-width: 100%;
    padding: 2em;
  }

  .col-sm-offset-3 {
    margin-left: 100%;
  }

  .row.start-sm {
    justify-content: flex-start;
  }

  .row.center-sm {
    justify-content: center;
  }

  .row.end-sm {
    justify-content: flex-end;
  }

  .row.top-sm {
    align-items: flex-start;
  }

  .row.middle-sm {
    align-items: center;
  }

  .row.bottom-sm {
    align-items: flex-end;
  }

  .row.around-sm {
    justify-content: space-around;
  }

  .row.between-sm {
    justify-content: space-between;
  }

  .first-sm {
    order: -1;
  }

  .last-sm {
    order: 1;
  }
}
@media only screen and (min-width: 65rem) {
  .col-md {
    box-sizing: border-box;
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
    padding: 2em;
  }

  .col-md-1 {
    box-sizing: border-box;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
    padding: 2em;
  }

  .col-md-offset-1 {
    margin-left: 33.3333333333%;
  }

  .col-md-2 {
    box-sizing: border-box;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
    padding: 2em;
  }

  .col-md-offset-2 {
    margin-left: 66.6666666667%;
  }

  .col-md-3 {
    box-sizing: border-box;
    flex-basis: 100%;
    max-width: 100%;
    padding: 2em;
  }

  .col-md-offset-3 {
    margin-left: 100%;
  }

  .row.start-md {
    justify-content: flex-start;
  }

  .row.center-md {
    justify-content: center;
  }

  .row.end-md {
    justify-content: flex-end;
  }

  .row.top-md {
    align-items: flex-start;
  }

  .row.middle-md {
    align-items: center;
  }

  .row.bottom-md {
    align-items: flex-end;
  }

  .row.around-md {
    justify-content: space-around;
  }

  .row.between-md {
    justify-content: space-between;
  }

  .first-md {
    order: -1;
  }

  .last-md {
    order: 1;
  }
}
@media only screen and (min-width: 91rem) {
  .col-lg {
    box-sizing: border-box;
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
    padding: 2em;
  }

  .col-lg-1 {
    box-sizing: border-box;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
    padding: 2em;
  }

  .col-lg-offset-1 {
    margin-left: 33.3333333333%;
  }

  .col-lg-2 {
    box-sizing: border-box;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
    padding: 2em;
  }

  .col-lg-offset-2 {
    margin-left: 66.6666666667%;
  }

  .col-lg-3 {
    box-sizing: border-box;
    flex-basis: 100%;
    max-width: 100%;
    padding: 2em;
  }

  .col-lg-offset-3 {
    margin-left: 100%;
  }

  .row.start-lg {
    justify-content: flex-start;
  }

  .row.center-lg {
    justify-content: center;
  }

  .row.end-lg {
    justify-content: flex-end;
  }

  .row.top-lg {
    align-items: flex-start;
  }

  .row.middle-lg {
    align-items: center;
  }

  .row.bottom-lg {
    align-items: flex-end;
  }

  .row.around-lg {
    justify-content: space-around;
  }

  .row.between-lg {
    justify-content: space-between;
  }

  .first-lg {
    order: -1;
  }

  .last-lg {
    order: 1;
  }
}
@media only screen and (min-width: 1101px) {
  .col-xl {
    box-sizing: border-box;
    flex-grow: 1;
    flex-basis: 0;
    max-width: 100%;
    padding: 2em;
  }

  .col-xl-1 {
    box-sizing: border-box;
    flex-basis: 33.3333333333%;
    max-width: 33.3333333333%;
    padding: 2em;
  }

  .col-xl-offset-1 {
    margin-left: 33.3333333333%;
  }

  .col-xl-2 {
    box-sizing: border-box;
    flex-basis: 66.6666666667%;
    max-width: 66.6666666667%;
    padding: 2em;
  }

  .col-xl-offset-2 {
    margin-left: 66.6666666667%;
  }

  .col-xl-3 {
    box-sizing: border-box;
    flex-basis: 100%;
    max-width: 100%;
    padding: 2em;
  }

  .col-xl-offset-3 {
    margin-left: 100%;
  }

  .row.start-xl {
    justify-content: flex-start;
  }

  .row.center-xl {
    justify-content: center;
  }

  .row.end-xl {
    justify-content: flex-end;
  }

  .row.top-xl {
    align-items: flex-start;
  }

  .row.middle-xl {
    align-items: center;
  }

  .row.bottom-xl {
    align-items: flex-end;
  }

  .row.around-xl {
    justify-content: space-around;
  }

  .row.between-xl {
    justify-content: space-between;
  }

  .first-xl {
    order: -1;
  }

  .last-xl {
    order: 1;
  }
}
.col-gutter-lr {
  padding: 0 2em;
}

.col-no-gutter {
  padding: 0;
}

.show {
  display: block !important;
}

.row.show {
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.hide {
  display: none !important;
}

.show-xs {
  display: block !important;
}

.row.show-xs {
  display: -webkit-flex !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.hide-xs {
  display: none !important;
}

@media only screen and (max-width: 440px) {
  .show-xs-only {
    display: block !important;
  }

  .row.show-xs-only {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-xs-only {
    display: none !important;
  }
}
@media only screen and (min-width: 441px) {
  .show-sm {
    display: block !important;
  }

  .row.show-sm {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-sm {
    display: none !important;
  }
}
@media only screen and (min-width: 441px) and (max-width: 64rem) {
  .show-sm-only {
    display: block !important;
  }

  .row.show-sm-only {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-sm-only {
    display: none !important;
  }
}
@media only screen and (min-width: 65rem) {
  .show-md {
    display: block !important;
  }

  .row.show-md {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-md {
    display: none !important;
  }
}
@media only screen and (min-width: 65rem) and (max-width: 90rem) {
  .show-md-only {
    display: block !important;
  }

  .row.show-md-only {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-md-only {
    display: none !important;
  }
}
@media only screen and (min-width: 91rem) {
  .show-lg {
    display: block !important;
  }

  .row.show-lg {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-lg {
    display: none !important;
  }
}
@media only screen and (min-width: 91rem) and (max-width: 1100px) {
  .show-lg-only {
    display: block !important;
  }

  .row.show-lg-only {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-lg-only {
    display: none !important;
  }
}
@media only screen and (min-width: 1101px) {
  .show-xl {
    display: block !important;
  }

  .row.show-xl {
    display: -webkit-flex !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .hide-xl {
    display: none !important;
  }
}
/* ---------------------------------------- BEGIN STYLESHEET */
html, body, div, span, ul, ol, li, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, blockquote, pre, fieldset, input, textarea, select, button, form, label, table, caption, tbody, tfoot, thead, tr, th, td, abbr, address, article, aside, audio, cite, code, details, em, figcaption, figure, footer, header, hgroup, iframe, img, mark, menu, nav, object, section, small, strong, summary, time, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

input, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

html {
  overflow-x: hidden;
  overflow-y: scroll;
  font-size: 16px;
  background-image: linear-gradient(#04abde, #005259);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

*,
*:before,
*:after {
  -webkit-box-sizing: inherit;
  -moz-box-sizing: inherit;
  -ms-box-sizing: inherit;
  box-sizing: inherit;
}

body {
  cursor: default;
  overflow-x: hidden;
  overflow-y: hidden;
  position: relative;
  top: 0;
  left: 0;
  height: 100%;
  min-width: 440px;
  margin: 0 auto;
  background-color: inherit;
  font-family: "karol", serif;
  font-weight: 600;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

::selection {
  color: #FFF;
  background-color: #02f799;
}

a,
.link {
  cursor: pointer;
  display: inline-block;
  text-decoration: none;
  color: #02f799;
  border-width: 0 0 1px 0;
  border-style: solid;
  line-height: 1em;
}

.row {
  padding: 0;
}
.row.nowrap {
  flex-wrap: nowrap;
  max-width: 100%;
  position: relative;
  left: 0;
  padding-right: 0;
}
.row.nowrap.full-bleed {
  padding-left: 0;
}
.row.nowrap.full-bleed [class^=col]:first-of-type,
.row.nowrap.full-bleed [class*=" col"]:first-of-type {
  margin-left: 0;
  margin-right: 2em;
}
.row.nowrap.full-bleed [class^=col]:last-of-type,
.row.nowrap.full-bleed [class*=" col"]:last-of-type {
  margin-left: 2em;
  margin-right: 0;
}
.row.nowrap .lining {
  box-sizing: border-box;
  margin: 0 auto;
  width: 100%;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  flex: 0 1 auto;
  flex-direction: row;
  flex-wrap: wrap;
  max-width: 1100px;
  flex-wrap: inherit;
  max-width: none;
}
.row.nowrap .lining [class^=col],
.row.nowrap .lining [class*=" col"] {
  -webkit-flex-grow: 0;
  -moz-flex-grow: 0;
  flex-grow: 0;
  -webkit-flex-shrink: 0;
  -moz-flex-shrink: 0;
  flex-shrink: 0;
  -webkit-flex-basis: auto;
  -moz-flex-basis: auto;
  flex-basis: auto;
}

.col {
  padding: 1em;
}

.lining {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

header .col,
main .col,
footer .col {
  z-index: 100;
}

#dec7prom {
  z-index: 200;
}

#jellyfish,
.jellyfish {
  z-index: 0;
}

html {
  color: #005259;
}
html {
  font-size: 16px;
  line-height: 1.1em;
}
@media screen and (min-width: 440px) {
  html {
    font-size: calc(16px + 4 * ((100vw - 440px) / 660));
    line-height: calc(1.1em + 0.1 * ((100vw - 440px) / 660));
  }
}
@media screen and (min-width: 1100px) {
  html {
    font-size: 20px;
    line-height: 1.2em;
  }
}

h1, h2, h3, h4, h5 {
  color: #edfcfc;
  line-height: 1.1em;
  font-family: crayonette-djr, Futura, "Trebuchet MS", Trebuchet, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
}
h1:last-child, h2:last-child, h3:last-child, h4:last-child, h5:last-child {
  margin-bottom: 0;
}
h1 a, h2 a, h3 a, h4 a, h5 a {
  color: inherit;
  border-width: 0;
  border-style: solid;
  border-color: #edfcfc;
}

h1 {
  font-size: 7em;
  line-height: 1.2em;
  white-space: nowrap;
  text-shadow: 0 1px 20px #25f8a7;
}

h2 {
  font-size: 3em;
  line-height: 1.2em;
}

h3 {
  font-family: crayonette-djr, Futura, "Trebuchet MS", Trebuchet, Arial, sans-serif;
  font-weight: 400;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-size: 3.2em;
  line-height: 1.2em;
  margin-bottom: 0.3em;
}
h3.larger {
  font-size: 2.8em;
}

h4 {
  font-family: "karol-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-size: 1.5em;
  line-height: 1.2em;
  margin-bottom: 0.3em;
}

h5 {
  font-family: "karol-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  font-size: 1.2em;
  line-height: 1.333333333em;
}
h5.larger {
  font-size: 1.5em;
  line-height: 1.066666666em;
}

p {
  font-size: 1.2em;
  line-height: 1.5em;
  letter-spacing: 0.02em;
  font-family: "karol", serif;
  font-weight: 600;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
.footnotes {
  margin-top: 2em;
}
.footnotes .note {
  display: block;
  margin-bottom: 0.5em;
  font-size: 0.8em;
  font-style: italic;
  line-height: 1.2em;
  color: #548b90;
}
.footnotes .note:last-child {
  margin-bottom: 0;
}

.line-break:after {
  content: "";
  display: block;
}

.color-type {
  color: #02f799;
}

.text-left {
  text-align: left;
}

.text-right {
  text-align: right;
}

.text-center, #playlist, section.c2a, section#itinerary #dec6, section#itinerary #dec7prom, footer, header {
  text-align: center;
}

button,
.button {
  cursor: pointer;
  display: inline-block;
  min-width: 8em;
  padding: 0.5em;
  text-align: center;
  font-size: 1.4em;
  line-height: 1.5em;
  letter-spacing: -0.0045em;
  color: #02f799;
  border-width: 4px;
  border-style: solid;
  border-color: #02f799;
  background-color: transparent;
  font-family: "karol-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
}
button:hover,
.button:hover {
  color: #005259;
  background-color: #02f799;
}
button:active,
.button:active {
  color: #FFF;
  border-color: #017c4d;
  background-color: #017c4d;
}
button.small,
.button.small {
  font-size: 1.2em;
}

form {
  font-size: 1em;
}

input[type=text],
input[type=email],
input[type=password],
textarea,
input[type=checkbox],
select,
.dropdown-field {
  padding: 0.2em 0;
  border: 1px solid #02f799;
  background-color: transparent;
  font-size: 0.95em;
  word-wrap: break-word;
  ffont-family: "karol-sans", sans-serif;
  font-weight: 500;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
input[type=text],
input[type=email],
input[type=password],
textarea,
select,
.dropdown-field {
  width: 100%;
  max-width: 100%;
  color: #04abde;
  background-color: transparent;
  border-style: solid;
  border-width: 0 0 2px 0;
  border-color: #04abde;
}
input[type=text]::-webkit-input-placeholder,
input[type=email]::-webkit-input-placeholder,
input[type=password]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
select::-webkit-input-placeholder,
.dropdown-field::-webkit-input-placeholder {
  color: #02f799;
}
input[type=text]::-moz-placeholder,
input[type=email]::-moz-placeholder,
input[type=password]::-moz-placeholder,
textarea::-moz-placeholder,
select::-moz-placeholder,
.dropdown-field::-moz-placeholder {
  color: #02f799;
}
input[type=text]:-moz-placeholder,
input[type=email]:-moz-placeholder,
input[type=password]:-moz-placeholder,
textarea:-moz-placeholder,
select:-moz-placeholder,
.dropdown-field:-moz-placeholder {
  color: #02f799;
}
input[type=text]:-ms-input-placeholder,
input[type=email]:-ms-input-placeholder,
input[type=password]:-ms-input-placeholder,
textarea:-ms-input-placeholder,
select:-ms-input-placeholder,
.dropdown-field:-ms-input-placeholder {
  color: #02f799;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=password]:focus,
textarea:focus,
select:focus,
.dropdown-field:focus {
  color: #000;
  border-color: #02f799;
}
input[type=text]:focus::-webkit-input-placeholder,
input[type=email]:focus::-webkit-input-placeholder,
input[type=password]:focus::-webkit-input-placeholder,
textarea:focus::-webkit-input-placeholder,
select:focus::-webkit-input-placeholder,
.dropdown-field:focus::-webkit-input-placeholder {
  color: transparent;
}
input[type=text]:focus::-moz-placeholder,
input[type=email]:focus::-moz-placeholder,
input[type=password]:focus::-moz-placeholder,
textarea:focus::-moz-placeholder,
select:focus::-moz-placeholder,
.dropdown-field:focus::-moz-placeholder {
  color: transparent;
}
input[type=text]:focus:-moz-placeholder,
input[type=email]:focus:-moz-placeholder,
input[type=password]:focus:-moz-placeholder,
textarea:focus:-moz-placeholder,
select:focus:-moz-placeholder,
.dropdown-field:focus:-moz-placeholder {
  color: transparent;
}
input[type=text]:focus:-ms-input-placeholder,
input[type=email]:focus:-ms-input-placeholder,
input[type=password]:focus:-ms-input-placeholder,
textarea:focus:-ms-input-placeholder,
select:focus:-ms-input-placeholder,
.dropdown-field:focus:-ms-input-placeholder {
  color: transparent;
}
input[type=text]:disabled,
input[type=email]:disabled,
input[type=password]:disabled,
textarea:disabled,
select:disabled,
.dropdown-field:disabled {
  color: grey;
  border-color: grey;
}
input[type=text]:disabled::-webkit-input-placeholder,
input[type=email]:disabled::-webkit-input-placeholder,
input[type=password]:disabled::-webkit-input-placeholder,
textarea:disabled::-webkit-input-placeholder,
select:disabled::-webkit-input-placeholder,
.dropdown-field:disabled::-webkit-input-placeholder {
  color: grey;
}
input[type=text]:disabled::-moz-placeholder,
input[type=email]:disabled::-moz-placeholder,
input[type=password]:disabled::-moz-placeholder,
textarea:disabled::-moz-placeholder,
select:disabled::-moz-placeholder,
.dropdown-field:disabled::-moz-placeholder {
  color: grey;
}
input[type=text]:disabled:-moz-placeholder,
input[type=email]:disabled:-moz-placeholder,
input[type=password]:disabled:-moz-placeholder,
textarea:disabled:-moz-placeholder,
select:disabled:-moz-placeholder,
.dropdown-field:disabled:-moz-placeholder {
  color: grey;
}
input[type=text]:disabled:-ms-input-placeholder,
input[type=email]:disabled:-ms-input-placeholder,
input[type=password]:disabled:-ms-input-placeholder,
textarea:disabled:-ms-input-placeholder,
select:disabled:-ms-input-placeholder,
.dropdown-field:disabled:-ms-input-placeholder {
  color: grey;
}
input[type=text]:disabled:hover,
input[type=email]:disabled:hover,
input[type=password]:disabled:hover,
textarea:disabled:hover,
select:disabled:hover,
.dropdown-field:disabled:hover {
  border-color: transparent;
}

select,
.dropdown-field {
  padding: 0.45em 0.5em 0.35em 0.5em;
  border-width: 2px;
}

label {
  display: inline-block;
  padding: 0.333333333em;
  font-size: 0.95em;
  letter-spacing: -0.005em;
  line-height: 1.2631578947em;
  color: #04abde;
}

fieldset.radio-check-group {
  margin-bottom: 1em;
}

.labeled-textarea label {
  padding-left: 0;
  padding-right: 0;
}

.labeled-input {
  position: relative;
  padding-top: 1em;
}
.labeled-input label {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  color: transparent;
  -webkit-transform: translate(0, -100%);
  -moz-transform: translate(0, -100%);
  -ms-transform: translate(0, -100%);
  -o-transform: translate(0, -100%);
  transform: translate(0, -100%);
}
.labeled-input input:focus + label {
  top: 0;
  font-size: 0.7em;
  font-weight: 500;
  color: #04abde;
  -webkit-transform: translate(0, 0);
  -moz-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}

input[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}
input[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
  appearance: radio;
}
header {
  padding-top: 5.4em;
  padding-bottom: 4em;
}
header h1 {
  color: #FFF;
}
header h4 {
  color: #005259;
  margin: 1em auto 0 auto;
  width: 66%;
  font-size: 1.7em;
}

footer #site-colophon {
  font-size: 0.8em;
  color: #1bf8a3;
}
footer #site-colophon a {
  color: #35f9ad;
}
footer .col {
  padding: 4em 2.5em;
}

.card {
  height: 100%;
  padding: 3em 2em;
  background-color: rgba(0, 82, 89, 0.8);
  --mask:
  radial-gradient(52.84px at 50% 73.5px,#000 99%,#0000 101%) calc(50% - 60px) 0/120px 51% repeat-x,
  radial-gradient(52.84px at 50% -43.5px,#0000 99%,#000 101%) 50% 30px/120px calc(51% - 30px) repeat-x,
  radial-gradient(52.84px at 50% calc(100% - 73.5px),#000 99%,#0000 101%) 50% 100%/120px 51% repeat-x,
  radial-gradient(52.84px at 50% calc(100% + 43.5px),#0000 99%,#000 101%) calc(50% - 60px) calc(100% - 30px)/120px calc(51% - 30px) repeat-x;
  -webkit-mask: var(--mask);
  mask: var(--mask);
}
.card h1, .card h2, .card h3, .card h4, .card h5 {
  text-shadow: 0 0 0 #000;
}

.glowing {
  -webkit-transition-property: all;
  -webkit-transition-duration: 160ms;
  -webkit-transition-timing-function: ease-in-out;
  -moz-transition-property: all;
  -moz-transition-duration: 160ms;
  -moz-transition-timing-function: ease-in-out;
  -o-transition-property: all;
  -o-transition-duration: 160ms;
  -o-transition-timing-function: ease-in-out;
  transition-property: all;
  transition-duration: 160ms;
  transition-timing-function: ease-in-out;
}
.glowing:hover {
  -webkit-transform: scale(1.03, 1.03);
  -moz-transform: scale(1.03, 1.03);
  -ms-transform: scale(1.03, 1.03);
  -o-transform: scale(1.03, 1.03);
  transform: scale(1.03, 1.03);
  -webkit-box-shadow: 0 4px 36px 0 rgba(37, 248, 167, 0.34);
  -moz-box-shadow: 0 4px 36px 0 rgba(37, 248, 167, 0.34);
  box-shadow: 0 4px 36px 0 rgba(37, 248, 167, 0.34);
}

@keyframes fadein {
  from {
    opacity: 0;
    filter: brightness(500%);
  }
  to {
    opacity: 1;
    filter: brightness(100%);
  }
}
@-moz-keyframes fadein {
  from {
    opacity: 0;
    filter: brightness(500%);
  }
  to {
    opacity: 1;
    filter: brightness(100%);
  }
}
@-webkit-keyframes fadein {
  from {
    opacity: 0;
    filter: brightness(500%);
  }
  to {
    opacity: 1;
    filter: brightness(100%);
  }
}
@-ms-keyframes fadein {
  from {
    opacity: 0;
    filter: brightness(500%);
  }
  to {
    opacity: 1;
    filter: brightness(100%);
  }
}
@-o-keyframes fadein {
  from {
    opacity: 0;
    filter: brightness(500%);
  }
  to {
    opacity: 1;
    filter: brightness(100%);
  }
}
.hero-slider .slide-count {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* ---------------------------------------- SECTIONS */
section#itinerary .card {
  padding: 7em 3em;
}
section#itinerary .day-details {
  margin: 1.764705882em 0;
  font-size: 1.2em;
  font-weight: 700;
  line-height: 1.647058823em;
}
section#itinerary .day-details time {
  letter-spacing: 0.0235294117em;
}
section#itinerary .day-details.larger {
  margin: 1.666666666em 0;
  font-size: 0.9em;
  line-height: 1.555555555em;
}
section#itinerary #dec7prom {
  flex-basis: 100%;
  -webkit-transform: scale(1.1, 1.1);
  -moz-transform: scale(1.1, 1.1);
  -ms-transform: scale(1.1, 1.1);
  -o-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
section#itinerary #dec7prom .card {
  width: 66%;
  margin: 0 auto;
  padding-top: 7em;
  padding-bottom: 7em;
  background-color: rgba(237, 252, 252, 0.8);
  -webkit-border-top-left-radius: 262.4px;
  -moz-border-radius-topleft: 262.4px;
  border-top-left-radius: 262.4px;
  -webkit-border-top-right-radius: 262.4px;
  -moz-border-radius-topright: 262.4px;
  border-top-right-radius: 262.4px;
  -webkit-border-bottom-left-radius: 64px;
  -moz-border-radius-bottomleft: 64px;
  border-bottom-left-radius: 64px;
  -webkit-border-bottom-right-radius: 64px;
  -moz-border-radius-bottomright: 64px;
  border-bottom-right-radius: 64px;
}
section#itinerary #dec7prom .card h3,
section#itinerary #dec7prom .card h5,
section#itinerary #dec7prom .card p,
section#itinerary #dec7prom .card time {
  color: #005259;
}
section#itinerary #dec7prom .card a,
section#itinerary #dec7prom .card .link {
  color: #04abde;
}
section#itinerary #dec6 {
  margin-top: -4.25em;
  color: #edfcfc;
}
section#itinerary #dec6 .card {
  width: 66%;
  margin: 0 auto;
  -webkit-border-bottom-left-radius: 64px;
  -moz-border-radius-bottomleft: 64px;
  border-bottom-left-radius: 64px;
  -webkit-border-bottom-right-radius: 64px;
  -moz-border-radius-bottomright: 64px;
  border-bottom-right-radius: 64px;
}

section.c2a {
  align-items: stretch;
  margin-top: 7em;
  margin-bottom: 10em;
}
section.c2a h2 {
  color: #FFF;
}
section.c2a h5 {
  padding: 1em 2em 2.5em 2em;
}
section.c2a.row {
  flex-direction: row;
  align-items: stretch;
}
section.c2a .col {
  height: auto;
}
section.c2a #rsvp h5,
section.c2a #gifts h5 {
  margin-top: 1.8em;
}
section.c2a #rsvp .button,
section.c2a #gifts .button {
  display: block;
  width: 66%;
  margin: 0 auto;
  align-items: flex-end;
}
section.c2a #hotels .hotel {
  width: 88%;
  height: auto;
  margin: 1.25em auto 0 auto;
  padding: 0;
  font-size: 1.2em;
}
section.c2a #hotels .hotel a {
  display: block;
  width: 100%;
  padding: 1em;
  color: #005259;
  border-width: 4px;
  border-style: solid;
  border-color: #02f799;
  -webkit-border-radius: 20px;
  -moz-border-radius: 20px;
  border-radius: 20px;
  background-color: #02f799;
}
section.c2a #hotels .hotel span {
  display: block;
}
section.c2a #hotels .hotel span:first-child {
  margin-bottom: 0.5em;
  font-size: 1.2em;
  line-height: 1em;
  font-family: "karol-sans", sans-serif;
  font-weight: 700;
  font-style: normal;
  -webkit-font-smoothing: antialiased;
}
section.c2a #hotels .hotel span.note {
  font-size: 0.8em;
  font-weight: 400;
  line-height: 1em;
  color: #014a2e;
}

#playlist {
  padding: 2em 0 8em 0;
}
#playlist h5 {
  margin-top: 1em;
  margin-bottom: 1.9em;
}
#playlist .button {
  margin: 0 0.5em;
}

#jellyfish {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#jellyfish .jellyfish {
  position: absolute;
  max-width: 360px;
  height: auto;
  background-blend-mode: multiply;
  mix-blend-mode: multiply;
  opacity: 0;
  filter: alpha(opacity=0);
}
#jellyfish .jellyfish.visible {
  -webkit-animation: fadein 1000ms;
  -moz-animation: fadein 1000ms;
  -ms-animation: fadein 1000ms;
  -o-animation: fadein 1000ms;
  animation: fadein 1000ms;
  opacity: 1;
  filter: alpha(opacity=100);
  background-blend-mode: multiply;
}
#jellyfish .jellyfish.p01 {
  width: 40vw;
  top: 50vh;
  right: 0.5vw;
  -webkit-transform: rotate(-40deg);
  -moz-transform: rotate(-40deg);
  -ms-transform: rotate(-40deg);
  -o-transform: rotate(-40deg);
  transform: rotate(-40deg);
}
#jellyfish .jellyfish.p02 {
  width: 17vw;
  top: 290vh;
  left: 3vw;
  -webkit-transform: rotate(-25deg);
  -moz-transform: rotate(-25deg);
  -ms-transform: rotate(-25deg);
  -o-transform: rotate(-25deg);
  transform: rotate(-25deg);
}
#jellyfish .jellyfish.p03 {
  width: 8vw;
  top: 200vh;
  left: 1vw;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
#jellyfish .jellyfish.p04 {
  width: 18vw;
  top: 90vh;
  left: 3vw;
  -webkit-transform: rotate(-70deg);
  -moz-transform: rotate(-70deg);
  -ms-transform: rotate(-70deg);
  -o-transform: rotate(-70deg);
  transform: rotate(-70deg);
}
#jellyfish .jellyfish.p05 {
  top: 110vh;
  right: 2vw;
  width: 19vw;
  -webkit-transform: rotate(-100deg);
  -moz-transform: rotate(-100deg);
  -ms-transform: rotate(-100deg);
  -o-transform: rotate(-100deg);
  transform: rotate(-100deg);
  -moz-transform: scale(-1, -1);
  -o-transform: scale(-1, -1);
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1);
}
#jellyfish .jellyfish.p06 {
  bottom: 80vh;
  left: 3vw;
  width: 28vw;
  -webkit-transform: rotate(-70deg);
  -moz-transform: rotate(-70deg);
  -ms-transform: rotate(-70deg);
  -o-transform: rotate(-70deg);
  transform: rotate(-70deg);
}
#jellyfish .jellyfish.p07 {
  width: 14vw;
  top: 240vh;
  right: 3vw;
  -webkit-transform: rotate(-40deg);
  -moz-transform: rotate(-40deg);
  -ms-transform: rotate(-40deg);
  -o-transform: rotate(-40deg);
  transform: rotate(-40deg);
}
#jellyfish .jellyfish.p08 {
  top: 300vh;
  right: 8vw;
  width: 20vw;
  -webkit-transform: rotate(15deg);
  -moz-transform: rotate(15deg);
  -ms-transform: rotate(15deg);
  -o-transform: rotate(15deg);
  transform: rotate(15deg);
  -moz-transform: scale(-1, -1);
  -o-transform: scale(-1, -1);
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1);
}
#jellyfish .jellyfish.p10 {
  width: 25vw;
  top: 15vh;
  left: -8vw;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -moz-transform: scale(-1, -1);
  -o-transform: scale(-1, -1);
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1);
}
#jellyfish .jellyfish.p11 {
  top: 200vh;
  left: 1vw;
  width: 24vw;
  -webkit-transform: rotate(-20deg);
  -moz-transform: rotate(-20deg);
  -ms-transform: rotate(-20deg);
  -o-transform: rotate(-20deg);
  transform: rotate(-20deg);
}
#jellyfish .jellyfish.p12 {
  bottom: -5vh;
  right: -10vw;
  width: 45vw;
  max-width: none;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -moz-transform: scale(-1, -1);
  -o-transform: scale(-1, -1);
  -webkit-transform: scale(-1, -1);
  transform: scale(-1, -1);
}
#jellyfish .jellyfish.p13 {
  top: 130vh;
  left: -8vw;
  width: 50vw;
  -webkit-transform: rotate(-100deg);
  -moz-transform: rotate(-100deg);
  -ms-transform: rotate(-100deg);
  -o-transform: rotate(-100deg);
  transform: rotate(-100deg);
}
#jellyfish .jellyfish.p14 {
  top: 180vh;
  right: 3vw;
  width: 19vw;
  -webkit-transform: rotate(-50deg);
  -moz-transform: rotate(-50deg);
  -ms-transform: rotate(-50deg);
  -o-transform: rotate(-50deg);
  transform: rotate(-50deg);
}
#jellyfish .jellyfish.p15 {
  bottom: 140vh;
  right: 1vw;
  width: 16vw;
  -webkit-transform: rotate(-20deg);
  -moz-transform: rotate(-20deg);
  -ms-transform: rotate(-20deg);
  -o-transform: rotate(-20deg);
  transform: rotate(-20deg);
}
#jellyfish .jellyfish.p16 {
  top: -5vh;
  right: -5vw;
  width: 25vw;
  -webkit-transform: rotate(20deg);
  -moz-transform: rotate(20deg);
  -ms-transform: rotate(20deg);
  -o-transform: rotate(20deg);
  transform: rotate(20deg);
}

#ocean {
  z-index: 0;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
}

.bubble {
  width: 30px;
  height: 30px;
  border-radius: 100%;
  position: absolute;
  background-color: white;
  bottom: -30px;
  opacity: 0.33;
  animation: bubble 15s ease-in-out infinite, sideWays 4s ease-in-out infinite alternate;
}

/* ---------------------------------------- ANIMATIONS */
@keyframes bubble {
  0% {
    transform: translateY(0%);
    opacity: 0.06;
  }
  100% {
    transform: translateY(-120vh);
  }
}
@keyframes sideWays {
  0% {
    margin-left: 0px;
  }
  100% {
    margin-left: 200px;
  }
}
.bubble--1 {
  left: 10%;
  animation-delay: 0.5s;
  animation-duration: 16s;
  opacity: 0.2;
}

.bubble--2 {
  width: 15px;
  height: 15px;
  left: 40%;
  animation-delay: 1s;
  animation-duration: 10s;
  opacity: 0.1;
}

.bubble--3 {
  width: 10px;
  height: 10px;
  left: 30%;
  animation-delay: 5s;
  animation-duration: 20s;
  opacity: 0.3;
}

.bubble--4 {
  width: 25px;
  height: 25px;
  left: 40%;
  animation-delay: 8s;
  animation-duration: 17s;
  opacity: 0.2;
}

.bubble--5 {
  width: 30px;
  height: 30px;
  left: 60%;
  animation-delay: 10s;
  animation-duration: 15s;
  opacity: 0.1;
}

.bubble--6 {
  width: 10px;
  height: 10px;
  left: 80%;
  animation-delay: 3s;
  animation-duration: 30s;
  opacity: 0.4;
}

.bubble--7 {
  width: 15px;
  height: 15px;
  left: 90%;
  animation-delay: -7s;
  animation-duration: 25s;
  opacity: 0.3;
}

.bubble--9 {
  width: 20px;
  height: 20px;
  left: 50%;
  bottom: 30px;
  animation-delay: -5s;
  animation-duration: 19s;
  opacity: 0.2;
}

.bubble--10 {
  width: 40px;
  height: 40px;
  left: 30%;
  bottom: 30px;
  animation-delay: -21s;
  animation-duration: 16s;
  opacity: 0.3;
}

.bubble--11 {
  width: 30px;
  height: 30px;
  left: 60%;
  bottom: 30px;
  animation-delay: -13.75s;
  animation-duration: 20s;
  opacity: 0.3;
}

.bubble--11 {
  width: 25px;
  height: 25px;
  left: 90%;
  bottom: 30px;
  animation-delay: -10.5s;
  animation-duration: 19s;
  opacity: 0.3;
}

#octocat {
  height: 360px;
  width: 360px;
  background-color: #04abde;
  background: url("../img/jellyfish.png");
  background-position: top left;
  animation: swim 15s ease-in-out infinite;
  position: absolute;
  right: -200px;
  top: 50%;
  margin-top: -150px;
  z-index: 0;
  opacity: 1;
  background-blend-mode: multiply;
  mix-blend-mode: multiply;
}

@keyframes swim {
  0% {
    transform: translate(0, -20vh) scale(0.5);
    /* Starting position */
  }
  20% {
    transform: translate(calc(-50vw - 100px), 10vh) rotate(40deg) scaleX(-1) scale(0.9);
    /* Animate to center of screen */
  }
  30% {
    transform: translate(calc(-50vw - 100px), 10vh) rotate(-6deg) scaleX(-1);
    /* Stay at the center for 1 second */
  }
  47% {
    z-index: 9999;
    transform: translate(calc(-50vw - 100px), -20vh) rotate(-10deg) scale(0.7);
    /* Animate up for 2 seconds */
  }
  60% {
    transform: translate(-25vw, 55vh) rotate(-70deg);
    /* Animate bottom right for 3 seconds */
  }
  68% {
    transform: translate(-25vw, -20vh) rotate(0deg) scaleX(-1);
    /* Animate up at right of the screen */
  }
  83% {
    transform: translate(-25vw, -30vh) rotate(-16deg) scale(0.5);
  }
  100% {
    transform: translate(calc(-100vw - 300px), 40vh) rotate(-90deg) scaleX(-1) scale(0.3);
    /* Animate past left past the screen */
  }
}
/* ---------------------------------------- BREAKPOINTS */
@media only screen and (max-width: 1000px) {
  h1 {
    font-size: 6em;
  }

  .line-break:after {
    display: inline;
  }

  section#itinerary #dec7prom .card,
section#itinerary #dec6 .card {
    width: 80%;
  }

  section.c2a {
    margin-bottom: 0;
  }
  section.c2a .col {
    flex-basis: auto;
    max-width: 66%;
    margin: 0 auto 6em auto;
  }
  section.c2a #hotels .hotel:first-of-type {
    margin-top: 1.8em;
  }

  section#playlist {
    padding-top: 0;
  }
}
@media only screen and (max-width: 800px) {
  h1 {
    font-size: 5em;
  }

  section#itinerary #dec7prom .card,
section#itinerary #dec6 .card {
    width: 80%;
    padding-top: 8.5em;
    padding-bottom: 8.5em;
  }

  section.c2a .col {
    max-width: 100%;
  }

  #jellyfish .jellyfish {
    min-width: 45vw !important;
    max-width: auto;
  }
  #jellyfish .jellyfish.p12 {
    bottom: 10vh;
    width: 65vw;
  }
}
@media only screen and (max-width: 600px) {
  h1 {
    font-size: 4em;
  }

  section.c2a #hotels .hotel a {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
  }

  section#playlist .button {
    display: block;
    width: 66%;
    margin-left: auto;
    margin-right: auto;
  }
  section#playlist .button:last-of-type {
    margin-top: 1.25em;
  }
}

/*# sourceMappingURL=style.css.map */
