html {
  font-size: 16px;
}
@media (min-width: 600px) {
  html {
    font-size: calc(16px + 6 * (100vw - 600px) / 1000);
  }
}
@media (min-width: 1000px) {
  html {
    font-size: 22px;
  }
}

body {
  font-family: "Titillium Web";
  text-rendering: optimizeLegibility;
}
@media not screen {
  body .media-only-screen {
    display: none !important;
  }
}
@media not print {
  body .media-only-print {
    display: none !important;
  }
}
body h1,
body h2,
body h3,
body h4 {
  font-family: "Arvo";
  font-weight: 400;
}
body h1 {
  font-size: 2em;
  text-transform: uppercase;
}
body h2 {
  font-size: 1.5em;
  text-transform: uppercase;
}
body h3 {
  font-size: 1.25em;
}
body em {
  font-size: 1.25rem;
  font-weight: 300;
}
body .strong {
  font-size: 1.5rem;
  font-weight: 500;
}
body .dimmed {
  opacity: 0.4 !important;
}
body .pointer {
  cursor: pointer;
}
body .light {
  font-weight: 300;
}
body .precision {
  font-size: 0.9em;
  opacity: 0.9;
}
body .inline {
  display: inline !important;
}
body .fgColor1 {
  color: #000000;
}
body .fgColor2 {
  color: #ffffff;
}
body .bgColor1 {
  background-color: #ffffff;
}
body .bgColor2 {
  background-color: #376d91;
}
body .bgColor3 {
  background-color: #0b3c5d;
}
body p {
  text-align: justify;
}
body p.indented {
  text-indent: 2em;
}
body .condensed {
  font-size: 0.85rem;
}
body .underline {
  text-decoration: underline;
}
body .underline.dotted {
  text-decoration-style: dotted;
}
body a {
  text-decoration: underline;
  text-decoration-style: dotted;
  color: inherit;
}
body a[href]:hover {
  text-decoration: underline;
  cursor: pointer;
}
body .space-top {
  margin-top: 0.33em;
}
body .space-right {
  margin-right: 0.33em;
}
body .space-bottom {
  margin-bottom: 0.33em;
}
body .space-left {
  margin-left: 0.33em;
}
body dd > p {
  font-size: 0.9em;
  padding-left: 1em;
}
body input::placeholder {
  font-style: italic;
  opacity: 0.25;
}
@media print {
  body input::placeholder {
    visibility: hidden;
  }
}
body .left {
  text-align: left;
}
body ul,
body dl,
body ol {
  padding: 0;
}
body ul.indented,
body dl.indented,
body ol.indented {
  padding-left: 2em;
}
body ul.left,
body dl.left,
body ol.left {
  list-style-position: inside;
}
body ul.without-bullets,
body dl.without-bullets,
body ol.without-bullets {
  list-style-type: none;
}
body .center {
  text-align: center;
}
body .justify {
  text-align: justify;
}
body .layer {
  display: block;
  position: relative;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1;
}
body .layer.warning {
  color: #525252;
  background-color: #f0f0f0;
}
body .layer.warning h2 {
  color: #525252;
  animation: pulse 2s infinite;
}
@keyframes pulse {
  0% {
    color: #9c0000;
  }
  50% {
    color: #500000;
  }
  100% {
    color: #9c0000;
  }
}
body .layer.warning .stripes {
  width: 100%;
  height: 10px;
  background: repeating-linear-gradient(45deg, #9c0000, #9c0000 10px, #500000 10px, #500000 20px);
}
body > .mask {
  display: block;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.4);
  background-position: center center;
  background-repeat: repeat;
}
body > section,
body .layer > section {
  margin-left: auto;
  margin-right: auto;
  padding: 16px;
}
@media (min-width: 600px) {
  body > section,
  body .layer > section {
    width: 600px;
  }
}
@media (min-width: 800px) {
  body > section,
  body .layer > section {
    width: 800px;
  }
}
@media (min-width: 1000px) {
  body > section,
  body .layer > section {
    width: 1000px;
  }
}
body .separator {
  position: relative;
  height: 1px;
  margin-top: 1em;
  margin-bottom: 1em;
}
body .separator:before {
  content: "";
  position: absolute;
  top: 0;
  left: 5%;
  right: 5%;
  width: 90%;
  height: 1px;
  background-image: linear-gradient(to right, transparent, rgb(48, 49, 51), transparent);
}
body .separator.arrow-up:after, body .separator.arrow-down:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: -7px;
  left: calc(50% - 7px);
  width: 14px;
  height: 14px;
  transform: rotate(45deg);
  background-color: white;
}
body .separator.arrow-up:after {
  border-left: 1px solid rgb(48, 49, 51);
  border-top: 1px solid rgb(48, 49, 51);
}
body .separator.arrow-down:after {
  border-bottom: 1px solid rgb(48, 49, 51);
  border-right: 1px solid rgb(48, 49, 51);
}
body .bgColor1 .separator.arrow-up:after, body .bgColor1 .separator.arrow-down:after {
  background-color: #ffffff;
}
body .bgColor2 .separator.arrow-up:after, body .bgColor2 .separator.arrow-down:after {
  background-color: #376d91;
}
body .bgColor3 .separator.arrow-up:after, body .bgColor3 .separator.arrow-down:after {
  background-color: #0b3c5d;
}
body form {
  margin-left: 7em;
  margin-right: 7em;
}
body form > ul,
body form fieldset > ul {
  margin-left: auto;
  margin-right: auto;
  padding-inline-start: 0;
  list-style-type: none;
}
body form > ul > li,
body form fieldset > ul > li {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
}
body form > ul > li + li,
body form fieldset > ul > li + li {
  margin-top: 0.2em;
}
body form > ul > li > label,
body form fieldset > ul > li > label {
  flex: 1 0 80px;
  text-align: left;
}
body form > ul > li > label.required :after,
body form fieldset > ul > li > label.required :after {
  content: "*";
}
body form > ul > li > label > .precision,
body form fieldset > ul > li > label > .precision {
  display: block;
  line-height: 0.66em;
  font-size: 0.66em;
  opacity: 0.5;
}
body form > ul > li input[type=radio] + label,
body form > ul > li input[type=checkbox] + label,
body form fieldset > ul > li input[type=radio] + label,
body form fieldset > ul > li input[type=checkbox] + label {
  margin-left: 1em;
}
body form > ul > li.spacer,
body form fieldset > ul > li.spacer {
  margin-top: 1em;
}
body form > ul > li.footer,
body form fieldset > ul > li.footer {
  display: block;
  margin-top: 1em;
}
body form > * + fieldset,
body form > * + section,
body form > * + footer {
  margin-top: 1.5em;
}
body > .back-link,
body #wrapper > .back-link,
body .layer > .back-link {
  margin-top: 0.33em;
  margin-left: 1em;
}
body > header,
body #wrapper > header {
  position: relative;
  width: 100%;
  background-image: url("/resources/images/background-17.jpg");
  background-size: cover;
  background-position: 50% 50%;
  text-align: center;
  color: white;
  padding-top: 180px;
  padding-bottom: 180px;
  text-shadow: 0.05em 0 black, 0 0.05em black, -0.05em 0 black, 0 -0.05em black, -0.05em -0.05em black, -0.05em 0.05em black, 0.05em -0.05em black, 0.05em 0.05em black;
}
@media print {
  body > header,
  body #wrapper > header {
    padding-top: 20px;
    padding-bottom: 60px;
  }
}
body > header p.slogan,
body #wrapper > header p.slogan {
  font-size: 1.8em;
  text-shadow: 0.05em 0 black, 0 0.05em black, -0.05em 0 black, 0 -0.05em black, -0.05em -0.05em black, -0.05em 0.05em black, 0.05em -0.05em black, 0.05em 0.05em black;
}
body #wrapper,
body > .layer {
  text-align: center;
}
body > footer,
body #wrapper > footer {
  position: relative;
  width: 100%;
  background: #0d4a72;
  padding-top: 60px;
  padding-bottom: 60px;
}
body > footer div.legal,
body #wrapper > footer div.legal {
  font-size: 0.8rem;
  margin-top: 60px;
}
body .collapsible-section {
  overflow: "hidden";
  transition: "max-height 0.3s ease-out";
}
body .expand-button:has(+ .collapsible-section) {
  margin-bottom: 1em;
}
body .collapse-button {
  margin-bottom: 0.33em;
}

body > header,
body #wrapper > header {
  background-image: url("/resources/images/background-17.jpg");
}
body label.terms-acknowledgment {
  text-align: justify;
  display: inline-block;
  font-size: 0.9rem;
  line-height: 0.9rem;
}
body label.terms-acknowledgment #termsAcknowledgment-checkbox {
  margin-right: 0.4rem;
}
body table.pricing {
  width: 100%;
  margin-top: 24px;
  width: 100%;
  font-size: 0.9em;
}
body table.pricing thead {
  border-bottom: 1px solid #89a8bd;
  background: #5281a0;
}
body table.pricing thead.location {
  background: #0d4a72;
}
body table.pricing thead td.empty {
  background: white;
  border: none;
}
body table.pricing tr.session {
  background: #89a8bd;
}
body table.pricing tr.session td.dates {
  text-align: center;
  padding-right: 1em;
}
body table.pricing td,
body table.pricing th {
  border-right: 1px solid #89a8bd;
}
body table.pricing td:last-child,
body table.pricing th:last-child {
  border-right: none;
}
body table.pricing + .precision {
  margin-top: 1.3em;
}
body table.pricing ~ .precision {
  margin-top: 0.6em;
  font-size: 0.75em;
  font-weight: 300;
}

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