/* Chicago YMCA - base: resets, type scale, buttons, containers, fonts
   Extracted verbatim from ymcachicago.org main.min.css
   (Wayback capture 20260309024027) - do not hand-edit; regenerate
   with build-notes/header-footer/extract_css.py */

progress,
sub,
sup {
  vertical-align:baseline;
}

button,
html,
input,
mark,
select,
textarea {
  color:#000;
}

*,
:after,
:before,
legend {
  box-sizing:border-box;
}

button,
hr,
input {
  overflow:visible;
}

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

.table,
embed,
iframe,
img,
input,
legend {
  max-width:100%;
}

html {
  line-height:1.15;
  -ms-text-size-adjust:100%;
  -webkit-text-size-adjust:100%;
}

code,
kbd,
pre,
samp {
  font-family:monospace,monospace;
  font-size:1em;
}

a {
  background-color:transparent;
  -webkit-text-decoration-skip:objects;
}

b,
strong {
  font-weight:bolder;
}

small {
  font-size:80%;
}

sub,
sup {
  font-size:75%;
  line-height:0;
  position:relative;
}

sub {
  bottom:-.25em;
}

sup {
  top:-.5em;
}

img {
  border-style:none;
  vertical-align:middle;
  width:auto;
  height:auto;
}

svg:not(:root) {
  overflow:hidden;
}

button,
input,
optgroup,
select,
textarea {
  font-family:sans-serif;
  font-size:100%;
  margin:0;
}

button,
select {
  text-transform:none;
}

[type=reset],
[type=submit],
button,
html [type=button] {
  -webkit-appearance:button;
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
  border-style:none;
  padding:0;
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
  outline:ButtonText dotted 1px;
}

legend {
  color:inherit;
  display:table;
  padding:0;
  white-space:normal;
}

textarea {
  overflow:auto;
}

summary {
  display:list-item;
}

[hidden],
template {
  display:none;
}

body {
  margin:0;
  font-family:Lato,sans-serif;
  line-height:1.4;
  overflow-x:hidden;
  overflow-y:scroll;
  background:#fff;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
.main-link,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family:Cachet,Geneva,sans-serif;
}

hr {
  box-sizing:content-box;
  padding:0;
  height:1px;
  border:0;
  border-top:1px solid #ccc;
}

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

.sr-only,
.visually-hidden,
.visuallyHidden,
.visuallyhidden {
  position:absolute;
  overflow:hidden;
  clip:rect(0 0 0 0);
  margin:-1px;
  padding:0;
  border:0;
  width:1px;
  height:1px;
  transition:none;
}

.sr-only.focusable:focus,
.visually-hidden.focusable:focus,
.visuallyHidden.focusable:focus,
.visuallyhidden.focusable:focus {
  position:fixed;
  top:0;
  left:0;
  background:#0060af;
  color:#fff;
  overflow:visible;
  clip:auto;
  margin:0;
  width:100%;
  height:auto;
  border:1px dashed #fff;
  padding:10px;
  text-align:center;
  text-decoration:none;
  font-weight:700;
  z-index:9001;
}

.clearfix:after,
.clearfix:before {
  content:" ";
  display:table;
}

.clearfix:after {
  clear:both;
}

figure {
  margin:1em 0;
}

.js-click-user :active,
.js-click-user :focus {
  outline:0;
}

.color-primary {
  color:#0060af;
}

.color-secondary {
  color:#25afd2;
}

@media (prefers-reduced-motion:reduce) {
  *,
  ::after,
  ::before {
    animation-duration:1ms!important;
    transition-duration:1ms!important;
  }
}

.target-hide,
.target-show {
  animation-duration:.3s;
  animation-fill-mode:both;
  animation-timing-function:ease-in-out;
}

.container,
.follow-the-y {
  width:100%;
  max-width:102.125rem;
  margin-right:auto;
  margin-left:auto;
  padding-left:.938em;
  padding-right:.938em;
}

.container--xsmall.follow-the-y,
.container.container--xsmall {
  max-width:63.5rem;
}

.container--small.follow-the-y,
.container.container--small {
  max-width:81.25rem;
}

.container--large.follow-the-y,
.container.container--large {
  max-width:109.063rem;
}

.container--fluid.follow-the-y,
.container.container--fluid {
  max-width:none;
  padding:0;
}

.container--nested.follow-the-y,
.container.container--nested {
  padding:0;
}

.container-fluid {
  margin-right:auto;
  margin-left:auto;
  padding-left:.938em;
  padding-right:.938em;
}

@font-face {
  font-family:Cachet;
  src:url(../../fonts/Cachet-Medium.woff) format("woff"),url(../../fonts/Cachet-Medium.woff2) format("woff2");
  font-weight:400;
}

@font-face {
  font-family:Cachet;
  src:url(../../fonts/Cachet-Bold.woff) format("woff"),url(../../fonts/Cachet-Bold.woff2) format("woff2");
  font-weight:700;
}

@font-face {
  font-family:Cachet;
  src:url(../../fonts/Cachet-Book.woff) format("woff"),url(../../fonts/Cachet-Book.woff2) format("woff2");
  font-weight:300;
}

.h1,
.h2,
.h3,
.h4,
.h5,
.h6,
h1,
h2,
h3,
h4,
h5,
h6 {
  margin:0 0 30px;
  color:#000;
  line-height:1;
  letter-spacing:-2px;
}

.h1,
h1 {
  font-size:36px;
  font-size:2.25rem;
}

.h2,
h2 {
  font-size:32px;
  font-size:2rem;
}

.h3,
h3 {
  font-size:24px;
  font-size:1.5rem;
}

.h4,
h4 {
  font-size:21px;
  font-size:1.3125rem;
}

.desc,
.h5,
h5 {
  font-size:18px;
}

.h5,
h5 {
  font-size:1.125rem;
}

.h6,
h6 {
  font-size:16px;
  font-size:1rem;
}

a {
  color:#0060af;
  text-decoration:underline;
  transition:all .18s ease-in-out;
}

a:focus,
a:hover {
  text-decoration:none;
}

p {
  margin:0 0 30px;
}

.main-link {
  text-decoration:none;
  font-size:20px;
}

@media screen and (min-width:320px) {
  .main-link {
    font-size:calc(20px + 4 * ((100vw - 320px)/ 640));
  }
}

@media screen and (min-width:960px) {
  .main-link {
    font-size:24px;
  }
}

.main-link:focus,
.main-link:hover {
  text-decoration:underline;
}

hr {
  margin:30px 0;
}

@media (min-width:60em) {
  .h1,
  h1 {
    font-size:60px;
    font-size:3.75rem;
  }

  .h2,
  h2 {
    font-size:48px;
    font-size:3rem;
  }

  .h3,
  h3 {
    font-size:40px;
    font-size:2.5rem;
  }

  .h4,
  h4 {
    font-size:32px;
    font-size:2rem;
  }

  .h5,
  h5 {
    font-size:24px;
    font-size:1.5rem;
  }

  .h6,
  h6 {
    font-size:18px;
    font-size:1.125rem;
  }

  hr {
    margin:60px 0;
  }
}

.FormPanel table.EditingFormTable .date-picker-field .form-control-text,
.btn,
.button,
.cookie-consent__submit,
.modaal-confirm-btn.modaal-ok,
div[id*=form-] input[type=submit] {
  display:inline-block;
  padding:18px 35px;
  border:0;
  border-radius:29px;
  font-family:Cachet,Geneva,sans-serif;
  color:#fff;
  text-decoration:none;
  text-align:center;
  text-transform:uppercase;
  background:#0060af;
  background:linear-gradient(90deg,#00345f 0,#0460ad 100%);
  cursor:pointer;
  transition:all .18s ease-in-out;
  line-height:1.4;
  font-size:16px;
  font-size:1rem;
  height:auto;
}

.FormPanel table.EditingFormTable .date-picker-field .form-control-text:focus,
.FormPanel table.EditingFormTable .date-picker-field .form-control-text:hover,
.btn:focus,
.btn:hover,
.button:focus,
.button:hover,
.cookie-consent__submit:focus,
.cookie-consent__submit:hover,
.modaal-confirm-btn.modaal-ok:focus,
.modaal-confirm-btn.modaal-ok:hover,
div[id*=form-] input:focus[type=submit],
div[id*=form-] input:hover[type=submit] {
  text-decoration:none;
  box-shadow:0 0 16px 1px rgba(0,0,0,.31);
}

.FormPanel table.EditingFormTable .date-picker-field .form-control-text:disabled,
.btn:disabled,
.button:disabled,
.cookie-consent__submit:disabled,
.modaal-confirm-btn.modaal-ok:disabled,
div[id*=form-] input:disabled[type=submit] {
  opacity:.7;
  cursor:default;
  box-shadow:none;
}

.FormPanel table.EditingFormTable .date-picker-field .button--no-bg.form-control-text,
.btn.button--no-bg,
.button--no-bg.cookie-consent__submit,
.button--no-bg.modaal-confirm-btn.modaal-ok,
.button.button--no-bg,
div[id*=form-] input.button--no-bg[type=submit] {
  background:0 0;
  color:#0060af;
  padding:0;
}

.button-ghost,
.button-ghost-white,
.featured-content__link,
.location-map .map-info__more,
.modaal-confirm-btn.modaal-cancel,
.search-map .map-info__more {
  padding:18px 35px;
  text-align:center;
  text-transform:uppercase;
  background:0 0;
  line-height:1.4;
  display:inline-block;
  transition:all .18s ease-in-out;
  font-family:Cachet,Geneva,sans-serif;
  cursor:pointer;
}

.FormPanel table.EditingFormTable .date-picker-field .button--no-bg.form-control-text:focus,
.FormPanel table.EditingFormTable .date-picker-field .button--no-bg.form-control-text:hover,
.btn.button--no-bg:focus,
.btn.button--no-bg:hover,
.button--no-bg.cookie-consent__submit:focus,
.button--no-bg.cookie-consent__submit:hover,
.button--no-bg.modaal-confirm-btn.modaal-ok:focus,
.button--no-bg.modaal-confirm-btn.modaal-ok:hover,
.button.button--no-bg:focus,
.button.button--no-bg:hover,
div[id*=form-] input.button--no-bg:focus[type=submit],
div[id*=form-] input.button--no-bg:hover[type=submit] {
  box-shadow:none;
  text-decoration:underline;
}

.button-ghost,
.location-map .map-info__more,
.modaal-confirm-btn.modaal-cancel,
.search-map .map-info__more {
  border:1px solid #025295;
  border-radius:29px;
  color:#0060af;
  text-decoration:none;
  font-size:16px;
  font-size:1rem;
}

.back.modaal-confirm-btn.modaal-cancel,
.button-ghost.back,
.button-ghost.button-small,
.button-ghost.more,
.button-small.modaal-confirm-btn.modaal-cancel,
.location-map .back.map-info__more,
.location-map .button-small.map-info__more,
.location-map .more.map-info__more,
.more.modaal-confirm-btn.modaal-cancel,
.search-map .back.map-info__more,
.search-map .button-small.map-info__more,
.search-map .more.map-info__more {
  min-width:0;
}

.button-ghost:focus,
.button-ghost:hover,
.location-map .map-info__more:focus,
.location-map .map-info__more:hover,
.modaal-confirm-btn.modaal-cancel:focus,
.modaal-confirm-btn.modaal-cancel:hover,
.search-map .map-info__more:focus,
.search-map .map-info__more:hover {
  text-decoration:none;
  border:1px solid #000;
  color:#000;
}

.button-ghost-white,
.featured-content__link {
  border:1px solid #fff;
  border-radius:29px;
  color:#fff;
  text-decoration:none;
  font-size:16px;
  font-size:1rem;
}

.button-ghost-white:focus,
.button-ghost-white:hover,
.featured-content__link:focus,
.featured-content__link:hover {
  text-decoration:none;
  background:#fff;
  border:1px solid #fff;
  color:#000;
}

.button-ghost-white--reverse.featured-content__link,
.button-ghost-white.button-ghost-white--reverse {
  background:#fff;
  color:#000;
}

.button-ghost-white--reverse.featured-content__link:focus,
.button-ghost-white--reverse.featured-content__link:hover,
.button-ghost-white.button-ghost-white--reverse:focus,
.button-ghost-white.button-ghost-white--reverse:hover {
  background:0 0;
  color:#fff;
}

.slider-btn {
  position:absolute;
  width:60px;
  height:60px;
  top:50%;
  -ms-transform:translateY(-50%);
  transform:translateY(-50%);
  z-index:5;
  font-size:0;
  color:#0060af;
  transition:all .18s ease-in-out;
  background:0 0;
  border:none;
  cursor:pointer;
  padding:0;
}

.slider-btn svg {
  display:inline-block;
  width:100%;
  height:100%;
  fill:currentColor;
  transition:all .18s ease-in-out;
}

.slider-btn:focus,
.slider-btn:hover {
  color:#25afd2;
}

@media (min-width:60em) {
  .slider-btn {
    width:60px;
    height:60px;
  }
}

input,
textarea {
  transition:all .2s ease-in-out;
}

input,
select {
  height:40px;
}

.target-show {
  animation-name:toggleTargetShow;
}

.target-hide {
  animation-name:toggleTargetHide;
}

[data-expander-target] {
  display:none;
}

[data-expander-target].active {
  display:block;
}

[data-expander-target].target-show {
  animation-name:toggleTargetShow;
}

[data-expander-target].target-hide {
  animation-name:toggleTargetHide;
}

@keyframes toggleTargetShow {
  from{opacity:0;
  transform:translateY(-10%)}to{opacity:1;
  transform:translateY(0)};
}

@keyframes toggleTargetHide {
  from{opacity:1;
  transform:translateY(0)}to{opacity:0;
  transform:translateY(-10%)};
}

table {
  margin:1em 0;
}

button,
input,
label,
select {
  vertical-align:middle;
}

input {
  padding:5px 10px;
  font-size:16px;
  font-size:1rem;
  border:2px solid #0060af;
  border-radius:0;
}

input:focus,
input:hover,
select:focus,
select:hover,
textarea:focus,
textarea:hover {
  border-color:#25afd2;
}

input[type=checkbox],
input[type=radio] {
  margin-right:5px;
  border-radius:0;
  vertical-align:middle;
  height:auto;
}

select,
textarea {
  padding:5px 10px;
  border:2px solid #0060af;
  max-width:100%;
}

input[type=file] {
  height:auto;
  padding-top:.345rem;
  padding-bottom:.345rem;
}

select[multiple] {
  height:auto;
}

textarea {
  resize:vertical;
  min-height:100px;
  border-radius:0;
  background:#fff;
}

.FormPanel table.EditingFormTable .icon-calendar+.sr-only {
  display:inline-block;
  overflow:visible;
  position:static;
  clip:auto;
  width:auto;
  height:auto;
}

#ui-datepicker-div .datetime-ui-datepicker-next,
#ui-datepicker-div .datetime-ui-datepicker-prev,
html[class^=js-] #ui-datepicker-div .action-buttons {
  display:none;
}

.account-block,
.form-container,
div[id*=form-] {
  margin:0 -10px 20px;
}

.account-block .form-container__block,
.account-block .form-field,
.form-container .form-container__block,
.form-container .form-field,
div[id*=form-] .form-container__block,
div[id*=form-] .form-field {
  padding:0 10px;
  margin:0 0 30px;
  width:100%;
  -ms-flex:0 1 auto;
  flex:0 1 auto;
}

.account-block .faux-label,
.account-block label,
.account-block legend,
.form-container .faux-label,
.form-container label,
.form-container legend,
div[id*=form-] .faux-label,
div[id*=form-] label,
div[id*=form-] legend {
  font-family:Cachet,Geneva,sans-serif;
  font-weight:300;
  font-size:22px;
  font-size:1.375rem;
  display:block;
  margin:0 0 10px;
}

.account-block .faux-label span,
.account-block label span,
.account-block legend span,
.form-container .faux-label span,
.form-container label span,
.form-container legend span,
div[id*=form-] .faux-label span,
div[id*=form-] label span,
div[id*=form-] legend span {
  font-size:18px;
  font-size:1.125rem;
}

.account-block .faux-label .faux-label__sub,
.account-block label .faux-label__sub,
.account-block legend .faux-label__sub,
.form-container .faux-label .faux-label__sub,
.form-container label .faux-label__sub,
.form-container legend .faux-label__sub,
div[id*=form-] .faux-label .faux-label__sub,
div[id*=form-] label .faux-label__sub,
div[id*=form-] legend .faux-label__sub {
  font-family:Lato,sans-serif;
  font-weight:300;
}

.account-block legend,
.form-container legend,
div[id*=form-] legend {
  margin:0 0 14px;
}

.account-block .faux-label,
.form-container .faux-label,
div[id*=form-] .faux-label {
  margin:0;
}

.account-block input[type=file],
.account-block input[type=text],
.account-block input[type=email],
.account-block input[type=tel],
.account-block input[type=password],
.account-block input[type=number],
.account-block select,
.account-block textarea,
.form-container input[type=file],
.form-container input[type=text],
.form-container input[type=email],
.form-container input[type=tel],
.form-container input[type=password],
.form-container input[type=number],
.form-container select,
.form-container textarea,
div[id*=form-] input[type=file],
div[id*=form-] input[type=text],
div[id*=form-] input[type=email],
div[id*=form-] input[type=tel],
div[id*=form-] input[type=password],
div[id*=form-] input[type=number],
div[id*=form-] select,
div[id*=form-] textarea {
  border:1px solid #e2e2e2;
  background:#f1f1f1;
  border-radius:4px;
  height:55px;
  width:100%;
  font-size:16px;
  font-size:1rem;
}

.account-block input[type=file]:focus,
.account-block input[type=file]:hover,
.account-block input[type=text]:focus,
.account-block input[type=text]:hover,
.account-block input[type=email]:focus,
.account-block input[type=email]:hover,
.account-block input[type=tel]:focus,
.account-block input[type=tel]:hover,
.account-block input[type=password]:focus,
.account-block input[type=password]:hover,
.account-block input[type=number]:focus,
.account-block input[type=number]:hover,
.account-block select:focus,
.account-block select:hover,
.account-block textarea:focus,
.account-block textarea:hover,
.form-container input[type=file]:focus,
.form-container input[type=file]:hover,
.form-container input[type=text]:focus,
.form-container input[type=text]:hover,
.form-container input[type=email]:focus,
.form-container input[type=email]:hover,
.form-container input[type=tel]:focus,
.form-container input[type=tel]:hover,
.form-container input[type=password]:focus,
.form-container input[type=password]:hover,
.form-container input[type=number]:focus,
.form-container input[type=number]:hover,
.form-container select:focus,
.form-container select:hover,
.form-container textarea:focus,
.form-container textarea:hover,
div[id*=form-] input[type=file]:focus,
div[id*=form-] input[type=file]:hover,
div[id*=form-] input[type=text]:focus,
div[id*=form-] input[type=text]:hover,
div[id*=form-] input[type=email]:focus,
div[id*=form-] input[type=email]:hover,
div[id*=form-] input[type=tel]:focus,
div[id*=form-] input[type=tel]:hover,
div[id*=form-] input[type=password]:focus,
div[id*=form-] input[type=password]:hover,
div[id*=form-] input[type=number]:focus,
div[id*=form-] input[type=number]:hover,
div[id*=form-] select:focus,
div[id*=form-] select:hover,
div[id*=form-] textarea:focus,
div[id*=form-] textarea:hover {
  border:2px solid #862889;
}

.account-block input[type=file].input-validation-error,
.account-block input[type=text].input-validation-error,
.account-block input[type=email].input-validation-error,
.account-block input[type=tel].input-validation-error,
.account-block input[type=password].input-validation-error,
.account-block input[type=number].input-validation-error,
.account-block select.input-validation-error,
.account-block textarea.input-validation-error,
.form-container input[type=file].input-validation-error,
.form-container input[type=text].input-validation-error,
.form-container input[type=email].input-validation-error,
.form-container input[type=tel].input-validation-error,
.form-container input[type=password].input-validation-error,
.form-container input[type=number].input-validation-error,
.form-container select.input-validation-error,
.form-container textarea.input-validation-error,
div[id*=form-] input[type=file].input-validation-error,
div[id*=form-] input[type=text].input-validation-error,
div[id*=form-] input[type=email].input-validation-error,
div[id*=form-] input[type=tel].input-validation-error,
div[id*=form-] input[type=password].input-validation-error,
div[id*=form-] input[type=number].input-validation-error,
div[id*=form-] select.input-validation-error,
div[id*=form-] textarea.input-validation-error {
  border:1px solid #E32626;
}

.account-block input[type=file],
.form-container input[type=file],
div[id*=form-] input[type=file] {
  padding:15px 10px;
}

.account-block .form-container__inner-button,
.form-container .form-container__inner-button,
div[id*=form-] .form-container__inner-button {
  margin:10px 0 0;
}

.account-block .date-picker,
.form-container .date-picker,
div[id*=form-] .date-picker {
  display:-ms-flexbox;
  display:flex;
  margin:0 -3px;
}

.account-block .date-picker__block,
.form-container .date-picker__block,
div[id*=form-] .date-picker__block {
  width:33.33%;
  padding:0 3px;
  position:relative;
}

.account-block .date-picker__block label,
.form-container .date-picker__block label,
div[id*=form-] .date-picker__block label {
  position:absolute;
  top:0;
  left:7px;
  font-size:15px;
  font-size:.9375rem;
}

.account-block .date-picker__block input[type=text],
.account-block .date-picker__block input[type=number],
.form-container .date-picker__block input[type=text],
.form-container .date-picker__block input[type=number],
div[id*=form-] .date-picker__block input[type=text],
div[id*=form-] .date-picker__block input[type=number] {
  padding:18px 10px 8px;
  -moz-appearance:textfield;
}

.account-block .date-picker__block input::-webkit-inner-spin-button,
.account-block .date-picker__block input::-webkit-outer-spin-button,
.form-container .date-picker__block input::-webkit-inner-spin-button,
.form-container .date-picker__block input::-webkit-outer-spin-button,
div[id*=form-] .date-picker__block input::-webkit-inner-spin-button,
div[id*=form-] .date-picker__block input::-webkit-outer-spin-button {
  -webkit-appearance:none;
  margin:0;
}

.account-block .add-another-container,
.form-container .add-another-container,
div[id*=form-] .add-another-container {
  padding:20px 0;
  text-align:center;
}

.account-block .add-another-link,
.form-container .add-another-link,
div[id*=form-] .add-another-link {
  font-family:Cachet,Geneva,sans-serif;
  font-weight:700;
  text-transform:uppercase;
  cursor:pointer;
  color:#0060af;
  background:0 0;
  border:0;
  padding:0;
}

.account-block .add-another-link:focus,
.account-block .add-another-link:hover,
.form-container .add-another-link:focus,
.form-container .add-another-link:hover,
div[id*=form-] .add-another-link:focus,
div[id*=form-] .add-another-link:hover {
  text-decoration:underline;
}

.account-block .ktc-checkbox,
.account-block .ktc-radio,
.form-container .ktc-checkbox,
.form-container .ktc-radio,
div[id*=form-] .ktc-checkbox,
div[id*=form-] .ktc-radio {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:start;
  align-items:flex-start;
}

.account-block .ktc-checkbox label,
.account-block .ktc-radio label,
.form-container .ktc-checkbox label,
.form-container .ktc-radio label,
div[id*=form-] .ktc-checkbox label,
div[id*=form-] .ktc-radio label {
  width:100%;
  font-size:18px;
  font-size:1.125rem;
}

.account-block .ktc-checkbox input[type=checkbox],
.account-block .ktc-checkbox input[type=radio],
.account-block .ktc-radio input[type=checkbox],
.account-block .ktc-radio input[type=radio],
.form-container .ktc-checkbox input[type=checkbox],
.form-container .ktc-checkbox input[type=radio],
.form-container .ktc-radio input[type=checkbox],
.form-container .ktc-radio input[type=radio],
div[id*=form-] .ktc-checkbox input[type=checkbox],
div[id*=form-] .ktc-checkbox input[type=radio],
div[id*=form-] .ktc-radio input[type=checkbox],
div[id*=form-] .ktc-radio input[type=radio] {
  margin:9px 5px 0 0;
  -ms-flex:1;
  flex:1;
  min-width:30px;
}

.account-block .ktc-radio-list,
.form-container .ktc-radio-list,
div[id*=form-] .ktc-radio-list {
  display:block;
}

.account-block .field-validation-error,
.form-container .field-validation-error,
div[id*=form-] .field-validation-error {
  color:#E32626;
  font-style:italic;
  margin:3px 0 0;
  display:block;
}

.form-container__captcha {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:center;
  justify-content:center;
  margin:0 0 30px;
}

div[id*=form-] {
  margin:0;
}

div[id*=form-] .form-field {
  padding:0;
}

div[id*=form-] input[type=submit] {
  height:auto;
}

.form-register-login-container {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:end;
  justify-content:flex-end;
}

.form-register-login .button,
.form-register-login .cookie-consent__submit,
.form-register-login .modaal-confirm-btn.modaal-ok,
.form-register-login div[id*=form-] input[type=submit],
div[id*=form-] .form-register-login input[type=submit] {
  padding:10px 20px;
  margin:0 0 0 10px;
}

@media (min-width:60em) {
  .form-container {
    margin:0 -10px 20px;
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
  }

  .form-container .form-container__block.form-container__block--16 {
    width:16%;
  }

  .form-container .form-container__block.form-container__block--17 {
    width:17%;
  }

  .form-container .form-container__block.form-container__block--28 {
    width:28%;
  }

  .form-container .form-container__block.form-container__block--33 {
    width:33%;
  }

  .form-container .form-container__block.form-container__block--50 {
    width:50%;
  }

  .form-container label {
    font-size:24px;
    font-size:1.5rem;
  }

  .form-container label span {
    font-size:20px;
    font-size:1.25rem;
  }

  .form-container__captcha {
    margin:0 0 50px;
  }

  .form-container__error-list {
    list-style:none;
    margin:0;
    padding:0;
    color:#E32626;
  }
}

.notification-modal.modaal-wrapper .modaal-close,
.notification-modal.modaal-wrapper .modaal-container {
  background:#FCAF17;
}

.js-data-toggled-header-nav .site-container {
  position:relative;
}

.js-data-toggled-header-nav .site-container:after {
  content:'';
  background:rgba(255,255,255,.7);
  width:100%;
  height:100%;
  position:absolute;
  left:0;
  top:0;
  z-index:3;
}

.site-container {
  overflow:hidden;
}

.section-container {
  padding:20px 0;
}

.section-container--gray {
  background:#F6F6F6;
}

.section-container--large {
  padding:50px 0;
}

.section-container--gray-nested {
  background:#F6F6F6;
  width:100vw;
  position:relative;
  left:50%;
  right:50%;
  margin-left:-50vw;
  margin-right:-50vw;
}

@media (min-width:60em) {
  .section-container {
    padding:50px 0;
  }

  .section-container--large {
    padding:100px 0;
  }

  .section-container--small {
    padding:20px 0;
  }

  .section-container--no-padding {
    padding:0;
  }
}

.page-extra-container {
  display:none;
}

@media (min-width:60em) {
  .page-extra-container {
    display:block;
  }
}

@keyframes fadeIn {
  100%{opacity:0}0%{opacity:1};
}

@keyframes fadeOut {
  0%{opacity:1}100%{opacity:0};
}

.rail-navigation-container {
  position:relative;
  top:-66px;
  margin:0 0 -66px;
}

.rail-navigation a[data-expander-toggle] {
  position:relative;
}

.rail-navigation a[data-expander-toggle]:after {
  content:'';
  position:absolute;
  border-width:7px 6px 0;
  border-style:solid;
  border-color:#0060af transparent transparent;
  right:15px;
  top:50%;
  -ms-transform:translateY(-50%);
  transform:translateY(-50%);
}

.rail-navigation a[data-expander-toggle].active:after {
  border-width:0 6px 7px;
  border-color:transparent transparent #0060af;
}

@media (min-width:60em) {
  .rail-navigation-container {
    position:static;
    margin:0;
  }
}

.breadcrumbs-back-container {
  display:none;
}

.breadcrumbs-container {
  padding:30px 0;
  margin:5px 0 0;
  position:relative;
  display:none;
}

.breadcrumbs-container:before {
  content:'';
  height:1px;
  width:100%;
  position:absolute;
  top:0;
  left:0;
  background:#40bae9;
  background:linear-gradient(90deg,#40bae9 0,#b94dac 100%);
}

@media (min-width:60em) {
  .breadcrumbs-container {
    display:block;
  }
}

.location-navigation [data-expander-toggle],
.location-navigation button {
  background:0 0;
  border:none;
  padding:0;
  cursor:pointer;
  transition:all .18s ease-in-out;
}

.location-navigation-list__link[data-expander-toggle] {
  position:relative;
  color:#fff;
  height:100%;
  width:100%;
  padding:.75rem 4.375rem .75rem 2.1875rem;
}

.location-navigation-list__link[data-expander-toggle]:after,
.location-navigation-list__link[data-expander-toggle]:before {
  width:8px;
  height:2px;
  position:absolute;
  top:50%;
  transition:all .4s ease-in-out;
  background:#fff;
  content:'';
}

.location-navigation-list__link[data-expander-toggle]:before {
  right:11px;
  right:45px;
  -ms-transform:rotate(45deg) translateY(-50%);
  transform:rotate(45deg) translateY(-50%);
}

.location-navigation-list__link[data-expander-toggle]:after {
  right:2px;
  right:39px;
  border:0;
  margin:0;
  -ms-transform:rotate(-45deg) translateY(-50%);
  transform:rotate(-45deg) translateY(-50%);
}

.location-navigation-list__link[data-expander-toggle].active:before {
  -ms-transform:rotate(-45deg) translateY(-50%);
  transform:rotate(-45deg) translateY(-50%);
  right:44px;
}

.location-navigation-list__link[data-expander-toggle].active:after {
  -ms-transform:rotate(45deg) translateY(-50%);
  transform:rotate(45deg) translateY(-50%);
  right:40px;
}

.location-nav-flyout__heading-container {
  border-bottom:1px solid #C7C7C7;
  padding-bottom:1.25rem;
  margin-bottom:.9375rem;
}

.location-nav-flyout .location-navigation-list__link[data-expander-toggle] {
  color:#0060af;
  text-align:left;
  font-size:1rem;
  font-family:Lato,sans-serif;
  font-weight:400;
  padding:0 1.25rem 0 0;
}

.location-nav-flyout .location-navigation-list__link[data-expander-toggle]:after,
.location-nav-flyout .location-navigation-list__link[data-expander-toggle]:before {
  background:#862889;
  width:8px;
  width:.5rem;
  height:1px;
  height:.0625rem;
}

.location-nav-flyout .location-navigation-list__link[data-expander-toggle]:before {
  right:8px;
}

.location-nav-flyout .location-navigation-list__link[data-expander-toggle]:after {
  right:2px;
}

.location-nav-flyout .location-navigation-list__link[data-expander-toggle].active:before {
  right:8px;
}

.location-nav-flyout .location-navigation-list__link[data-expander-toggle].active:after {
  right:3px;
}

.location-nav-flyout .location-navigation-list__link[data-expander-toggle]:focus,
.location-nav-flyout .location-navigation-list__link[data-expander-toggle]:hover {
  background:#fff;
  text-decoration:underline;
}

@media (min-width:71.25em) {
  .location-navigation-list__link[data-expander-toggle] {
    padding:0 1.875rem 0 .625rem;
  }

  .location-navigation-list__link[data-expander-toggle]:before {
    right:10px;
  }

  .location-navigation-list__link[data-expander-toggle]:after {
    right:4px;
  }

  .location-navigation-list__link[data-expander-toggle].active:before {
    right:8px;
  }

  .location-navigation-list__link[data-expander-toggle].active:after {
    right:5px;
  }
}

.calendar-nav-btns {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:start;
  justify-content:flex-start;
  -ms-flex-align:center;
  align-items:center;
  margin:0 -5px;
}

.calendar-nav-btns__button {
  background:#0060af;
  border:0;
  padding:5px;
  width:50px;
  height:50px;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:center;
  align-items:center;
  -ms-flex-pack:center;
  justify-content:center;
  margin:0 5px;
  cursor:pointer;
}

.calendar-nav-btns__button .calendar-nav-btns__button-svg {
  width:18px;
  height:18px;
  fill:#fff;
}

.calendar-nav-btns__button:focus,
.calendar-nav-btns__button:hover {
  background:#25afd2;
}

.filter-view-btn {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:center;
  align-items:center;
  -ms-flex-pack:justify;
  justify-content:space-between;
}

.filter-view-btn .filter-view-btn__svg {
  width:22px;
  height:22px;
  fill:#fff;
  margin:0 20px 0 0;
}

.news-filters-container {
  border-radius:20px;
  background:#94208e;
  background:linear-gradient(142deg,#94208e 0,#5b2e91 29%);
  padding:18px;
  margin:0 0 30px;
}

.news-filters-container__top {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:justify;
  justify-content:space-between;
  -ms-flex:1 0 auto;
  flex:1 0 auto;
}

.news-filters-container__title {
  color:#fff;
  font-size:24px;
  font-size:1.5rem;
  font-weight:300;
  margin:0;
}

.news-filters-container__toggle {
  width:25px;
  height:25px;
  padding:0;
  border:0;
  background:0 0;
  cursor:pointer;
  color:#fff;
}

.news-filters-container__toggle-icon {
  fill:currentColor;
  width:25px;
  height:25px;
}

.news-filters__input-container {
  width:100%;
}

.news-filter__clear-container {
  text-align:center;
  padding:20px 0 0;
}

@media (min-width:48em) {
  .news-filters-container {
    padding:25px;
    position:relative;
  }

  .news-filters-container__toggle {
    display:none;
  }

  .news-filter__clear-container {
    position:absolute;
    top:25px;
    right:25px;
    padding:0;
  }
}

@media (min-width:1200px) {
  .news-filters-container {
    padding:25px 45px 10px 25px;
  }

  .news-filters__sort-container {
    border-left:1px solid #887D95;
    padding:0 0 0 50px;
    margin:0 0 0 50px;
    width:100%;
    max-width:300px;
  }

  .news-filters__input-container {
    padding:0 50px 0 0;
  }

  .news-filter__clear-container {
    right:45px;
  }
}

.news-details-top__image-container {
  margin:0 0 15px;
}

@media (min-width:60em) {
  .news-details-top__image-container {
    width:calc(100% - 350px);
    padding:0 10% 0 0;
  }
}

.filter .button,
.filter .cookie-consent__submit,
.filter .modaal-confirm-btn.modaal-ok,
.filter div[id*=form-] input[type=submit],
div[id*=form-] .filter input[type=submit] {
  width:100%;
  white-space:nowrap;
}

.hero-slider-container {
  position:relative;
  margin:0 0 30px;
  background:bottom left/cover no-repeat;
}

.hero-slider-container>.a11y-slider-autoplay,
.hero-slider-container>.a11y-slider-dots {
  display:none;
}

.hero-slide__container {
  max-width:102.125rem;
  padding:30px .938em 10px;
  margin:0 auto;
  background-repeat:no-repeat;
  background-position:0 0;
  text-align:center;
}

.hero-slide-info-box__btn {
  display:block;
  padding:18px 35px;
  font-size:16px;
  font-size:1rem;
}

.hero-slide-info-box__btn:focus,
.hero-slide-info-box__btn:hover {
  background:#0060af;
  color:#fff;
}

@media (max-width:59.938em) {
  .hero-slider-container {
    background:0 0!important;
    padding-top:0!important;
  }
}

@media (min-width:60em) and (max-width:71.25em) {
  .hero-slider-container {
    top:-177px;
    margin-bottom:-110px!important;
  }
}

@media (min-width:60em) {
  .hero-slider-container {
    margin:0 0 65px;
    padding:280px 0 160px;
  }

  .hero-slider-container>.hero-slide-controls {
    display:none;
  }

  .hero-slider-container::after {
    content:'';
    position:absolute;
    bottom:-75px;
    left:0;
    display:block;
    width:187px;
    height:151px;
    background:url(../../images/layout-20.png) top left/contain no-repeat;
  }

  .hero-slide__container {
    position:relative;
    z-index:2;
    display:-ms-flexbox;
    display:flex;
    min-height:490px;
    -ms-flex:1 0 auto;
    flex:1 0 auto;
    background:0 0!important;
    padding:0 .938em;
    width:100%;
    text-align:left;
  }

  .hero-slide-info-box__btn,
  .hero-slide__img {
    display:inline-block;
  }
}

@media (min-width:71.25em) {
  .hero-slide__container {
    min-height:840px;
  }
}

@media (min-width:109.375em) {
  .hero-slider-container {
    padding:280px 0 10px;
  }
}

.side-by-side--group__img-container {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-direction:column;
  flex-direction:column;
}

.side-by-side--group .button,
.side-by-side--group .cookie-consent__submit,
.side-by-side--group .modaal-confirm-btn.modaal-ok,
.side-by-side--group div[id*=form-] input[type=submit],
div[id*=form-] .side-by-side--group input[type=submit] {
  background:#f5f5f5;
  border:1px solid #0060af;
  color:#0060af;
  font-size:.9rem;
  max-width:13rem;
  padding:.75rem 3rem;
}

.side-by-side--group .button:hover,
.side-by-side--group .cookie-consent__submit:hover,
.side-by-side--group .modaal-confirm-btn.modaal-ok:hover,
.side-by-side--group div[id*=form-] input:hover[type=submit],
div[id*=form-] .side-by-side--group input:hover[type=submit] {
  background:#0060af;
  background:linear-gradient(90deg,#00345f 0,#0460ad 100%);
  color:#fff;
}

@media (min-width:48em) {
  .side-by-side--group__img-container {
    margin-bottom:3rem;
  }

  .side-by-side--group .button,
  .side-by-side--group .cookie-consent__submit,
  .side-by-side--group .modaal-confirm-btn.modaal-ok,
  .side-by-side--group div[id*=form-] input[type=submit],
  div[id*=form-] .side-by-side--group input[type=submit] {
    background:#f5f5f5;
    border:1px solid #0060af;
    color:#0060af;
    font-size:.9rem;
    margin-left:6rem;
    width:23rem;
    padding:1rem;
  }

  .side-by-side--group .button:hover,
  .side-by-side--group .cookie-consent__submit:hover,
  .side-by-side--group .modaal-confirm-btn.modaal-ok:hover,
  .side-by-side--group div[id*=form-] input:hover[type=submit],
  div[id*=form-] .side-by-side--group input:hover[type=submit] {
    background:#0060af;
    background:linear-gradient(90deg,#00345f 0,#0460ad 100%);
    color:#fff;
  }
}

.gallery-text-overlay {
  display:-ms-flexbox;
  display:flex;
  background-color:#fff;
  border:1px solid #D6D6D6;
  border-radius:50%;
  padding:0;
  color:#fff;
  font-size:1.125rem;
  font-weight:700;
  margin:auto 20px;
  width:70px;
  height:70px;
  z-index:1;
  position:absolute;
}

.gallery-text-overlay:active,
.gallery-text-overlay:focus,
.gallery-text-overlay:hover {
  background-color:#0060af;
}

.gallery-text-overlay:active svg,
.gallery-text-overlay:focus svg,
.gallery-text-overlay:hover svg {
  fill:#fff;
}

.gallery-text-overlay svg {
  width:25px;
  height:25px;
  fill:#0060af;
  min-width:25px;
  margin:auto;
}

.gallery-text-overlay--left {
  left:0;
}

.gallery-text-overlay--right {
  right:0;
}

.gallery-text-overlay--right svg {
  -ms-transform:rotate(180deg);
  transform:rotate(180deg);
}

.modaal-image .modaal-container {
  background-color:transparent;
}

.slider-btn--prev {
  left:20px;
}

.slider-btn--next {
  right:20px;
}

.simple-program__image:focus .simple-program__image-icon-container,
.simple-program__image:hover .simple-program__image-icon-container {
  background:#862889;
}

.simple-program__image-icon-container {
  display:none;
}

@media (min-width:60em) {
  .simple-program__image-icon-container {
    display:block;
    position:absolute;
    width:80px;
    height:80px;
    right:0;
    bottom:0;
    border-radius:15px 0;
    background:#0060af;
    color:#fff;
  }
}

.location-container {
  margin:0 0 30px;
}

.location-filters__form-select-container {
  position:relative;
  margin:0 0 20px;
}

.location-filters__form-select-container::after {
  content:'';
  position:absolute;
  top:50%;
  right:20px;
  -ms-transform:translateY(-50%);
  transform:translateY(-50%);
  display:block;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.516 7.548c0.436-0.446 1.043-0.481 1.576 0l3.908 3.747 3.908-3.747c0.533-0.481 1.141-0.446 1.574 0 0.436 0.445 0.408 1.197 0 1.615-0.406 0.418-4.695 4.502-4.695 4.502-0.217 0.223-0.502 0.335-0.787 0.335s-0.57-0.112-0.789-0.335c0 0-4.287-4.084-4.695-4.502s-0.436-1.17 0-1.615z'%3E%3C/path%3E%3C/svg%3E");
  width:17px;
  height:17px;
  pointer-events:none;
}

.location-filters-container__top {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:justify;
  justify-content:space-between;
  border-top:1px solid #A18BBC;
  margin:20px 0 0;
  padding:15px 0 0;
}

.location-listing-container {
  position:relative;
}

@media (min-width:1500px) {
  .location-container {
    display:-ms-flexbox;
    display:flex;
    margin:0 0 60px;
  }

  .location-filters__form-select-container {
    margin:0 20px 20px 0;
  }

  .location-listing-container {
    max-height:1000px;
    overflow:auto;
    position:relative;
  }
}

.location-form__container {
  margin:0 0 25px;
}

@media (min-width:60em) {
  .location-form__container {
    position:relative;
    -ms-flex:1 1 auto;
    flex:1 1 auto;
    margin:0 25px 0 0;
  }
}

.locations-slider-container {
  position:relative;
  padding:0 40px;
  margin:0 0 25px;
}

.locations-slider-btn,
.locations-slider-btn__icon {
  position:absolute;
  transition:all .18s ease-in-out;
}

.locations-slider-btn {
  top:100px;
  width:55px;
  height:55px;
  z-index:5;
  font-size:0;
  color:#0060af;
  background:#fff;
  border:1px solid #D6D6D6;
  border-radius:100%;
  cursor:pointer;
  padding:0;
}

.locations-slider-btn--prev {
  left:15px;
}

.locations-slider-btn--next {
  right:15px;
}

.locations-slider-btn.a11y-slider-hide {
  display:none;
}

.locations-slider-btn:focus,
.locations-slider-btn:hover {
  background:#0060af;
  color:#fff;
  border-color:#0060af;
}

.locations-slider-btn__icon {
  top:50%;
  left:50%;
  -ms-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%);
  width:20px;
  height:20px;
  fill:currentColor;
}

@media (min-width:60em) {
  .locations-slider-container {
    padding-right:0;
    max-width:1480px;
  }

  .locations-slider-btn {
    top:50%;
    -ms-transform:translateY(-50%);
    transform:translateY(-50%);
  }

  .locations-slider-btn--next {
    right:15px;
  }
}

@media (min-width:81.25em) {
  .locations-slider-btn {
    width:70px;
    height:70px;
  }

  .locations-slider-btn__icon {
    width:25px;
    height:25px;
  }
}

.program-tabs-container {
  max-width:1300px;
  margin:0 auto;
}

.program-tabs__mobile-button-container {
  margin:0 0 40px;
  position:relative;
}

@media (min-width:60em) {
  .program-tabs__mobile-button-container {
    display:none;
  }

  .program-tabs-container--alt {
    max-width:1400px;
    background:#fff;
    border-radius:30px;
    padding:40px;
  }

  .program-tabs-content-container {
    padding:30px 0 0;
  }
}

.programs-slider-container {
  position:relative;
  max-width:1660px;
  margin:0 auto;
}

.programs-slider__img:focus .programs-slider__img-btn,
.programs-slider__img:hover .programs-slider__img-btn {
  background:#862889;
  color:#fff;
}

.programs-slider-btn,
.programs-slider__img-btn {
  color:#0060af;
  background:#fff;
  position:absolute;
  transition:all .18s ease-in-out;
}

.programs-slider__img-btn {
  display:none;
  bottom:0;
  right:0;
  width:90px;
  height:90px;
  border-top-left-radius:12px;
}

.programs-slider-btn {
  top:160px;
  width:55px;
  height:55px;
  z-index:5;
  font-size:0;
  border:1px solid #D6D6D6;
  border-radius:100%;
  cursor:pointer;
  padding:0;
}

.programs-slider-btn--prev {
  left:-15px;
}

.programs-slider-btn--next {
  right:-15px;
}

.programs-slider-btn.a11y-slider-hide {
  display:none;
}

.programs-slider-btn:focus,
.programs-slider-btn:hover {
  background:#0060af;
  color:#fff;
  border-color:#0060af;
}

.programs-slider-btn__icon {
  position:absolute;
  top:50%;
  left:50%;
  -ms-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%);
  width:20px;
  height:20px;
  fill:currentColor;
  transition:all .18s ease-in-out;
}

.happening__links,
.login-box__label,
.member-type-block__price,
.programs-selector__btn,
.programs-selector__mobile-select,
.search-filters__type-button,
.search-filters__type-dropdown-text,
.search-location__distance,
.testimonial-banner__quote-mark {
  font-family:Cachet,Geneva,sans-serif;
}

@media (min-width:60em) {
  .programs-slider__img-btn {
    display:block;
  }
}

.programs-selector__item.active .programs-selector__btn {
  color:#000;
  background:#fff;
}

.programs-selector__btn {
  background:0 0;
  cursor:pointer;
  color:#fff;
  text-transform:uppercase;
  padding:19px 35px;
  border:1px solid #fff;
  border-radius:30px;
  transition:all .18s ease-in-out;
  display:block;
  text-decoration:none;
}

.programs-selector__btn:focus,
.programs-selector__btn:hover {
  color:#000;
  background:#fff;
}

.testimonial-widget .testimonial-widget-btn {
  position:absolute;
  top:40%;
  -ms-transform:translateY(-50%);
  transform:translateY(-50%);
  border:1px solid #D6D6D6;
  width:68px;
  height:68px;
  background:#fff;
  border-radius:50%;
  color:#0060af;
  z-index:5;
  cursor:pointer;
}

.testimonial-widget .testimonial-widget-btn:focus,
.testimonial-widget .testimonial-widget-btn:hover {
  background:#0060af;
  border:0;
  color:#fff;
}

.testimonial-widget .testimonial-widget-btn.testimonial-widget-btn--prev {
  left:-34px;
}

.testimonial-widget .testimonial-widget-btn.testimonial-widget-btn--next {
  right:-34px;
}

.testimonial-widget .testimonial-widget-btn__icon {
  position:absolute;
  top:50%;
  left:50%;
  -ms-transform:translateY(-50%) translateX(-50%);
  transform:translateY(-50%) translateX(-50%);
  width:20px;
  height:20px;
  fill:currentColor;
}

.login-box .button,
.login-box .button-ghost-white,
.login-box .cookie-consent__submit,
.login-box .featured-content__link,
.login-box .modaal-confirm-btn.modaal-ok,
.login-box div[id*=form-] input[type=submit],
div[id*=form-] .login-box input[type=submit] {
  width:100%;
}

.login-box__bottom .button,
.login-box__bottom .cookie-consent__submit,
.login-box__bottom .modaal-confirm-btn.modaal-ok,
.login-box__bottom div[id*=form-] input[type=submit],
div[id*=form-] .login-box__bottom input[type=submit] {
  width:100%;
}

.login-box__button-container {
  margin:auto 0 0;
}

@media (min-width:48em) {
  .login-box__bottom .button,
  .login-box__bottom .cookie-consent__submit,
  .login-box__bottom .modaal-confirm-btn.modaal-ok,
  .login-box__bottom div[id*=form-] input[type=submit],
  div[id*=form-] .login-box__bottom input[type=submit] {
    width:100%;
    max-width:150px;
  }
}

@media (min-width:60em) {
  .login-container {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-wrap:wrap;
    flex-wrap:wrap;
    margin:0 -15px;
  }

  .login-box .button,
  .login-box .button-ghost-white,
  .login-box .cookie-consent__submit,
  .login-box .featured-content__link,
  .login-box .modaal-confirm-btn.modaal-ok,
  .login-box div[id*=form-] input[type=submit],
  div[id*=form-] .login-box input[type=submit] {
    width:auto;
  }
}

@media (min-width:81.25em) {
  .login-container {
    display:-ms-flexbox;
    display:flex;
    margin:0 -15px;
  }
}

.search-location__image-container {
  max-width:275px;
}

.search-location__button-container {
  white-space:nowrap;
  margin-top:auto;
  margin-bottom:auto;
}

.search-location--active .search-location__button-container .search-location__button {
  height:80px;
  padding:15px 55px;
  position:relative;
  background:#fff;
  box-shadow:0 0 16px 1px rgba(0,0,0,.31);
  border:0;
  border-radius:40px;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:center;
  align-items:center;
  -ms-flex-pack:center;
  justify-content:center;
}

.search-location--active .search-location__button-container .search-location__button:before {
  content:'';
  position:relative;
  display:inline-block;
  left:-15px;
  top:-5px;
  width:15px;
  height:26px;
  border:solid #035498;
  border-width:0 4px 4px 0;
  -ms-transform:rotate(45deg);
  transform:rotate(45deg);
}

.search-location--active .search-location__button-container .search-location__button:focus,
.search-location--active .search-location__button-container .search-location__button:hover {
  color:#0060af;
}

@media (min-width:60em) {
  .search-location__image-container {
    width:22%;
    max-width:none;
  }

  .search-location__button-container {
    white-space:nowrap;
    margin-top:auto;
    margin-bottom:auto;
    width:270px;
  }
}

.member-total .button,
.member-total .cookie-consent__submit,
.member-total .modaal-confirm-btn.modaal-ok,
.member-total div[id*=form-] input[type=submit],
div[id*=form-] .member-total input[type=submit] {
  width:100%;
}

.steps-container {
  background:#F9F9F9;
  padding:20px 0;
  border-bottom:1px solid #D4D4D4;
  display:none;
}

@media (min-width:1040px) {
  .steps-container {
    display:block;
  }
}

.steps-buttons__selected-container {
  text-align:center;
}

@media (min-width:60em) {
  .steps-buttons__selected-container {
    -ms-flex-order:2;
    order:2;
  }
}

.featured-content__container {
  position:relative;
}

.featured-content-btn,
.featured-content-btn__icon {
  position:absolute;
  transition:all .18s ease-in-out;
}

.featured-content__container .a11y-slider-dots li {
  margin:0 20px;
}

.featured-content__container .a11y-slider-dots button {
  width:20px;
  height:20px;
  border-color:#006b6b;
}

.featured-content__container .a11y-slider-dots button.active {
  width:20px;
  height:20px;
  background:#006b6b;
}

.featured-content-btn {
  top:160px;
  width:55px;
  height:55px;
  z-index:5;
  font-size:0;
  color:#0060af;
  background:#fff;
  border:1px solid #D6D6D6;
  border-radius:100%;
  cursor:pointer;
  padding:0;
}

.featured-content-btn--prev {
  left:15px;
}

.featured-content-btn--next {
  right:15px;
}

.featured-content-btn.a11y-slider-hide {
  display:none;
}

.featured-content-btn:focus,
.featured-content-btn:hover {
  background:#0060af;
  color:#fff;
  border-color:#0060af;
}

.featured-content-btn__icon {
  top:50%;
  left:50%;
  -ms-transform:translate(-50%,-50%);
  transform:translate(-50%,-50%);
  width:20px;
  height:20px;
  fill:currentColor;
}

.site-filter__container {
  padding:18px;
  background:linear-gradient(142deg,#94208e 0,#5b2e91 29%);
  border-radius:20px;
  color:#fff;
  text-align:center;
}

@media (min-width:60em) {
  .site-filter__container {
    text-align:left;
    padding:30px 20px 30px 25px;
  }
}

.program-table__favorite-btn,
.program-table__reveal-btn {
  background:0 0;
  border:none;
  padding:0;
  cursor:pointer;
  transition:all .18s ease-in-out;
}

.program-table__reveal-btn {
  color:#000;
}

.program-table__reveal-btn:focus,
.program-table__reveal-btn:hover {
  color:#0060af;
}

.program-table__favorite-btn {
  width:22px;
  height:22px;
  -ms-flex:0 0 auto;
  flex:0 0 auto;
  margin:0 20px 0 0;
  color:#0460ad;
}

.program-table__favorite-btn:focus,
.program-table__favorite-btn:hover {
  color:#5C2E91;
}

.program-table__add-btn {
  display:block;
  padding:15px 35px;
  -ms-flex:1 1 auto;
  flex:1 1 auto;
  margin:0 0 0 auto;
  font-size:14px;
  font-size:.875rem;
}

.program-table__add-btn.js-buttton-removeFromCart {
  background:#FCAF17;
  color:#000;
}

.program-table__add-btn.program-table__add-btn--wait {
  background:#666;
}

@media (min-width:60em) {
  .program-table__favorite-btn {
    margin:0 0 14px;
  }
}

.cart-container {
  padding:40px 0 0;
}

.cart-item__image-container {
  margin:0 0 25px;
  max-width:300px;
}

.cart-item__family-container {
  border-top:1px solid #D5D5D5;
  border-bottom:1px solid #D5D5D5;
  padding:25px 0;
  margin-top:25px;
}

.cart-item__family-select-container {
  position:relative;
}

.cart-item__family-select-container:after,
.cart-item__family-select-container:before {
  width:10px;
  height:2px;
  background:#5C2E91;
  position:absolute;
  top:50%;
  z-index:5;
  content:'';
}

.cart-item__family-select-container:before {
  right:21px;
  -ms-transform:rotate(45deg) translateY(-50%);
  transform:rotate(45deg) translateY(-50%);
}

.cart-item__family-select-container:after {
  right:14px;
  -ms-transform:rotate(-45deg) translateY(-50%);
  transform:rotate(-45deg) translateY(-50%);
}

.cart-item__family-block .form-container .form-container__block {
  margin:0 0 20px;
}

.cart-item__family-block .form-container .form-container__block input[type=file],
.cart-item__family-block .form-container .form-container__block input[type=text],
.cart-item__family-block .form-container .form-container__block input[type=email],
.cart-item__family-block .form-container .form-container__block input[type=tel],
.cart-item__family-block .form-container .form-container__block input[type=password],
.cart-item__family-block .form-container .form-container__block input[type=number],
.cart-item__family-block .form-container .form-container__block select,
.cart-item__family-block .form-container .form-container__block textarea {
  background:#fff;
}

@media (min-width:48em) {
  .cart-container {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-align:start;
    align-items:flex-start;
    padding:50px 0 40px;
  }

  .cart-listing-container {
    padding:0 40px 0 0;
    width:55%;
  }
}

@media (min-width:60em) {
  .cart-listing-container {
    width:60%;
  }
}

@media (min-width:71.25em) {
  .cart-container {
    padding:70px 0 30px;
  }

  .cart-listing-container {
    width:70%;
  }

  .cart-item__image-container {
    width:20%;
  }

  .cart-item__content-container {
    width:80%;
    padding:0 0 0 5%;
  }
}

@media (min-width:81.25em) {
  .cart-listing-container {
    width:74%;
    padding-right:80px;
  }

  .cart-sub-item__content-container,
  .cart-sub-item__qty-price {
    padding:0 20px 0 0;
  }
}

.review-check-list-container--optional {
  border-top:1px solid #ddd;
  margin:15px 0 0;
  padding:20px 0 0;
}

.review-check-list-container__heading {
  font-size:26px;
  font-size:1.625rem;
  margin:0 0 8px;
}

.review-check-list-container__heading span {
  font-size:20px;
  font-size:1.25rem;
  font-weight:400;
}

.review-check-list-container__heading+p {
  margin:0 0 15px;
}

.review-social-container {
  margin:40px 0 0;
}

@media (min-width:48em) {
  .review-social-container {
    display:-ms-flexbox;
    display:flex;
    -ms-flex-pack:center;
    justify-content:center;
  }
}

.confirm-container {
  min-height:400px;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:center;
  align-items:center;
  -ms-flex-pack:center;
  justify-content:center;
}

.confirm-container__inner {
  text-align:center;
}

.confirm-container__description {
  font-size:18px;
  font-size:1.125rem;
  margin:0 0 30px;
}

.confirm-container__description p:last-child {
  margin:0;
}

@media (min-width:48em) {
  .confirm-container__description {
    font-size:20px;
    font-size:1.25rem;
  }
}

.facility-date-item__image-container {
  max-width:312px;
  margin:0 0 25px;
}

@media (min-width:60em) {
  .facility-date-item__image-container {
    width:21%;
  }
}

.facility-cart-item__image-container {
  margin:0 0 25px;
  max-width:300px;
}

@media (min-width:71.25em) {
  .facility-cart-item__image-container {
    width:20%;
    margin:0;
  }

  .facility-cart-item__content-container {
    width:80%;
    padding:0 0 0 5%;
  }
}

@media (min-width:1600px) {
  .facility-cart-listing--account .facility-cart-item.facility-cart-item--with-payment .facility-cart-item__content-container {
    width:50%;
  }
}

.account-block .button,
.account-block .cookie-consent__submit,
.account-block .modaal-confirm-btn.modaal-ok,
.account-block div[id*=form-] input[type=submit],
div[id*=form-] .account-block input[type=submit] {
  margin:5px 0;
}

.account-info__profile-image-container {
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:center;
  align-items:center;
}

.account-info-card,
.account-info-card-container,
.contact-cta__button {
  width:100%;
}

.invite-friend-bottom .button,
.invite-friend-bottom .cookie-consent__submit,
.invite-friend-bottom .modaal-confirm-btn.modaal-ok,
.invite-friend-bottom div[id*=form-] input[type=submit],
div[id*=form-] .invite-friend-bottom input[type=submit] {
  width:100%;
  max-width:320px;
}

.invite-friend-bottom__add-container {
  margin:0 0 45px;
}

.account-program-tabs-list-container {
  position:relative;
}

.staff-container,
.staff-listing {
  margin:0 auto;
  max-width:1100px;
}

.gallery .gallery-text-overlay {
  margin:0;
  position:absolute;
  top:50%;
  -ms-transform:translateY(-50%);
  transform:translateY(-50%);
  cursor:pointer;
}

.a11y-slider,
.a11y-slider-container,
.gallery-slider {
  position:relative;
}

.a11y-slider-sr-only {
  position:absolute;
  top:0;
  left:0;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  border:0;
  text-align:center;
  font-family:inherit;
  font-size:1em;
}

.a11y-slider-sr-only:focus {
  position:static;
  background:#000;
  color:#fff;
  width:100%;
  height:auto;
  margin:0;
  clip:auto;
  padding:10px;
}

.a11y-slider-container:focus .a11y-slider-autoplay,
.a11y-slider-container:hover .a11y-slider-autoplay,
[class*=hero-slider]:focus .a11y-slider-autoplay,
[class*=hero-slider]:hover .a11y-slider-autoplay,
[class*=image-slider]:focus .a11y-slider-autoplay,
[class*=image-slider]:hover .a11y-slider-autoplay {
  opacity:1;
}

.modaal-overlay {
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  z-index:1001;
  opacity:0;
}

.modaal-container {
  position:relative;
  display:inline-block;
  width:100%;
  margin:auto;
  color:#000;
  max-width:780px;
  border-radius:15px;
  background:#fff;
  box-shadow:0 4px 15px rgba(0,0,0,.2);
  cursor:auto;
}

.modaal-container.is_loading {
  height:100px;
  width:100px;
  overflow:hidden;
}

.modaal-fullscreen .modaal-container {
  max-width:none;
  height:100%;
  overflow:auto;
}

.modaal-content-container {
  padding:30px;
}

.modaal-confirm-btn {
  font-size:14px;
  display:inline-block;
  margin:0 10px;
  vertical-align:middle;
  cursor:pointer;
  border:none;
  background:0 0;
}

@keyframes instaReveal {
  0%{opacity:0}100%{opacity:1};
}

.modaal-instagram .modaal-container {
  width:auto;
  background:0 0;
  box-shadow:none!important;
}

.modaal-instagram .modaal-content-container {
  padding:0;
  background:0 0;
}

.modaal-instagram .modaal-content-container>blockquote {
  width:1px!important;
  height:1px!important;
  opacity:0!important;
}

.modaal-image .modaal-container {
  width:auto;
  max-width:100%;
}

.modaal-video-container {
  position:relative;
  padding-bottom:56.25%;
  height:0;
  overflow:hidden;
  box-shadow:0 0 10px rgba(0,0,0,.3);
  background:#000;
  max-width:1300px;
  margin-left:auto;
  margin-right:auto;
}

.modaal-video-container embed,
.modaal-video-container iframe,
.modaal-video-container object {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

@media only screen and (min-width:1400px) {
  .modaal-video-container {
    padding-bottom:0;
    height:731px;
  }
}

@media screen and (max-height:900px) {
  .modaal-video-container {
    max-width:900px;
    max-height:510px;
  }
}

@keyframes modaal-loading-spinner {
  0%{opacity:1;
  -ms-transform:scale(1.5);
  transform:scale(1.5)}100%{opacity:.1;
  -ms-transform:scale(1);
  transform:scale(1)};
}

/*!
 * froala_editor v3.0.6 (https://www.froala.com/wysiwyg-editor)
 * License https://froala.com/wysiwyg-editor/terms/
 * Copyright 2014-2019 Froala Labs
 */.clearfix::after {
  clear:both;
  display:block;
  content:"";
  height:0;
}

.color-block.color-primary {
  background:#0060af;
}

.color-block.color-secondary {
  background:#25afd2;
}

.container .talon-templates-wrapper,
.follow-the-y .talon-templates-wrapper {
  position:static;
  width:auto;
  background:0 0;
  border:none;
  padding:0 0 1em 1em;
}

.container .talon-templates-wrapper .talon-templates-hide,
.follow-the-y .talon-templates-wrapper .talon-templates-hide {
  display:none;
}

.container .talon-templates-wrapper::before,
.follow-the-y .talon-templates-wrapper::before {
  content:none;
}

@media print {
  blockquote,
  img,
  pre,
  tr {
    page-break-inside:avoid;
  }

  * {
    background:0 0!important;
    color:#000!important;
    box-shadow:none!important;
    text-shadow:none!important;
  }

  a,
  a:visited {
    text-decoration:underline;
  }

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content:"";
  }

  blockquote,
  pre {
    border:1px solid #999;
  }

  img {
    max-width:100%!important;
  }

  h2,
  h3,
  p {
    orphans:3;
    widows:3;
  }

  h2,
  h3 {
    page-break-after:avoid;
  }
}
