/*!
Theme Name: IUCA
Theme URI: https://github.com/studiolift/iuca
Author: Studio Lift
Author URI: https://studiolift.com
Description: A WordPress theme by Lift
Version: 1.0.2
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: iuca
Tags: custom
*/
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
:root {
  --stone: #031a1c;
  --ash: #2f2e34;
  --ice: #f1f1f3;
  --ocean: #007876;
  --sun: #ffdf56;
  --ochre: #F54500;
  --coral: #F6828C;
  --reef: #048BA8;
  --moss: #6DA34D;
  --soil: #B3001B;
  --galaxy: #7D0C68;
  --black: #0B0B0B;
  --white: #FFFFFF;
  --accent-1: var(--ocean);
  --text-default: var(--black);
  --text-inverted: var(--white);
  --text-secondary: #1f1f1f;
  --background-elevation-1: var(--white);
  --background-elevation-2: var(--ice);
  --border-color: var(--accent-1);
  --body-font: "Montserrat", sans-serif;
  --display-font: "Montserrat", sans-serif;
  --s-radius: 5px;
  --m-radius: 10px;
  --l-radius: 15px;
  --s-gap: 0.5rem;
  --gap: 1rem;
  --l-gap: 3rem;
  --xl-gap: 5rem;
  --shadow-1: rgba(0, 0, 0, 0.1) 0px 0px 5px 0px, rgba(0, 0, 0, 0.1) 0px 0px 1px 0px;
}

body {
  --wp--preset--color--black: var(--stone);
  --wp--preset--color--cyan-bluish-gray: #abb8c3;
  --wp--preset--color--white: #ffffff;
  --wp--preset--color--pale-pink: var(--coral);
  --wp--preset--color--vivid-red: var(--soil);
  --wp--preset--color--luminous-vivid-orange: var(--ochre);
  --wp--preset--color--luminous-vivid-amber: var(--sun);
  --wp--preset--color--light-green-cyan: var(--ocean);
  --wp--preset--color--vivid-green-cyan: var(--ocean);
  --wp--preset--color--pale-cyan-blue: var(--reef);
  --wp--preset--color--vivid-cyan-blue: var(--reef);
  --wp--preset--color--vivid-purple: var(--galaxy);
  --wp--preset--font-size--small: 0.875rem;
  --wp--preset--font-size--medium: 1rem;
  --wp--preset--font-size--large: 1.25rem;
  --wp--preset--font-size--x-large: 1.5rem;
}
@media (min-width: 782px) {
  body {
    --wp--preset--font-size--small: 0.875rem;
    --wp--preset--font-size--medium: 1.125rem;
    --wp--preset--font-size--large: 1.5rem;
    --wp--preset--font-size--x-large: 2rem;
  }
}
@media (min-width: 1025px) {
  body {
    --wp--preset--font-size--small: 0.875rem;
    --wp--preset--font-size--medium: 1.25rem;
    --wp--preset--font-size--large: 1.5rem;
    --wp--preset--font-size--x-large: 2rem;
  }
}

#map {
  aspect-ratio: 16/9;
  background-color: var(--stone);
  width: 100%;
}

/* required styles */
.leaflet-pane,
.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-tile-container,
.leaflet-pane > svg,
.leaflet-pane > canvas,
.leaflet-zoom-box,
.leaflet-image-layer,
.leaflet-layer {
  position: absolute;
  left: 0;
  top: 0;
}

.leaflet-container {
  overflow: hidden;
}

.leaflet-tile,
.leaflet-marker-icon,
.leaflet-marker-shadow {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  -webkit-user-drag: none;
}

/* Prevents IE11 from highlighting tiles in blue */
.leaflet-tile::selection {
  background: transparent;
}

/* Safari renders non-retina tile on retina better with this, but Chrome is worse */
.leaflet-safari .leaflet-tile {
  image-rendering: -webkit-optimize-contrast;
}

/* hack that prevents hw layers "stretching" when loading new tiles */
.leaflet-safari .leaflet-tile-container {
  width: 1600px;
  height: 1600px;
  -webkit-transform-origin: 0 0;
}

.leaflet-marker-icon,
.leaflet-marker-shadow {
  display: block;
}

/* .leaflet-container svg: reset svg max-width decleration shipped in Joomla! (joomla.org) 3.x */
/* .leaflet-container img: map is broken in FF if you have max-width: 100% on tiles */
.leaflet-container .leaflet-overlay-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
.leaflet-container img.leaflet-image-layer,
.leaflet-container .leaflet-tile {
  max-width: none !important;
  max-height: none !important;
  width: auto;
  padding: 0;
}

.leaflet-container img.leaflet-tile {
  /* See: https://bugs.chromium.org/p/chromium/issues/detail?id=600120 */
  mix-blend-mode: plus-lighter;
}

.leaflet-container.leaflet-touch-zoom {
  -ms-touch-action: pan-x pan-y;
  touch-action: pan-x pan-y;
}

.leaflet-container.leaflet-touch-drag {
  -ms-touch-action: pinch-zoom;
  /* Fallback for FF which doesn't support pinch-zoom */
  touch-action: none;
  touch-action: pinch-zoom;
}

.leaflet-container.leaflet-touch-drag.leaflet-touch-zoom {
  -ms-touch-action: none;
  touch-action: none;
}

.leaflet-container {
  -webkit-tap-highlight-color: transparent;
}

.leaflet-container a {
  -webkit-tap-highlight-color: rgba(51, 181, 229, 0.4);
}

.leaflet-tile {
  filter: inherit;
  visibility: hidden;
}

.leaflet-tile-loaded {
  visibility: inherit;
}

.leaflet-zoom-box {
  width: 0;
  height: 0;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 800;
}

/* workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=888319 */
.leaflet-overlay-pane svg {
  -moz-user-select: none;
}

.leaflet-pane {
  z-index: 400;
}

.leaflet-tile-pane {
  z-index: 200;
}

.leaflet-overlay-pane {
  z-index: 400;
}

.leaflet-shadow-pane {
  z-index: 500;
  display: none;
}

.leaflet-marker-pane {
  z-index: 600;
}

.leaflet-tooltip-pane {
  z-index: 650;
}

.leaflet-popup-pane {
  z-index: 700;
}

.leaflet-map-pane canvas {
  z-index: 100;
}

.leaflet-map-pane svg {
  z-index: 200;
}

.leaflet-vml-shape {
  width: 1px;
  height: 1px;
}

.lvml {
  behavior: url(#default#VML);
  display: inline-block;
  position: absolute;
}

/* control positioning */
.leaflet-control {
  position: relative;
  z-index: 800;
  pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

.leaflet-top,
.leaflet-bottom {
  position: absolute;
  z-index: 1000;
  pointer-events: none;
}

.leaflet-top {
  top: 0;
}

.leaflet-right {
  right: 0;
}

.leaflet-bottom {
  bottom: 0;
}

.leaflet-left {
  left: 0;
}

.leaflet-control {
  float: left;
  clear: both;
}

.leaflet-right .leaflet-control {
  float: right;
}

.leaflet-top .leaflet-control {
  margin-top: 10px;
}

.leaflet-bottom .leaflet-control {
  margin-bottom: 10px;
}

.leaflet-left .leaflet-control {
  margin-left: 10px;
}

.leaflet-right .leaflet-control {
  margin-right: 10px;
}

/* zoom and fade animations */
.leaflet-fade-anim .leaflet-popup {
  opacity: 0;
  -webkit-transition: opacity 0.2s linear;
  -moz-transition: opacity 0.2s linear;
  transition: opacity 0.2s linear;
}

.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
  opacity: 1;
}

.leaflet-zoom-animated {
  -webkit-transform-origin: 0 0;
  -ms-transform-origin: 0 0;
  transform-origin: 0 0;
}

svg.leaflet-zoom-animated {
  will-change: transform;
}

.leaflet-zoom-anim .leaflet-zoom-animated {
  -webkit-transition: -webkit-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  -moz-transition: -moz-transform 0.25s cubic-bezier(0, 0, 0.25, 1);
  transition: transform 0.25s cubic-bezier(0, 0, 0.25, 1);
}

.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
  -webkit-transition: none;
  -moz-transition: none;
  transition: none;
}

.leaflet-zoom-anim .leaflet-zoom-hide {
  visibility: hidden;
}

/* cursors */
.leaflet-interactive {
  cursor: pointer;
}

.leaflet-grab {
  cursor: -webkit-grab;
  cursor: -moz-grab;
  cursor: grab;
}

.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
  cursor: crosshair;
}

.leaflet-popup-pane,
.leaflet-control {
  cursor: auto;
}

.leaflet-dragging .leaflet-grab,
.leaflet-dragging .leaflet-grab .leaflet-interactive,
.leaflet-dragging .leaflet-marker-draggable {
  cursor: move;
  cursor: -webkit-grabbing;
  cursor: -moz-grabbing;
  cursor: grabbing;
}

/* marker & overlays interactivity */
.leaflet-marker-icon,
.leaflet-marker-shadow,
.leaflet-image-layer,
.leaflet-pane > svg path,
.leaflet-tile-container {
  pointer-events: none;
}

.leaflet-marker-icon.leaflet-interactive,
.leaflet-image-layer.leaflet-interactive,
.leaflet-pane > svg path.leaflet-interactive,
svg.leaflet-image-layer.leaflet-interactive path {
  pointer-events: visiblePainted; /* IE 9-10 doesn't have auto */
  pointer-events: auto;
}

/* visual tweaks */
.leaflet-container {
  background: #ddd;
  outline-offset: 1px;
}

.leaflet-container a {
  color: #0078A8;
}

.leaflet-zoom-box {
  border: 2px dotted #38f;
  background: rgba(255, 255, 255, 0.5);
}

/* general typography */
.leaflet-container {
  font-family: "Helvetica Neue", Arial, Helvetica, sans-serif;
  font-size: 12px;
  font-size: 0.75rem;
  line-height: 1.5;
}

/* general toolbar styles */
.leaflet-bar {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.65);
  border-radius: 4px;
}

.leaflet-bar a {
  background-color: #fff;
  border-bottom: 1px solid #ccc;
  width: 26px;
  height: 26px;
  line-height: 26px;
  display: block;
  text-align: center;
  text-decoration: none;
  color: black;
}

.leaflet-bar a,
.leaflet-control-layers-toggle {
  background-position: 50% 50%;
  background-repeat: no-repeat;
  display: block;
}

.leaflet-bar a:hover,
.leaflet-bar a:focus {
  background-color: #f4f4f4;
}

.leaflet-bar a:first-child {
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.leaflet-bar a:last-child {
  border-bottom-left-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom: none;
}

.leaflet-bar a.leaflet-disabled {
  cursor: default;
  background-color: #f4f4f4;
  color: #bbb;
}

.leaflet-touch .leaflet-bar a {
  width: 30px;
  height: 30px;
  line-height: 30px;
}

.leaflet-touch .leaflet-bar a:first-child {
  border-top-left-radius: 2px;
  border-top-right-radius: 2px;
}

.leaflet-touch .leaflet-bar a:last-child {
  border-bottom-left-radius: 2px;
  border-bottom-right-radius: 2px;
}

/* zoom control */
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  font: bold 18px "Lucida Console", Monaco, monospace;
  text-indent: 1px;
}

.leaflet-touch .leaflet-control-zoom-in, .leaflet-touch .leaflet-control-zoom-out {
  font-size: 22px;
}

/* layers control */
.leaflet-control-layers {
  box-shadow: 0 1px 5px rgba(0, 0, 0, 0.4);
  background: #fff;
  border-radius: 5px;
}

.leaflet-control-layers-toggle {
  background-image: url(images/layers.png);
  width: 36px;
  height: 36px;
}

.leaflet-retina .leaflet-control-layers-toggle {
  background-image: url(images/layers-2x.png);
  background-size: 26px 26px;
}

.leaflet-touch .leaflet-control-layers-toggle {
  width: 44px;
  height: 44px;
}

.leaflet-control-layers .leaflet-control-layers-list,
.leaflet-control-layers-expanded .leaflet-control-layers-toggle {
  display: none;
}

.leaflet-control-layers-expanded .leaflet-control-layers-list {
  display: block;
  position: relative;
}

.leaflet-control-layers-expanded {
  padding: 6px 10px 6px 6px;
  color: #333;
  background: #fff;
}

.leaflet-control-layers-scrollbar {
  overflow-y: scroll;
  overflow-x: hidden;
  padding-right: 5px;
}

.leaflet-control-layers-selector {
  margin-top: 2px;
  position: relative;
  top: 1px;
}

.leaflet-control-layers label {
  display: block;
  font-size: 13px;
  font-size: 1.08333em;
}

.leaflet-control-layers-separator {
  height: 0;
  border-top: 1px solid #ddd;
  margin: 5px -10px 5px -6px;
}

/* Default icon URLs */
.leaflet-default-icon-path { /* used only in path-guessing heuristic, see L.Icon.Default */
  background-image: url(images/marker-icon.png);
}

/* attribution and scale controls */
.leaflet-container .leaflet-control-attribution {
  background: #fff;
  background: rgba(255, 255, 255, 0.8);
  margin: 0;
}

.leaflet-control-attribution,
.leaflet-control-scale-line {
  padding: 0 5px;
  color: #333;
  line-height: 1.4;
}

.leaflet-control-attribution a {
  text-decoration: none;
}

.leaflet-control-attribution a:hover,
.leaflet-control-attribution a:focus {
  text-decoration: underline;
}

.leaflet-attribution-flag {
  display: inline !important;
  vertical-align: baseline !important;
  width: 1em;
  height: 0.6669em;
}

.leaflet-left .leaflet-control-scale {
  margin-left: 5px;
}

.leaflet-bottom .leaflet-control-scale {
  margin-bottom: 5px;
}

.leaflet-control-scale-line {
  border: 2px solid #777;
  border-top: none;
  line-height: 1.1;
  padding: 2px 5px 1px;
  white-space: nowrap;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.8);
  text-shadow: 1px 1px #fff;
}

.leaflet-control-scale-line:not(:first-child) {
  border-top: 2px solid #777;
  border-bottom: none;
  margin-top: -2px;
}

.leaflet-control-scale-line:not(:first-child):not(:last-child) {
  border-bottom: 2px solid #777;
}

.leaflet-touch .leaflet-control-attribution,
.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  box-shadow: none;
}

.leaflet-touch .leaflet-control-layers,
.leaflet-touch .leaflet-bar {
  border: 2px solid rgba(0, 0, 0, 0.2);
  background-clip: padding-box;
}

/* popup */
.leaflet-popup {
  position: absolute;
  text-align: center;
  margin-bottom: 20px;
}

.leaflet-popup-content-wrapper {
  padding: 1px;
  text-align: left;
  border-radius: 12px;
}

.leaflet-popup-content {
  margin: 13px 24px 13px 20px;
  line-height: 1.3;
  font-size: 13px;
  font-size: 1.08333em;
  min-height: 1px;
}

.leaflet-popup-content p {
  margin: 17px 0;
  margin: 1.3em 0;
}

.leaflet-popup-tip-container {
  width: 40px;
  height: 20px;
  position: absolute;
  left: 50%;
  margin-top: -1px;
  margin-left: -20px;
  overflow: hidden;
  pointer-events: none;
}

.leaflet-popup-content-wrapper {
  background: white;
  color: #333;
  box-shadow: 0 3px 14px rgba(0, 0, 0, 0.4);
}

.leaflet-container a.leaflet-popup-close-button {
  position: absolute;
  top: 0;
  right: 0;
  border: none;
  text-align: center;
  width: 24px;
  height: 24px;
  font: 16px/24px Tahoma, Verdana, sans-serif;
  color: #757575;
  text-decoration: none;
  background: transparent;
}

.leaflet-container a.leaflet-popup-close-button:hover,
.leaflet-container a.leaflet-popup-close-button:focus {
  color: #585858;
}

.leaflet-popup-scrolled {
  overflow: auto;
}

.leaflet-oldie .leaflet-popup-content-wrapper {
  -ms-zoom: 1;
}

.leaflet-oldie .leaflet-popup-tip {
  width: 24px;
  margin: 0 auto;
  -ms-filter: "progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678)";
  filter: progid:DXImageTransform.Microsoft.Matrix(M11=0.70710678, M12=0.70710678, M21=-0.70710678, M22=0.70710678);
}

.leaflet-oldie .leaflet-control-zoom,
.leaflet-oldie .leaflet-control-layers,
.leaflet-oldie .leaflet-popup-content-wrapper,
.leaflet-oldie .leaflet-popup-tip {
  border: 1px solid #999;
}

/* div icon */
.leaflet-div-icon {
  background: #fff;
  border: 1px solid #666;
}

/* Tooltip */
/* Base styles for the element that has a tooltip */
.leaflet-tooltip {
  position: absolute;
  padding: 6px;
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 3px;
  color: #222;
  white-space: nowrap;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  pointer-events: none;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

.leaflet-tooltip.leaflet-interactive {
  cursor: pointer;
  pointer-events: auto;
}

.leaflet-tooltip-top:before,
.leaflet-tooltip-bottom:before,
.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  position: absolute;
  pointer-events: none;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

/* Directions */
.leaflet-tooltip-bottom {
  margin-top: 6px;
}

.leaflet-tooltip-top {
  margin-top: -6px;
}

.leaflet-tooltip-bottom:before,
.leaflet-tooltip-top:before {
  left: 50%;
  margin-left: -6px;
}

.leaflet-tooltip-top:before {
  bottom: 0;
  margin-bottom: -12px;
  border-top-color: #fff;
}

.leaflet-tooltip-bottom:before {
  top: 0;
  margin-top: -12px;
  margin-left: -6px;
  border-bottom-color: #fff;
}

.leaflet-tooltip-left {
  margin-left: -6px;
}

.leaflet-tooltip-right {
  margin-left: 6px;
}

.leaflet-tooltip-left:before,
.leaflet-tooltip-right:before {
  top: 50%;
  margin-top: -6px;
}

.leaflet-tooltip-left:before {
  right: 0;
  margin-right: -12px;
  border-left-color: #fff;
}

.leaflet-tooltip-right:before {
  left: 0;
  margin-left: -12px;
  border-right-color: #fff;
}

/* Printing */
@media print {
  /* Prevent printers from removing background-images of controls. */
  .leaflet-control {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
}
.leaflet-cluster-anim .leaflet-marker-icon, .leaflet-cluster-anim .leaflet-marker-shadow {
  -webkit-transition: -webkit-transform 0.3s ease-out, opacity 0.3s ease-in;
  -moz-transition: -moz-transform 0.3s ease-out, opacity 0.3s ease-in;
  -o-transition: -o-transform 0.3s ease-out, opacity 0.3s ease-in;
  transition: transform 0.3s ease-out, opacity 0.3s ease-in;
}

.leaflet-cluster-spider-leg {
  /* stroke-dashoffset (duration and function) should match with leaflet-marker-icon transform in order to track it exactly */
  -webkit-transition: -webkit-stroke-dashoffset 0.3s ease-out, -webkit-stroke-opacity 0.3s ease-in;
  -moz-transition: -moz-stroke-dashoffset 0.3s ease-out, -moz-stroke-opacity 0.3s ease-in;
  -o-transition: -o-stroke-dashoffset 0.3s ease-out, -o-stroke-opacity 0.3s ease-in;
  transition: stroke-dashoffset 0.3s ease-out, stroke-opacity 0.3s ease-in;
}

.marker-cluster-small {
  background-color: rgba(181, 226, 140, 0.6);
}

.marker-cluster-small div {
  background-color: rgba(110, 204, 57, 0.6);
}

.marker-cluster-medium {
  background-color: rgba(241, 211, 87, 0.6);
}

.marker-cluster-medium div {
  background-color: rgba(240, 194, 12, 0.6);
}

.marker-cluster-large {
  background-color: rgba(253, 156, 115, 0.6);
}

.marker-cluster-large div {
  background-color: rgba(241, 128, 23, 0.6);
}

/* IE 6-8 fallback colors */
.leaflet-oldie .marker-cluster-small {
  background-color: rgb(181, 226, 140);
}

.leaflet-oldie .marker-cluster-small div {
  background-color: rgb(110, 204, 57);
}

.leaflet-oldie .marker-cluster-medium {
  background-color: rgb(241, 211, 87);
}

.leaflet-oldie .marker-cluster-medium div {
  background-color: rgb(240, 194, 12);
}

.leaflet-oldie .marker-cluster-large {
  background-color: rgb(253, 156, 115);
}

.leaflet-oldie .marker-cluster-large div {
  background-color: rgb(241, 128, 23);
}

.marker-cluster {
  background-clip: padding-box;
  border-radius: 20px;
}

.marker-cluster div {
  width: 100%;
  height: 100%;
  margin: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--ocean);
  border-radius: 50%;
  text-align: center;
}

.marker-cluster span {
  font-family: var(--body-font);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  color: var(--text-inverted);
}

.leaflet-container a.leaflet-popup-close-button {
  top: 0.5rem;
  right: 0.5rem;
}

.leaflet-popup-content {
  margin: 0;
  padding: 1.5rem;
  min-width: 200px;
}
.leaflet-popup-content h3 {
  font-size: 1.125rem;
}
.leaflet-popup-content p {
  font-size: 0.875rem;
  margin-block-start: 0.5rem;
}
.leaflet-popup-content a {
  color: var(--text-default);
}

.leaflet-popup-tip-container {
  width: 20px;
  margin-top: 0;
  margin-left: -10px;
}
.leaflet-popup-tip-container .leaflet-popup-tip {
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 15px 10px 0 10px;
  border-color: #FFFFFF transparent transparent transparent;
  transform: rotate(0deg);
}

.nf-form-cont {
  margin-block-start: 1.5rem;
  background-color: var(--stone);
  color: var(--text-inverted);
  border-radius: 10px;
  padding: 1.5rem;
}

.nf-form-title * {
  color: var(--sun);
}

.nf-form-layout {
  margin-block-start: 0.5rem;
}

.nf-form-content {
  margin-block-start: 1rem;
}

.nf-field-container {
  padding-block-start: 1rem;
}

.nf-field-label {
  margin-block-end: 0.25rem !important;
}

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

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

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  box-sizing: border-box;
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  position: relative;
  font-family: var(--body-font);
  background-color: var(--ash);
  color: var(--text-default);
  line-height: 1.5;
}

*:first-child {
  margin-block-start: 0 !important;
}

*:last-child {
  margin-block-end: 0 !important;
}

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

:where(.is-layout-flex) {
  gap: 1rem;
}

.skip-link {
  position: absolute;
  background-color: var(--accent-1);
  left: 50%;
  padding: 0.75rem;
  transform: translate(-50%, -100%);
  transition: transform 0.5s;
  z-index: 1;
  color: var(--white);
  font-size: 0.875rem;
  text-decoration: none;
  line-height: 1;
  border-radius: 0 0 4px 4px;
  font-weight: 600;
}

.skip-link:focus {
  transform: translate(-50%, 0%);
  outline: none;
}

.skip-link:hover {
  background-color: var(--sun);
  color: var(--text-default);
}

.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0); /* Deprecated but safe fallback */
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

#wpadminbar {
  position: relative;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

svg {
  display: block;
}

h1, h2, h3, h4, h5 {
  margin-block-start: 3rem;
  text-wrap: pretty;
  font-family: var(--display-font);
  font-weight: 700;
}

h1 + h2, h2 + h3, h3 + h4, h4 + h5 {
  margin-block-start: var(--gap);
}

h1, .h1 {
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1;
  color: var(--ocean);
}

h2, .h2 {
  font-size: 2rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1;
  color: var(--ocean);
}

h3, .h3 {
  font-size: 1.5rem;
  text-transform: uppercase;
  letter-spacing: 1px;
  line-height: 1;
  color: var(--ocean);
}

h4, .h4 {
  font-size: 1.25rem;
}

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

p, ul, ol, summary {
  margin-block-start: var(--gap);
  font-size: 1rem;
  line-height: 1.5;
}
@media (min-width: 501px) {
  p, ul, ol, summary {
    font-size: 1.125rem;
  }
}

ul {
  list-style-type: disc;
}

ol {
  list-style-type: decimal;
}

ul li,
ol li {
  margin-block-start: 0.5rem;
  margin-inline-start: 1.25rem;
}

.no_bullets {
  list-style-type: none;
  margin-inline-start: 0;
}

ul li::marker,
ol li::marker {
  color: inherit;
}

a {
  font-weight: 500;
  text-underline-offset: 0.25rem;
  color: var(--text-default);
  transition: ease 0.25s text-decoration;
}

a:hover,
a:focus {
  color: var(--ocean);
  text-decoration-color: var(--accent-1);
}

details {
  margin-block-start: 1rem;
}

summary {
  cursor: pointer;
  font-weight: 500;
}

strong {
  font-weight: 700;
}

em {
  font-style: italic;
}

hr {
  margin-block: 1.5rem;
  border: 0;
  border-top: 2px solid hsl(250, 6%, 80%);
}
@media (min-width: 782px) {
  hr {
    margin-block: 3rem;
  }
}

.secondary_text {
  color: var(--text-secondary);
}

.has-text-align-center {
  text-align: center;
}

.has-link-color a:not(.wp-element-button) {
  color: var(--accent-1);
}

[type=submit],
button,
.button {
  display: inline-block;
  appearance: none;
  padding: 1em 1.25em;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  border-radius: 5px;
  background-color: var(--ocean);
  color: var(--text-inverted);
  border: 0;
  font-size: 1.125em;
  font-family: var(--body-font);
  cursor: pointer;
}
[type=submit]:hover, [type=submit]:focus,
button:hover,
button:focus,
.button:hover,
.button:focus {
  background-color: var(--sun);
  color: var(--text-default);
}

[type=color],
[type=date],
[type=datetime],
[type=datetime-local],
[type=email],
[type=month],
[type=number],
[type=password],
[type=search],
[type=tel],
[type=text],
[type=time],
[type=url],
[type=week],
input:not([type]),
textarea,
select {
  width: 100%;
  display: block;
  appearance: none;
  padding: calc(1em - 2px) calc(1.25em - 2px);
  font-weight: 700;
  border-radius: 5px;
  background-color: var(--stone);
  border: 2px solid var(--sun);
  color: var(--text-inverted);
  font-size: 1.125em;
  font-family: var(--body-font);
  cursor: pointer;
}
[type=color]:active, [type=color]:focus,
[type=date]:active,
[type=date]:focus,
[type=datetime]:active,
[type=datetime]:focus,
[type=datetime-local]:active,
[type=datetime-local]:focus,
[type=email]:active,
[type=email]:focus,
[type=month]:active,
[type=month]:focus,
[type=number]:active,
[type=number]:focus,
[type=password]:active,
[type=password]:focus,
[type=search]:active,
[type=search]:focus,
[type=tel]:active,
[type=tel]:focus,
[type=text]:active,
[type=text]:focus,
[type=time]:active,
[type=time]:focus,
[type=url]:active,
[type=url]:focus,
[type=week]:active,
[type=week]:focus,
input:not([type]):active,
input:not([type]):focus,
textarea:active,
textarea:focus,
select:active,
select:focus {
  --input-bg: var(--background-elevation-1);
  --input-border: var(--accent-1);
  outline: none;
}

select {
  background-image: url("images/arrow-down.svg");
  background-repeat: no-repeat;
  background-position: 95% 50%;
  padding-right: 2em;
}

.field {
  display: grid;
  gap: 0.25rem;
  margin-block-start: 1.5rem;
}
.field label {
  font-family: var(--body-font);
  font-weight: 600;
  font-size: 1rem;
  line-height: 1;
  display: block;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--text-inverted);
}

.search_form {
  margin-block-start: 1.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
.search_form > label {
  flex-grow: 1;
  flex-basis: 400px;
}

.site {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  padding: 0;
}

.site__header {
  background-color: var(--stone);
  display: flex;
  gap: 1.5rem;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 1.5rem;
}
@media (min-width: 782px) {
  .site__header {
    padding-inline: 10%;
    padding-block: 2rem;
  }
}

.site__main {
  background-color: var(--background-elevation-2);
}

.site__footer {
  background-color: var(--ash);
  display: flex;
  gap: 1.5rem;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 1.5rem;
}
@media (min-width: 782px) {
  .site__footer {
    padding-inline: 10%;
    padding-block: 2rem;
    gap: 10%;
  }
}
.site__footer .footer_navigation {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  list-style-type: none;
  font-size: 0.875rem;
  gap: 0.5rem 1.5rem;
  justify-content: center;
}
.site__footer .menu-item {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1;
  font-family: var(--display-font);
  font-weight: 600;
  text-transform: uppercase;
}
.site__footer .menu-item a {
  color: var(--text-inverted);
  text-decoration: none;
}
.site__footer .menu-item a:hover,
.site__footer .menu-item a:focus {
  color: var(--sun);
}

.logo {
  font-size: 2rem;
  font-weight: 700;
  margin: 0;
}

.main_navigation .menu {
  list-style-type: none;
  display: flex;
  gap: 0.5rem 2rem;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  margin: 0;
}
@media (max-width: 781px) {
  .main_navigation .menu {
    display: none;
  }
}
.main_navigation .menu-item {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1;
  font-family: var(--display-font);
  font-weight: 600;
  text-transform: uppercase;
}
.main_navigation .menu-item a {
  color: var(--text-inverted);
  text-decoration: none;
}
.main_navigation .menu-item a:hover,
.main_navigation .menu-item a:focus {
  text-decoration: none;
  color: var(--sun);
}
.main_navigation .current-menu-item a,
.main_navigation .current-page-ancestor a {
  color: var(--sun);
}
.main_navigation .menu-item-has-children {
  position: relative;
  align-items: center;
}
.main_navigation .menu-item-has-children > a {
  position: relative;
  padding: 0.5rem;
  padding-inline-end: 2rem;
  display: block;
}
.main_navigation .menu-item-has-children > a:after {
  position: absolute;
  right: 0.75rem;
  top: 0.5rem;
  content: "";
  width: 8px;
  height: 8px;
  border-right: 2px solid var(--text-inverted);
  border-bottom: 2px solid var(--text-inverted);
  transform: rotate(45deg);
}
.main_navigation .menu-item-has-children > a:hover, .main_navigation .menu-item-has-children > a:focus, .main_navigation .menu-item-has-children:hover {
  background-color: var(--ash);
}
.main_navigation .menu-item-has-children > a:hover + .sub-menu, .main_navigation .menu-item-has-children > a:focus + .sub-menu, .main_navigation .menu-item-has-children:hover .sub-menu, .main_navigation .menu-item-has-children .sub-menu:hover {
  display: block;
}
.main_navigation .sub-menu {
  list-style-type: none;
  width: 180px;
  display: none;
  position: absolute;
  left: 0;
  background-color: var(--ash);
  padding: 0.5rem;
  margin: 0;
  z-index: 999999;
}
.main_navigation .sub-menu li {
  margin-block-start: 0.5rem;
}

.main_navigation__open {
  position: relative;
  overflow: hidden;
  width: 3rem;
  height: 3rem;
  padding: 0;
  background-color: transparent;
  border: 0;
  text-indent: -9999px;
}
.main_navigation__open span {
  display: block;
  position: absolute;
  height: 2px;
  width: 60%;
  background-color: var(--sun);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.main_navigation__open span:before {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  background-color: var(--sun);
  top: -0.5rem;
  left: 0;
}
.main_navigation__open span:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 60%;
  background-color: var(--sun);
  top: 0.5rem;
  left: 0;
}
.main_navigation__open:hover, .main_navigation__open:focus {
  background: none;
  background-color: var(--ash) !important;
  border-radius: 5px;
}
@media (min-width: 782px) {
  .main_navigation__open {
    display: none;
  }
}

.mobile_nav {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 3rem;
  gap: 1rem;
  justify-content: space-between;
  position: fixed;
  z-index: 99999;
  top: 0;
  background-color: var(--stone);
  width: 100%;
  max-width: 100%;
  height: 100%;
  left: -100%;
  transition: ease 0.5s left;
  padding: 1.5rem;
  overflow: auto;
}
.mobile_nav .menu {
  list-style-type: none;
  margin: 0;
}
.mobile_nav .menu-item {
  margin: 0;
  font-size: 1.5rem;
  line-height: 1;
  font-family: var(--display-font);
  font-weight: 600;
  text-transform: uppercase;
  margin-block-start: 1rem;
  padding-block-start: 1rem;
  border-top: 2px solid var(--ash);
}
.mobile_nav .menu-item:first-child {
  margin-block-start: 0;
  padding-block-start: 0;
  border-top: 0;
}
.mobile_nav .menu-item a {
  display: inline-block;
  position: relative;
  color: var(--text-inverted);
  text-decoration: none;
}
.mobile_nav .menu-item a:focus, .mobile_nav .menu-item a:hover {
  text-decoration: none;
  color: var(--sun);
}
.mobile_nav .menu-item a:focus:before, .mobile_nav .menu-item a:hover:before {
  width: 100%;
}
.mobile_nav .current-menu-item > a,
.mobile_nav .current-page-ancestor > a {
  color: var(--sun);
}
.mobile_nav .sub-menu {
  list-style-type: none;
  margin: 0;
  margin-block-start: 1rem;
}
.mobile_nav .sub-menu .menu-item {
  font-size: 1.25rem;
  padding-block-start: 0;
  border-top: 0;
}

.mobile_nav.active {
  left: 0;
}
@media (min-width: 782px) {
  .mobile_nav.active {
    left: -100%;
  }
}

.mobile_nav__close {
  position: relative;
  overflow: hidden;
  width: 3rem;
  height: 3rem;
  top: 0.4rem;
  padding: 0;
  background-color: transparent;
  border: 0;
  text-indent: -9999px;
  flex-shrink: 0;
  border-radius: 5px;
}
.mobile_nav__close span {
  display: block;
  position: absolute;
  height: 2px;
  width: 60%;
  background-color: transparent;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.mobile_nav__close span:before,
.mobile_nav__close span:after {
  content: "";
  position: absolute;
  height: 2px;
  width: 100%;
  background-color: var(--sun);
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.mobile_nav__close span:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.mobile_nav__close:hover, .mobile_nav__close:focus {
  background: none;
  background-color: var(--ash);
}
.mobile_nav__close:hover span:before,
.mobile_nav__close:hover span:after, .mobile_nav__close:focus span:before,
.mobile_nav__close:focus span:after {
  background-color: var(--white);
}

.blog_index {
  max-width: 720px;
  margin-inline: auto;
  padding: 1.5rem;
}
@media (min-width: 501px) {
  .blog_index {
    padding-block: 3rem;
  }
}
@media (min-width: 782px) {
  .blog_index {
    padding-inline: 10%;
    padding-block: 6rem;
    max-width: 100%;
  }
}

.blog_index__grid {
  margin-block-start: 1.5rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}
@media (min-width: 782px) {
  .blog_index__grid {
    margin-block-start: 2rem;
    gap: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1025px) {
  .blog_index__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.page_template {
  position: relative;
  width: 100%;
  margin-inline: auto;
  padding: 1.5rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.5rem;
}
@media (min-width: 782px) {
  .page_template {
    padding-block: 2rem;
    max-width: 800px;
    gap: 2rem;
  }
}
@media (min-width: 1025px) {
  .page_template {
    padding-block: 4rem;
    max-width: 1064px;
    gap: 4rem;
  }
}
.page_template figure {
  flex: 300px 1 1;
}

.page_template__main {
  flex: 640px 0 1;
}

.page_template--post-alternative-a .wp-block-columns.is-layout-flex {
  gap: 1.5rem;
}
@media (min-width: 782px) {
  .page_template--post-alternative-a .wp-block-columns.is-layout-flex {
    gap: 2rem;
  }
}
@media (min-width: 1025px) {
  .page_template--post-alternative-a .wp-block-columns.is-layout-flex {
    gap: 4rem;
  }
}

.full_width_page > .wp-block-group > .wp-block-group__inner-container {
  max-width: 720px;
  margin-inline: auto;
  padding: 1.5rem;
}
@media (min-width: 501px) {
  .full_width_page > .wp-block-group > .wp-block-group__inner-container {
    padding-block: 3rem;
  }
}
@media (min-width: 782px) {
  .full_width_page > .wp-block-group > .wp-block-group__inner-container {
    padding-inline: 10%;
    padding-block: 6rem;
    max-width: 100%;
  }
}
.full_width_page .wp-block-columns.is-layout-flex {
  gap: 1.5rem;
}
@media (min-width: 782px) {
  .full_width_page .wp-block-columns.is-layout-flex {
    gap: 2rem;
  }
}
@media (min-width: 1025px) {
  .full_width_page .wp-block-columns.is-layout-flex {
    gap: 4rem;
  }
}

.single_template {
  position: relative;
  max-width: 720px;
  width: 100%;
  margin-inline: auto;
  padding: var(--responsive-l-gap);
}

.single_template__header .entry_meta {
  list-style-type: none;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-inline: 0;
}
.single_template__header .entry_meta li {
  margin: 0;
}

.member_show {
  max-width: 720px;
  margin-inline: auto;
  padding: 1.5rem;
}
@media (min-width: 501px) {
  .member_show {
    padding-block: 3rem;
  }
}
@media (min-width: 782px) {
  .member_show {
    padding-inline: 10%;
    padding-block: 6rem;
    max-width: 100%;
  }
}

.member_show__logo {
  display: flex;
  justify-content: center;
}
.member_show__logo img {
  margin: auto;
}

.member_show__content {
  margin-block-start: 1.5rem;
}
@media (min-width: 782px) {
  .member_show__content {
    margin-block-start: 3rem;
  }
}

.member_show__post_grid {
  margin-block-start: 1.5rem;
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 1.5rem;
}
@media (min-width: 782px) {
  .member_show__post_grid {
    margin-block-start: 2rem;
    gap: 2rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 1025px) {
  .member_show__post_grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.error_404 {
  background-color: var(--stone);
  padding: 1.5rem;
}
@media (min-width: 782px) {
  .error_404 {
    padding: 10%;
  }
}

.error_404__message {
  max-width: 600px;
  margin-inline: auto;
  color: var(--text-inverted);
}
.error_404__message h1 {
  color: var(--sun);
}
.error_404__message h1 strong {
  color: var(--text-inverted);
  display: block;
  font-size: 4rem;
}
.error_404__message a {
  color: inherit;
}

.entry_meta {
  list-style-type: none;
  margin: 0;
  margin-block-start: 1rem;
}
.entry_meta li {
  margin: 0;
  font-weight: 600;
}
.entry_meta a {
  font-weight: 600;
  text-decoration: none;
}

.post-categories {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  list-style-type: none;
  margin: 0;
  margin-block-start: 1rem;
}
.post-categories li {
  margin: 0;
  font-size: 0.75rem;
}
.post-categories a {
  display: block;
  padding: 0.5em 0.75em;
  font-weight: 600;
  background-color: var(--sun);
  text-decoration: none;
  border-radius: 5px;
}
.post-categories a:hover,
.post-categories a:focus {
  background-color: var(--stone);
  color: var(--sun);
}

.post_summary {
  background-color: var(--background-elevation-1);
  border-radius: 10px;
  overflow: clip;
}

.post_summary__image {
  display: block;
  aspect-ratio: 16/9;
  width: 100%;
  background-color: var(--stone);
  background-image: url("images/logo-reversed.svg");
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  position: relative;
}
.post_summary__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1) 8s all;
}
.post_summary__image:hover img, .post_summary__image:focus img {
  transform: scale(1.2);
}

.post_summary__text {
  padding: 1.5rem;
}
.post_summary__text .entry_meta {
  font-size: 0.875rem;
}
.post_summary__text h1, .post_summary__text h2, .post_summary__text h3, .post_summary__text h4, .post_summary__text h5 {
  margin-block-start: 0.5rem;
  font-size: 1.25rem;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: 0;
}
.post_summary__text h1 a, .post_summary__text h2 a, .post_summary__text h3 a, .post_summary__text h4 a, .post_summary__text h5 a {
  font-weight: 600;
  text-decoration: none;
  color: var(--ocean);
}
.post_summary__text p {
  margin-block-start: 0.5rem;
  font-size: 1rem;
}
.post_summary__text .post-categories {
  margin-block-start: 0.5rem;
}

.university_summary {
  background-color: var(--ocean);
  border-radius: 10px;
  overflow: clip;
}

.university_summary__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 16/9;
  width: 100%;
  background-color: var(--white);
  overflow: hidden;
  position: relative;
  padding: 1.5rem;
}
.university_summary__logo img {
  flex-grow: 0;
  flex-shrink: 1;
  max-width: 90%;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1) 8s all;
}
.university_summary__logo:hover img, .university_summary__logo:focus img {
  transform: scale(1.1);
}

.university_summary__text {
  padding: 1.5rem;
  text-align: center;
}
.university_summary__text h1, .university_summary__text h2, .university_summary__text h3, .university_summary__text h4, .university_summary__text h5 {
  margin-block-start: 0.5rem;
  font-size: 1.75rem;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: 0;
}
.university_summary__text h1 a, .university_summary__text h2 a, .university_summary__text h3 a, .university_summary__text h4 a, .university_summary__text h5 a {
  font-weight: 600;
  text-decoration: none;
  color: var(--sun);
}
.university_summary__text p {
  margin-block-start: 0.5rem;
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-inverted);
  text-transform: uppercase;
}

.course_summary {
  background-color: var(--background-elevation-1);
  border-radius: 10px;
  overflow: clip;
}

.course_summary__logo {
  display: flex;
  justify-content: center;
  align-items: center;
  aspect-ratio: 16/9;
  width: 100%;
  background-color: var(--white);
  overflow: hidden;
  position: relative;
  padding: 1.5rem;
}
.course_summary__logo img {
  flex-grow: 0;
  flex-shrink: 1;
  max-width: 90%;
  transition: cubic-bezier(0.075, 0.82, 0.165, 1) 8s all;
}

.course_summary__image {
  display: block;
  aspect-ratio: 16/9;
  width: 100%;
  background-color: var(--stone);
  background-image: url("images/logo-reversed.svg");
  background-repeat: no-repeat;
  background-position: center;
  overflow: hidden;
  position: relative;
}
.course_summary__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.course_summary__text {
  padding: 1.5rem;
}
.course_summary__text h1, .course_summary__text h2, .course_summary__text h3, .course_summary__text h4, .course_summary__text h5 {
  margin-block-start: 0.5rem;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
  text-transform: none;
  letter-spacing: 0;
}
.course_summary__text ul {
  list-style-type: none;
  margin-block-start: 0.5rem;
  margin-inline: 0;
  font-size: 1rem;
}
.course_summary__text li {
  font-weight: 500;
  margin-inline: 0;
}
.course_summary__text p {
  font-size: 0.875rem;
  margin-block-start: 0.5rem;
}
.course_summary__text .course_list {
  margin-block-start: 1rem;
}
.course_summary__text .course_list h4 {
  font-size: 1.125rem;
  font-weight: 500;
}
.course_summary__text .course_list li {
  padding-block-start: 1.5rem;
  margin-block-start: 1.5rem;
  border-top: 1px solid var(--ocean);
}
.course_summary__text .course_list li:first-child {
  padding-block-start: 0;
  margin-block-start: 0;
  border-top: 0;
}
.course_summary__text .tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  margin-block-start: 1rem;
}
.course_summary__text .tags li {
  font-size: 0.75rem;
  padding: 0.25em 0.5em;
  background-color: var(--background-elevation-2);
  border-radius: 5px;
  margin: 0;
}

.post_filter {
  background-color: var(--stone);
  color: var(--text-inverted);
  border-radius: 10px;
  padding: 1.5rem;
}

.pagination {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-block-start: 1.5rem;
}
.pagination .page-numbers {
  text-decoration: none;
  display: block;
  padding: 0.5em 1em;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  border-radius: 5px;
  background-color: var(--white);
  color: var(--text-default);
  border: 0;
  font-size: 1em;
  font-family: var(--body-font);
  cursor: pointer;
}
.pagination a.page-numbers {
  background-color: var(--ocean);
  color: var(--text-inverted);
}
.pagination a.page-numbers:hover, .pagination a.page-numbers:focus {
  background-color: var(--sun);
  color: var(--text-default);
}

.sub_nav {
  background-color: var(--ocean);
  position: sticky;
  top: 0;
  z-index: 99999;
  padding: 0.5rem;
  color: var(--text-inverted);
}
.sub_nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1rem;
  list-style-type: none;
  margin: 0;
}
.sub_nav li {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1;
  text-transform: uppercase;
}
.sub_nav li a {
  display: block;
  font-weight: 600;
  padding: 0.5rem 0.5rem;
  border-radius: 5px;
  color: var(--text-inverted);
  text-decoration: none;
}
.sub_nav li a:hover, .sub_nav li a:focus {
  background-color: var(--sun);
  color: var(--text-default);
}
.sub_nav .back a .wp-block-navigation-item__label {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.25rem;
}
.sub_nav .back a .wp-block-navigation-item__label:before {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 2px solid var(--text-inverted);
  border-bottom: 2px solid var(--text-inverted);
  transform: rotate(45deg);
}
.sub_nav .back a:hover .wp-block-navigation-item__label:before,
.sub_nav .back a:focus .wp-block-navigation-item__label:before {
  border-color: var(--text-default);
}

.iuca_card {
  border-radius: 10px;
  overflow: clip;
  display: flex;
  flex-direction: column;
}

.iuca_card__image {
  aspect-ratio: 16/9;
  background-color: var(--stone);
  background-size: cover;
  background-position: center;
}

.iuca_card__content {
  padding: 1.5rem;
  background-color: var(--background-elevation-1);
  flex-grow: 1;
}

.wp-block-columns {
  margin-block-start: var(--gap);
}
.wp-block-columns:first-child {
  margin-block: 0;
}

.v-center {
  align-items: center !important;
}

.wp-block-table {
  margin-block-start: 1.5rem;
}
.wp-block-table th {
  text-align: left;
}

.wp-block-navigation {
  background-color: var(--ocean);
  position: sticky;
  top: 0;
  z-index: 99999;
  padding: 0.5rem;
  color: var(--text-inverted);
}
.wp-block-navigation li {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1;
  text-transform: uppercase;
}
.wp-block-navigation li a {
  font-weight: 600;
  padding: 0.5rem 0.5rem !important;
  border-radius: 5px;
  color: var(--text-inverted);
}
.wp-block-navigation li a:hover, .wp-block-navigation li a:focus {
  background-color: var(--sun);
  color: var(--text-default) !important;
}
.wp-block-navigation .back a .wp-block-navigation-item__label {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.25rem;
}
.wp-block-navigation .back a .wp-block-navigation-item__label:before {
  content: "";
  width: 8px;
  height: 8px;
  border-left: 2px solid var(--text-inverted);
  border-bottom: 2px solid var(--text-inverted);
  transform: rotate(45deg);
}
.wp-block-navigation .back a:hover .wp-block-navigation-item__label:before,
.wp-block-navigation .back a:focus .wp-block-navigation-item__label:before {
  border-color: var(--text-default);
}

.wp-block-buttons {
  margin-block-start: var(--gap);
  display: flex;
}
.wp-block-buttons:first-child {
  margin-block-start: 0;
}

.wp-block-button__link {
  display: block;
  padding: 1em 1.25em;
  text-transform: uppercase;
  letter-spacing: 1px;
  font-weight: 700;
  border-radius: 5px;
  background-color: var(--ocean);
}
.wp-block-button__link:focus, .wp-block-button__link:hover {
  background-color: var(--sun);
  color: var(--text-default);
}

.wp-block-button:where(.is-style-outline) .wp-block-button__link {
  padding: calc(1em - 2px) calc(1.25em - 2px);
}
.wp-block-button:where(.is-style-outline) .wp-block-button__link:focus, .wp-block-button:where(.is-style-outline) .wp-block-button__link:hover {
  background-color: var(--sun);
  color: var(--text-default);
  border-color: var(--sun);
}

.wp-block-group.is-layout-grid {
  margin-block-start: 1.5rem;
  gap: 1.5rem;
}

.wp-block-social-links {
  margin-block-start: var(--gap);
}

.wp-block-quote {
  border-block: 1px solid var(--coral);
  margin-block: 1.5rem;
  padding-block: 1.5rem;
}
.wp-block-quote p {
  color: var(--ocean);
  font-size: 1.25rem;
}
@media (min-width: 782px) {
  .wp-block-quote p {
    font-size: 1.5rem;
  }
}
@media (min-width: 1025px) {
  .wp-block-quote p {
    font-size: 2rem;
  }
}
.wp-block-quote cite {
  font-weight: 600;
  margin-block-start: 0.75rem;
}

.wp-block-pullquote {
  margin-block-start: 1.5rem;
  background-color: var(--white);
  border-radius: 10px;
  padding: 3rem 1.5rem;
}
.wp-block-pullquote p {
  font-size: 1.25rem;
  color: var(--ocean);
}
.wp-block-pullquote cite {
  font-size: 1rem;
  font-weight: 600;
}

.wp-block-details {
  margin-block-start: 1.5rem;
  border: 2px solid var(--background-elevation-1);
  border: 2px solid var(--ocean);
  background-color: var(--background-elevation-1);
  border-radius: 10px;
}
.wp-block-details summary {
  position: relative;
  display: block;
  font-family: var(--display-font);
  font-size: 1.5rem;
  font-weight: 700;
  text-wrap: pretty;
  text-transform: uppercase;
  background-color: var(--ocean);
  color: var(--text-inverted);
  padding: 0.5rem 0.75rem;
  border-radius: 6px;
}
.wp-block-details summary:before,
.wp-block-details summary:after {
  content: "";
  position: absolute;
  width: 1rem;
  height: 0.25rem;
  background-color: var(--sun);
  top: 50%;
  transform: translateY(-50%);
  right: 0.75rem;
  transition: ease 0.25s all;
}
.wp-block-details summary:after {
  width: 0.25rem;
  height: 1rem;
  right: 1.125rem;
}
.wp-block-details > * {
  padding-inline: 0.75rem;
}
.wp-block-details summary + * {
  margin-block-start: 0.75rem;
}
.wp-block-details :last-child {
  padding-block-end: 0.75rem;
}

.wp-block-details[open] summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.wp-block-details[open] summary:before,
.wp-block-details[open] summary:after {
  transform: translateY(-50%) rotate(45deg);
}

.wp-block-embed {
  margin-block-start: var(--gap);
}

.wp-block-embed.is-type-video .wp-block-embed__wrapper {
  overflow: hidden;
  border-radius: var(--small-radius);
  position: relative;
  padding-block-start: 56.25%;
  width: 100%;
}
.wp-block-embed.is-type-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wp-block-embed.is-type-video .wp-element-caption {
  position: relative;
  margin-block-start: 0.25rem;
  padding-inline-start: 1rem;
  font-size: 0.75rem;
  font-weight: 500;
}

.wp-block-embed.is-type-video.wp-embed-aspect-16-9 .wp-block-embed__wrapper {
  padding-block-start: 56.25%;
}

.wp-block-embed.is-type-video.wp-embed-aspect-4-3 .wp-block-embed__wrapper {
  padding-block-start: 75%;
}

.wp-block-image {
  margin-block-start: var(--gap);
}
.wp-block-image .wp-element-caption {
  position: relative;
  margin-block-start: 0.5rem;
  font-size: 0.875rem;
  font-weight: 600;
}

.wp-block-image.is-style-rounded img {
  border-radius: 10px;
}

.wp-block-gallery {
  margin-block-start: 1.5rem;
}

.wp-block-cover {
  position: relative;
  overflow: hidden;
  padding: 1.5rem;
}
@media (min-width: 501px) {
  .wp-block-cover {
    padding-inline: 5%;
    padding-block: 3rem;
  }
}
@media (min-width: 782px) {
  .wp-block-cover {
    padding-inline: 10%;
    padding-block: 6rem;
  }
}
.wp-block-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wp-block-cover .wp-block-cover__background {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.wp-block-cover .wp-block-cover__inner-container {
  margin: 0;
  max-width: 960px;
}
.wp-block-cover .has-background-dim {
  opacity: 0.5;
}
.wp-block-cover .has-background-dim-10 {
  opacity: 0.1;
}
.wp-block-cover .has-background-dim-20 {
  opacity: 0.2;
}
.wp-block-cover .has-background-dim-30 {
  opacity: 0.3;
}
.wp-block-cover .has-background-dim-40 {
  opacity: 0.4;
}
.wp-block-cover .has-background-dim-50 {
  opacity: 0.5;
}
.wp-block-cover .has-background-dim-60 {
  opacity: 0.6;
}
.wp-block-cover .has-background-dim-70 {
  opacity: 0.7;
}
.wp-block-cover .has-background-dim-80 {
  opacity: 0.8;
}
.wp-block-cover .has-background-dim-90 {
  opacity: 0.9;
}

.wp-block-cover.is-position-center-left {
  justify-content: flex-start;
}
.wp-block-cover.is-position-center-left .wp-block-cover__inner-container {
  max-width: 600px;
}
@media (max-width: 919px) {
  .wp-block-cover.is-position-center-left .wp-block-cover__background {
    background: none !important;
    opacity: 0.9 !important;
    background-color: var(--black) !important;
  }
}

.wp-block-cover.is-position-center-right {
  justify-content: flex-end;
}
.wp-block-cover.is-position-center-right .wp-block-cover__inner-container {
  max-width: 600px;
}
@media (max-width: 919px) {
  .wp-block-cover.is-position-center-right .wp-block-cover__background {
    background: none !important;
    opacity: 0.9 !important;
    background-color: var(--black) !important;
  }
}

.wp-block-accordion {
  margin-block-start: 1.5rem;
}

.wp-block-accordion-heading__toggle,
.wp-block-accordion-heading__toggle:focus,
.wp-block-accordion-heading__toggle:hover {
  text-decoration: none;
  padding: 0;
}
.wp-block-accordion-heading__toggle .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle:focus .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title {
  text-decoration: none;
}

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