/**
   * Event Registration – event location template only.
   * Typography matches openhouse (Source Sans Pro body, Roboto Slab headings).
   * Fonts loaded via event-registration-fonts on this template only.
   */
  
  .event-location {
	  margin: 0;
	  padding: 0;
	  color: #222;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 400;
	  line-height: 23.5px;
  }
  
  body.event-location {
	  margin: 0;
	  padding: 0;
	  background-color: #fff;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-weight: 400;
	  font-size: 16px;
	  line-height: 23.5px;
	  color: #222;
  }
  
  .event-location button,
  .event-location input,
  .event-location select,
  .event-location textarea {
	  font: inherit;
  }
  
  html:has(.event-location) {
	  scroll-behavior: smooth;
  }
  
  .event-location *,
  .event-location *::before,
  .event-location *::after {
	  box-sizing: border-box;
  }
  
  .event-location p {
	  margin-top: 0;
  }
  
  .event-location p:last-child {
	  margin-bottom: 0;
  }
  
  .event-location .site-content img:not(.hero-banner-image),
  .event-location .custom-section img,
  .event-location .hero-form-wrapper img {
	  max-width: 100%;
	  vertical-align: top;
	  height: auto;
  }
  
  .event-location ol,
  .event-location ul {
	  margin: 0;
	  padding: 0;
	  list-style: none;
  }
  
  .event-location a {
	  text-decoration: underline;
  }
  
  .event-location a:hover {
	  text-decoration: none;
  }
  
  .event-location .bg-grey,
  .event-location .grey-bg {
	  background-color: #f4f4f4;
  }
  
  .event-location .bg-red {
	  background-color: #b01c2e;
  }
  
  .event-location .bg-red * h2 {
	  color: #fff;
  }
  
  .event-location .custom-section {
	  padding: 100px 0;
	  scroll-margin-top: 100px;
  }
  
  .event-location .container {
	  max-width: 1170px;
	  margin: 0 auto;
	  padding-left: 20px;
	  padding-right: 20px;
  }
  
  .event-location .heading-section {
	  margin-bottom: 40px;
  }
  
  .event-location .heading-section h2 {
	  margin-bottom: 24px;
  }
  
  .event-location .heading-section p {
	  margin-bottom: 0;
  }
  
  .event-location .tac {
	  text-align: center;
  }
  
  .event-location .cta {
	  background: #c00;
	  border: 1px solid #c00;
	  padding: 16px 20px;
	  text-decoration: none;
	  color: #fff;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-style: normal;
	  font-weight: 700;
	  line-height: 16px;
	  text-transform: uppercase;
	  display: inline-block;
	  text-align: center;
	  transition: all 0.3s ease;
	  cursor: pointer;
	  width: auto;
	  border-radius: 0;
  }
  
  .event-location .cta:hover {
	  text-decoration: none;
	  background: #f90;
	  border: 1px solid #f90;
	  color: #222;
  }
  
  .event-location .cta.cta-white {
	  background: #fff;
	  border: 1px solid #c00;
	  color: #c00;
  }
  
  .event-location .cta.w-full,
  .event-location button.cta.w-full {
	  display: block;
	  width: 100%;
  }
  
  .event-location .w-full {
	  width: 100% !important;
  }
  
  .event-location h1,
  .event-location h2,
  .event-location h3,
  .event-location h4,
  .event-location h5,
  .event-location h6 {
	  font-family: 'Roboto Slab', roboto-slab, serif;
	  font-weight: 400;
	  color: #222;
  }
  
  .event-location h1 {
	  font-size: 70px;
	  line-height: 77px;
	  font-weight: 400;
	  letter-spacing: 0;
	  padding: 0;
	  margin: 0;
  }
  
  .event-location h2 {
	  font-size: 48px;
	  font-style: normal;
	  font-weight: 400;
	  line-height: 57px;
	  color: #222;
	  margin-top: 0;
	  margin-bottom: 40px;
	  padding-bottom: 0;
  }
  
  .event-location h3 {
	  font-size: 26px;
	  font-style: normal;
	  font-weight: 400;
	  line-height: 29.8px;
	  margin: 0;
	  font-family: 'Roboto Slab', roboto-slab, serif;
  }
  
  @media (max-width: 1024px) {
	  .event-location h1 {
		  font-size: 36px;
		  line-height: 40px;
	  }
  
	  .event-location h2 {
		  font-size: 30px;
		  line-height: 36px;
		  margin-bottom: 40px;
	  }
  
	  .event-location h3 {
		  font-size: 24px;
		  line-height: 28px;
	  }
  
	  .event-location .custom-section {
		  padding: 50px 0;
	  }
  }
  
  @media (min-width: 768px) {
  .event-location .body-sticky-cta {
	  display: none;
  }
  }
  @media (max-width: 767px) {
  body.event-location {
	  padding-bottom: 90px;
  }
  }
  
  body.event-location .skip-link {
	  position: absolute;
	  left: 0.75rem;
	  top: -100%;
	  z-index: 100;
	  padding: 0.5rem 0.75rem;
	  background: #111;
	  color: #fff;
  }
  
  body.event-location .skip-link:focus {
	  top: 0.75rem;
  }
  
  body.event-location .screen-reader-text {
	  clip: rect(1px, 1px, 1px, 1px);
	  clip-path: inset(50%);
	  height: 1px;
	  margin: -1px;
	  overflow: hidden;
	  padding: 0;
	  position: absolute;
	  width: 1px;
	  word-wrap: normal !important;
  }
  
  /* Header — logo sizes match homepage / openhouse (37px desktop, 51px mobile) */
  body.event-location header.site-header {
	  background: #fff;
	  padding: 36px 0;
  }
  
  body.event-location .header-logo a {
	  display: inline-block;
	  line-height: 0;
	  text-decoration: none;
  }
  
  body.event-location .site-header .header-logo img.desktop-logo,
  body.event-location .site-header .header-logo img.mobile-logo {
	  height: 37px;
	  width: auto;
	  max-width: none;
	  min-width: 0;
	  flex-shrink: 0;
	  object-fit: contain;
	  vertical-align: top;
  }
  
  @media (min-width: 1025px) {
	  body.event-location .site-header .header-logo img.mobile-logo,
	  body.event-location .site-header .header-logo a:has(> img.mobile-logo) {
		  display: none !important;
	  }
  
	  body.event-location .site-header .header-logo img.desktop-logo {
		  display: block;
	  }
  }
  
  @media (max-width: 1024px) {
	  body.event-location header.site-header {
		  padding: 26px 0;
	  }
  
	  body.event-location .site-header .header-logo img.desktop-logo,
	  body.event-location .site-header .header-logo a:has(> img.desktop-logo) {
		  display: none !important;
	  }
  
	  body.event-location .site-header .header-logo img.mobile-logo {
		  display: block;
		  height: 51px;
	  }
  }
  
  body.event-location .site-content {
	  margin: 0;
	  padding: 0;
	  max-width: none;
  }
  
  body.event-location .site-content:focus {
	  outline: none;
  }
  
  body.event-location .site-content:focus-visible {
	  outline: 2px solid #111;
	  outline-offset: 4px;
  }
  
  /* Footer */
  .event-location footer {
	  margin: 0;
	  padding: 0;
	  border: 0;
	  max-width: none;
  }
  
  .event-location .footer {
	  background: #444;
	  display: inline-block;
	  width: 100%;
	  vertical-align: top;
	  padding: 100px 0;
	  color: #fff;
  }
  
  .event-location .footer-socials {
	  display: none !important;
  }
  
  body.event-location .footer-logo img {
	  display: block;
	  width: auto;
	  height: 30px;
	  max-width: 100%;
	  min-width: inherit;
	  flex-shrink: 0;
	  object-fit: contain;
	  vertical-align: top;
  }
  
  .event-location .footer-bottom {
	  padding-top: 30px;
	  display: flex;
	  gap: 36px;
  }
  
  .event-location .footer-copyright {
	  font-size: 16px;
	  line-height: 23.5px;
	  color: #fff;
	  font-weight: 400;
  }
  
  .event-location .footer-links ul {
	  display: flex;
	  flex-wrap: wrap;
	  gap: 36px;
  }
  
  .event-location .footer-links li a {
	  font-size: 16px;
	  line-height: 23.5px;
	  color: #fff;
	  font-weight: 400;
	  text-decoration: none;
  }
  
  .event-location .footer-links li a:hover {
	  text-decoration: none;
  }
  
  
  
  @media (max-width: 991px) {
	  .event-location .footer {
		  padding: 50px 0;
	  }
  
	  .event-location .footer-bottom {
		  gap: 10px;
		  flex-direction: column;
	  }
  
	  .event-location .footer-links ul {
		  gap: 10px;
		  flex-direction: column;
	  }
  }
  
  @media (max-width: 767px) {
	  body.event-location .footer-logo img {height: 26px;}
	  .event-location .body-sticky-cta {
		  display: block;
		  position: fixed;
		  bottom: 0;
		  left: 0;
		  right: 0;
		  width: 100%;
		  padding: 20px;
		  z-index: 9;
		  background: #fff;
		  box-shadow: 0 -4px 32px 0 rgba(0, 0, 0, 0.25);
		  cursor: pointer;
	  }
  
	  .event-location .body-sticky-cta .cta.cta-blue-fill {
		  width: 100%;
	  }
  
	  body:has(.event-location) {
		  padding-bottom: 90px;
	  }
  }
  
  /* Content blocks — openhouse card grid */
  .event-location .custom-title-section h2 {
	  margin-bottom: 40px;
  }
  
  .event-location .card-item-row {
	  display: grid;
	  gap: 40px 20px;
	  grid-template-columns: repeat(2, 1fr);
  }
  
  .event-location .card-item svg,
  .event-location .card-item .card-inner > img {
	  margin-bottom: 20px;
	  display: block;
  }
  
  .event-location .card-item .card-inner > img {
	  max-width: 64px;
	  height: auto;
  }
  
  .event-location .card-item h3 {
	  margin-bottom: 10px;
  }
  
  .event-location .card-item p {
	  margin: 0;
	  color: #444444;
  }
  
  .event-location .card-item .card-inner > :last-child {
	  margin-bottom: 0;
  }
  
  @media (max-width: 1024px) {
	  .event-location .card-item h3 {
		  font-size: 24px;
		  line-height: 28px;
	  }
  }
  
  @media (max-width: 767px) {
	  .event-location .card-item-row {
		  grid-template-columns: repeat(1, 1fr);
	  }
  }
  
  /* Slider section */
  .event-location .custom-slider-controls {
	  display: none;
  }
  
  @media (max-width: 767px) {
	  .event-location .custom-slider {
		  display: flex;
		  flex-wrap: nowrap;
		  overflow-x: auto;
		  gap: 16px;
		  scroll-snap-type: x mandatory;
		  scrollbar-width: none;
		  -webkit-overflow-scrolling: touch;
	  }
  
	  .event-location .custom-slider::-webkit-scrollbar {
		  display: none;
	  }
  
	  .event-location .slider-inner {
		  position: relative;
	  }
  
	  .event-location .custom-slider .card-item {
		  flex: 0 0 100%;
		  scroll-snap-align: start;
		  height: auto;
	  }
  
	  .event-location .custom-slider-controls {
		  display: flex;
		  align-items: center;
		  justify-content: center;
	  }
  
	  .event-location .custom-slider-controls > button {
		  border: 1px solid #b01c2e;
		  background: #b01c2e;
		  width: 36px;
		  height: 36px;
		  border-radius: 4px;
		  display: flex;
		  justify-content: center;
		  align-items: center;
		  cursor: pointer;
		  position: absolute;
		  top: calc(50% - 34px);
	  }
  
	  .event-location .custom-slider-controls > button:hover {
		  background: #881321;
		  border: 1px solid #881321;
	  }
  
	  .event-location .custom-slider-controls .custom-slider-prev {
		  left: -16px;
	  }
  
	  .event-location .custom-slider-controls .custom-slider-next {
		  right: -16px;
	  }
  
	  .event-location .custom-slider-dots {
		  display: flex;
		  gap: 4px;
		  align-items: center;
		  margin-top: 24px;
	  }
  
	  .event-location .custom-slider-dot {
		  width: 10px;
		  height: 10px;
		  padding: 0;
		  border: 0;
		  border-radius: 50%;
		  background: #e3e6e5;
	  }
  
	  .event-location .custom-slider-dot.active {
		  opacity: 1;
		  background: #b01c2e;
	  }
  
	  .event-location .bg-red .custom-slider-dot {
		  background: #e3e6e5;
	  }
  
	  .event-location .bg-red .custom-slider-dot.active {
		  background: #fff;
	  }
  
	  .event-location .bg-red .custom-slider-controls > button {
		  background: #fff;
		  border: 1px solid #fff;
	  }
  
	  .event-location .bg-red .custom-slider-controls > button:hover {
		  background: #e3e6e5;
		  border: 1px solid #e3e6e5;
	  }
  
	  .event-location .bg-red .custom-slider-controls > button svg,
	  .event-location .bg-red .custom-slider-controls > button svg path {
		  fill: #b01c2e;
	  }
  }
  
  /* Hero section — openhouse layout */
  .event-location .hero-section {
	  position: relative;
	  width: 100%;
	  max-width: 100%;
	  overflow: visible;
  }
  
  .event-location .hero-section .hero-banner-image {
	  position: absolute;
	  width: 100%;
	  max-width: none;
	  height: 100%;
	  object-fit: cover;
	  vertical-align: top;
	  left: 0;
	  right: 0;
	  top: 0;
	  bottom: 0;
	  z-index: 0;
  }
  
  @media (min-width: 992px) {
	  .event-location .hero-section {
		  background-repeat: no-repeat;
		  background-size: cover;
		  background-position: center;
		  overflow: visible;
	  }
  
	  .event-location .hero-banner-media-responsive {
		  display: none;
	  }
  
	  .event-location .hero-section::before {
		  background: linear-gradient(
			  270deg,
			  rgba(0, 0, 0, 0) 51.8%,
			  rgba(0, 0, 0, 0.28) 64.49%,
			  rgba(0, 0, 0, 0.5) 82.69%
		  );
		  content: "";
		  position: absolute;
		  width: 100%;
		  height: 100%;
		  left: 0;
		  right: 0;
		  top: 0;
		  bottom: 0;
		  z-index: 1;
	  }
  
	  .event-location .hero-description .hero-event-info li strong::after {
		  content: ":";
	  }
  }
  
  .event-location .hero-section .container {
	  z-index: 2;
	  padding-top: 50px;
	  padding-bottom: 50px;
  }
  
  .event-location .hero-section-inner {
	  display: flex;
	  flex-wrap: wrap;
	  align-items: center;
  }
  
  .event-location .hero-section-left {
	  width: 40%;
	  padding-right: 30px;
	  align-content: center;
	  display: flex;
	  flex-direction: column;
  }
  
  .event-location .hero-section-left * {
	  color: #fff;
  }
  
  .event-location .hero-section-left-inner {
	  position: relative;
	  z-index: 1;
  }
  
  .event-location .hero-description {
	  display: flex;
	  row-gap: 20px;
	  flex-direction: column;
  }
  
  .event-location .hero-section-right {
	  width: 60%;
	  position: relative;
	  z-index: 2;
  }
  
  .event-location .hero-description ul {
	  display: flex;
	  flex-direction: column;
	  row-gap: 8px;
	  list-style: disc;
	  list-style-position: outside;
	  padding-left: 15px;
  }
  
  .event-location .hero-description .hero-event-info {
	  list-style: none;
	  padding: 0;
	  margin: 0;
	  row-gap: 20px;
  }
  
  .event-location .hero-description .hero-event-info li {
	  display: flex;
	  align-items: center;
	  gap: 11px;
  }
  
  .event-location .hero-description .hero-event-info li span {
	  display: flex;
	  gap: 0 8px;
	  align-items: center;
	  font-size: 20px;
	  line-height: 28px;
  }
  
  .event-location .hero-description .hero-event-info li strong {
	  font-weight: 700;
  }
  
  .event-location .seat-available {
	  background: #c00;
	  width: max-content;
	  padding: 4px 8px;
	  color: #fff;
	  font-size: 16px;
	  font-style: normal;
	  font-weight: 400;
	  line-height: 23.5px;
	  margin-bottom: 20px;
	  border-radius: 4px;
  }
  
  .event-location .hero-section-left h1 {
	  margin-bottom: 20px;
	  color: #fff;
  }
  
  .event-location .hero-short-description p,
  .event-location .hero-description p {
	  margin: 0;
	  font-size: 20px;
	  line-height: 28px;
  }
  
  @media (max-width: 991px) {
	  .event-location .hero-section-inner {
		  flex-direction: column;
		  min-height: inherit;
	  }
  
	  .event-location .hero-section-left {
		  width: 100%;
		  padding: 0;
		  position: relative;
	  }
  
	  .event-location .hero-section-left::before {
		  background: linear-gradient(
			  180deg,
			  rgba(0, 0, 0, 0) 0%,
			  rgba(0, 0, 0, 0.6) 84.83%
		  );
		  content: "";
		  position: absolute;
		  width: 100%;
		  height: 100%;
		  left: 0;
		  right: 0;
		  top: 0;
		  bottom: 0;
		  z-index: 1;
	  }
  
	  .event-location .hero-section-right {
		  width: 100%;
		  position: relative;
	  }
  
	  .event-location .hero-section .container {
		  padding: 0;
	  }
  
	  .event-location .hero-section-left-inner {
		  padding: 50px 20px;
		  word-break: break-word;
		  position: relative;
		  z-index: 1;
	  }
  
	  .event-location .hero-description .hero-event-info li span {
		  display: flex;
		  flex-direction: column;
		  align-items: self-start;
	  }
  
	  .event-location .hero-section > .hero-banner-image {
		  /*position: relative;
		  width: 100%;
		  max-width: 100%;
		  height: auto;
		  vertical-align: top;*/
	  }
  
	  .event-location .hero-section-left h1 {
		  font-size: 36px;
		  line-height: 40px;
	  }
  }
  
  /* Event Registration form — scoped to hero form wrapper */
  .event-location .hero-form-wrapper,
  body.event-location .hero-form-wrapper {
	  width: 100%;
	  padding: 20px;
	  background: #fff;
	  border-radius: 0;
	  /*box-shadow: 0 5px 20px rgba(0, 0, 0, 0.2);*/
	  position: relative;
	  z-index: 2;
  }
  
  @media (max-width: 991px) {
	  .event-location .hero-form-wrapper,
	  body.event-location .hero-form-wrapper {
		  padding: 20px 16px 0px 16px;
	  }
  }
  
  body.event-location .lead-form-title {
	  margin: 0 0 16px;
	  color: #222;
	  font-family: 'Roboto Slab', roboto-slab, serif;
	  font-size: 22px;
	  font-weight: 400;
	  line-height: 28px;
  }
  
  .event-location h2.lead-form-title {
	  margin: 0 0 16px;
	  font-size: 26px;
	  line-height: 29.75px;
	  color: #222;
	  font-weight: 400;
	  font-family: 'Roboto Slab', roboto-slab, serif;
	  margin-bottom: 30px;
  }
  
  body.event-location .lead-form {
	  color: #222;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 400;
	  line-height: 23.5px;
  }
  
  body.event-location .lead-form input,
  body.event-location .lead-form select {
	  width: 100%;
	  height: 42px;
	  padding: 8px;
	  border: 1px solid #e4e4e4;
	  border-radius: 0;
	  background-color: #fff;
	  color: #222;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 500;
	  line-height: 23.5px;
  }
  
  body.event-location .lead-form select {
	  appearance: none;
	  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23CC0000' stroke-width='2'%3E%3Cpath d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
	  background-repeat: no-repeat;
	  background-position: right 15px center;
	  background-size: 15px;
  }
  
  body.event-location .form-row {
	  display: flex;
	  gap: 20px;
	  margin-bottom: 20px;
  }
  
  body.event-location .form-field {
	  width: 50%;
  }
  
  body.event-location .form-row-full .form-field {
	  width: 100%;
  }
  
  body.event-location .lead-form .form-row:has(> .form-field[hidden]) > .form-field:not([hidden]) {
	  width: 100%;
  }
  
  body.event-location .field-label {
	  display: block;
	  margin: 0 10px 8px 0;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 500;
	  line-height: 22.4px;
	  color: #222;
  }
  
  body.event-location .study-level-fieldset {
	  display: contents;
	  margin: 0;
	  padding: 0;
	  border: 0;
	  min-width: 0;
  }
  
  body.event-location .floating-field {
	  position: relative;
	  width: 100%;
  }
  
  body.event-location .floating-label {
	  position: absolute;
	  top: 50%;
	  left: 10px;
	  max-width: calc(100% - 36px);
	  margin: 0;
	  overflow: hidden;
	  color: #222222;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 500;
	  line-height: 23.5px;
	  text-overflow: ellipsis;
	  white-space: nowrap;
	  pointer-events: none;
	  transform: translateY(-50%);
	  transition: color 0.15s ease, font-size 0.15s ease, font-weight 0.15s ease, line-height 0.15s ease, top 0.15s ease, transform 0.15s ease;
  }
  
  body.event-location .lead-form .floating-field input::placeholder,
  body.event-location .lead-form .floating-field input::-webkit-input-placeholder {
	  color: transparent;
  }
  
  body.event-location .lead-form .floating-field input::-moz-placeholder {
	  color: transparent;
	  opacity: 1;
  }
  
  body.event-location .lead-form .floating-field input:-webkit-autofill {
	  animation-name: onAutoFillStart;
  }
  
  body.event-location .floating-field:not(.floating-field--select):focus-within .floating-label,
  body.event-location .floating-field.is-filled .floating-label,
  body.event-location .floating-field:has(input:not(:placeholder-shown)) .floating-label,
  body.event-location .floating-field:has(input:-webkit-autofill) .floating-label {
	  top: 5px;
	  color: #9a9a9a;
	  font-size: 11px;
	  font-weight: 400;
	  line-height: 14px;
	  transform: none;
  }
  
  body.event-location .floating-field:not(.floating-field--select):focus-within input,
  body.event-location .floating-field.is-filled input,
  body.event-location .floating-field:has(input:not(:placeholder-shown)) input,
  body.event-location .floating-field:has(input:-webkit-autofill) input,
  body.event-location .floating-field.is-filled select {
	  padding-top: 16px;
	  padding-right: 32px;
	  padding-bottom: 4px;
  }
  
  body.event-location .floating-field--select:not(.is-filled) .floating-label {
	  opacity: 0;
  }
  
  body.event-location .floating-field--select.is-filled .floating-label {
	  opacity: 1;
  }
  
  body.event-location .consent {
	  /*padding-top: 12px;
	  color: #444;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 12px;
	  line-height: 16.8px;*/
  }
  
  body.event-location .consent script[type="application/json"] {
	  display: none;
  }
  
  body.event-location .consent-body {
	  display: flex;
	  align-items: flex-start;
	  gap: 10px;
  }
  
  body.event-location .consent-copy {
	  flex: 1 1 auto;
	  min-width: 0;
  }
  
  body.event-location .consent p {
	  margin: 0;
  }
  
  body.event-location .consent a {
	  color: #C00;
	  text-decoration: underline;
  }
  
  body.event-location .consent-checkbox-option {
	  cursor: pointer;
	  display: flex;
	  flex: 0 0 auto;
	  position: relative;
	  top:5px;
  }
  
  body.event-location .consent-checkbox-option input {
	  position: absolute;
	  opacity: 0;
	  pointer-events: none;
  }
  
  body.event-location .custom-checkbox {
	  width: 20px;
	  height: 20px;
	  border: 2px solid #76777B;
	  border-radius: 0;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  box-sizing: border-box;
	  flex: 0 0 20px;
  }
  
  body.event-location .consent-checkbox-option input:checked + .custom-checkbox {
	  background: #C00;
	  border-color: #C00;
  }
  
  body.event-location .consent-checkbox-option input:checked + .custom-checkbox::after {
	  content: "";
	  width: 5px;
	  height: 10px;
	  border: solid #fff;
	  border-width: 0 2px 2px 0;
	  transform: rotate(45deg);
	  margin-top: -3px;
  }
  
  body.event-location .consent.error .consent-checkbox-option .custom-checkbox {
	  border-color: #d54308;
  }
  
  body.event-location .submit-btn {
	  margin-top: 20px;
  }
  
  .event-location .hero-form-wrapper .lead-form .submit-btn.cta,
  body.event-location .hero-form-wrapper .submit-btn.cta {
	  display: block;
	  width: auto;
	  margin-top: 30px;
	  background: #c00;
	  border: 1px solid #c00;
	  color: #fff;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-style: normal;
	  font-weight: 700;
	  line-height: 16px;
	  text-transform: uppercase;
	  text-align: center;
	  border-radius: 0;
	  cursor: pointer;
	  padding: 16px 20px;	
  }
  
  .event-location .hero-form-wrapper .lead-form .submit-btn.cta:hover,
  body.event-location .hero-form-wrapper .submit-btn.cta:hover {
	  background: #f90;
	  border-color: #f90;
	  color: #222;
  }
  
  body.event-location .lead-form [hidden] {
	  display: none !important;
  }
  
  body.event-location .validation-error {
	  display: none;
	  align-items: center;
	  gap: 2px;
	  margin-top: 10px;
	  color: #F00;
	  font-family: "Source Sans Pro";
	  font-size: 16px;
	  font-style: normal;
	  font-weight: 400;
	  line-height: 23.5px;
  }
  body.event-location .validation-error svg {
	  display: none;
  }
  
  body.event-location .form-field.error .validation-error,
  body.event-location [data-field].error .validation-error {
	  display: flex;
  }
  
  body.event-location .lead-form input.error,
  body.event-location .lead-form select.error {
	  border: 1px solid #F00;
  }
  
  body.event-location .form-field.error .enquiry-form__phone {
	  border-color: #d54308;
  }
  
  body.event-location .enquiry-form__status {
	  display: none;
	  margin: 12px 0 0;
	  color: #F00;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 12px;
	  font-weight: 400;
	  line-height: 16.8px;
  }
  
  body.event-location .enquiry-form__status.is-error {
	  display: block;
  }
  
  @keyframes onAutoFillStart {
	  from {
		  opacity: 1;
	  }
  
	  to {
		  opacity: 1;
	  }
  }
  
  body.event-location .study-level {
	  display: flex;
	  align-items: center;
	  gap: 8px;
	  color: #222;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 500;
	  line-height: 23.5px;
  }
  
  body.event-location .study-level-field .field-label {
	  margin: 0 10px 0 0;
	  white-space: nowrap;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 700;
	  line-height: 23.5px;
	  color: #222;
  }
  
  body.event-location .study-level-field .form-field {
	  display: flex;
	  flex-wrap: wrap;
	  align-items: center;
  }
  
  body.event-location .study-level-field .validation-error {
	  flex: 1 0 100%;
	  width: 100%;
  }
  
  body.event-location .study-level-field.error .custom-radio {
	  border-color: #F00;
  }
  
  body.event-location .study-option {
	  position: relative;
	  display: flex;
	  align-items: center;
	  gap: 9px;
	  white-space: nowrap;
	  cursor: pointer;
  }
  
  body.event-location .study-option input {
	  position: absolute;
	  opacity: 0;
	  pointer-events: none;
  }
  
  body.event-location .study-option input:focus-visible + .custom-radio {
	  outline: 2px solid #C00;
	  outline-offset: 2px;
  }
  
  body.event-location .custom-radio {
	  box-sizing: border-box;
	  display: inline-flex;
	  align-items: center;
	  justify-content: center;
	  width: 29px;
	  height: 29px;
	  border: 2px solid #76777B;
	  border-radius: 50%;
  }
  
  body.event-location .study-option input:checked + .custom-radio {
	  border-color: #C00;
  }
  
  body.event-location .study-option input:checked + .custom-radio::after {
	  content: "";
	  width: 15px;
	  height: 15px;
	  background: #C00;
	  border-radius: 50%;
  }
  
  body.event-location .enquiry-form__phone {
	  display: flex;
	  align-items: center;
	  gap: 5px;
	  height: 42px;
	  padding: 0 8px;
	  overflow: hidden;
	  background: #fff;
	  border: 1px solid #e4e4e4;
  }
  
  body.event-location .enquiry-form__phone-divider {
	  flex: 0 0 1px;
	  align-self: center;
	  width: 1px;
	  height: 24px;
	  background: #8D9695;
  }
  
  body.event-location .enquiry-form__phone-code {
	  flex: 0 0 auto;
	  color: #222;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 400;
	  line-height: 23.5px;
	  white-space: nowrap;
  }
  
  body.event-location .enquiry-form__phone .floating-field--phone {
	  display: flex;
	  flex: 1 1 0;
	  align-self: stretch;
	  width: auto;
	  min-width: 0;
  }
  
  body.event-location .enquiry-form__phone .floating-field--phone .floating-label {
	  left: 0;
  }
  
  body.event-location .enquiry-form__phone input[type="tel"] {
	  width: 100%;
	  min-width: 0;
	  height: 100%;
	  padding: 0;
	  border: 0;
	  border-radius: 0;
	  background-image: none;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-weight: 400;
	  line-height: 23.5px;
  }
  
  body.event-location .enquiry-form__phone input[type="tel"]:focus,
  body.event-location .enquiry-form__phone input[type="tel"].error {
	  border: 0;
	  outline: none;
  }
  
  body.event-location .form-field[data-field="phone"] {
	  position: relative;
	  z-index: 5;
  }
  
  body.event-location .form-row:has([data-field="phone"]) {
	  position: relative;
	  z-index: 5;
  }
  
  body.event-location .enquiry-form__phone-country {
	  display: flex;
	  flex: 0 0 auto;
	  align-items: center;
	  align-self: stretch;
	  position: relative;
  }
  
  body.event-location .enquiry-form__phone-country-toggle {
	  display: flex;
	  align-items: center;
	  align-self: stretch;
	  gap: 0;
	  min-width: inherit;
	  margin: 0;
	  padding: 0;
	  border: 0;
	  background: none;
	  color: inherit;
	  font: inherit;
	  cursor: pointer;
	  appearance: none;
	  -webkit-appearance: none;
	  touch-action: manipulation;
  }
  
  body.event-location .enquiry-form__phone-country-toggle:focus-visible {
	  outline: 2px solid #00824b;
	  outline-offset: 2px;
  }
  
  body.event-location .enquiry-form__phone-country-arrow {
	  display: block;
	  flex: 0 0 24px;
	  width: 24px;
	  height: 24px;
	  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23CC0000' stroke-width='2'%3E%3Cpath d='M2 5l6 6 6-6'/%3E%3C/svg%3E");
	  transition: transform 0.2s ease;
	  background-size: 15px;
	  background-repeat: no-repeat;
	  background-position: center;
  }
  
  body.event-location .enquiry-form__phone-country.is-open .enquiry-form__phone-country-arrow {
	  transform: rotate(180deg);
  }
  
  body.event-location .enquiry-form__phone-flag {
	  display: block;
	  flex: 0 0 32px;
	  width: 32px;
	  height: 24px;
	  object-fit: contain;
	  background: #f5f5f5;
  }
  
  body.event-location .enquiry-form__country-dropdown {
	  display: flex;
	  flex-direction: column;
	  position: fixed;
	  z-index: 2000;
	  overflow: hidden;
	  max-width: calc(100vw - 16px);
	  background: #fff;
	  border: 1px solid #e5e5e5;
	  border-radius: 4px;
	  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
  }
  
  body.event-location .enquiry-form__country-dropdown.is-open {
	  display: flex !important;
  }
  
  body.event-location .enquiry-form__country-search {
	  flex: 0 0 auto;
	  width: 100%;
	  height: 44px;
	  padding: 8px 12px;
	  border: 0;
	  border-bottom: 1px solid #e5e5e5;
	  border-radius: 4px 4px 0 0;
	  background-image: none;
	  font-size: 16px;
	  line-height: 24px;
  }
  
  body.event-location .lead-form .enquiry-form__country-search {
	  height: 44px;
	  font-size: 16px;
  }
  
  body.event-location .enquiry-form__country-search:focus {
	  outline: none;
  }
  
  body.event-location .enquiry-form__country-list {
	  flex: 1 1 auto;
	  min-height: 0;
	  max-height: 240px;
	  margin: 0;
	  padding: 4px 0;
	  overflow-y: auto;
	  list-style: none;
	  overscroll-behavior: contain;
	  -webkit-overflow-scrolling: touch;
  }
  
  body.event-location .enquiry-form__country-list li {
	  display: flex;
	  align-items: center;
	  gap: 8px;
	  min-height: 44px;
	  padding: 8px 12px;
	  cursor: pointer;
	  touch-action: manipulation;
  }
  
  body.event-location .enquiry-form__country-list li img {
	  display: block;
	  flex: 0 0 24px;
	  width: 24px;
	  height: 18px;
	  object-fit: contain;
	  background: #f5f5f5;
  }
  
  body.event-location .enquiry-form__country-name {
	  flex: 1 1 auto;
	  min-width: 0;
	  overflow: hidden;
	  color: #222;
	  font-size: 14px;
	  font-weight: 500;
	  line-height: 19.6px;
	  text-overflow: ellipsis;
	  white-space: nowrap;
  }
  
  body.event-location .enquiry-form__country-dial {
	  flex: 0 0 auto;
	  color: #747474;
	  font-size: 12px;
	  line-height: 16.8px;
  }
  
  body.event-location .enquiry-form__country-list li.is-active {
	  background: #f5f5f5;
  }
  
  @media (hover: hover) {
	  body.event-location .enquiry-form__country-list li:hover {
		  background: #f5f5f5;
	  }
  }
  
  body.event-location .enquiry-form__country-list li[aria-selected="true"] {
	  background: #eef8f3;
  }
  
  body.event-location .enquiry-form__country-empty {
	  margin: 0;
	  padding: 12px 10px;
	  color: #747474;
	  font-size: 14px;
	  line-height: 19.6px;
  }
  
  body.event-location .enquiry-form__phone .floating-field--phone:focus-within input[type="tel"],
  body.event-location .enquiry-form__phone .floating-field--phone.is-filled input[type="tel"],
  body.event-location .enquiry-form__phone .floating-field--phone:has(input:not(:placeholder-shown)) input[type="tel"],
  body.event-location .enquiry-form__phone .floating-field--phone:has(input:-webkit-autofill) input[type="tel"] {
	  padding-top: 14px;
	  padding-bottom: 0;
  }
  
  @media (max-width: 767px) {
  body.event-location .study-level-fieldset {
	  flex-direction: column;
	  display: flex;
  }
	  body.event-location .form-row {
		  flex-wrap: wrap;
	  }
  
	  body.event-location .form-field {
		  width: 100%;
	  }
  
	  body.event-location .lead-form input,
	  body.event-location .lead-form select {
		  font-size: 14px;
		  line-height: 22.4px;
	  }
  
	  body.event-location .floating-label {
		  font-size: 14px;
		  line-height: 22.4px;
	  }
  
	  body.event-location .floating-field:not(.floating-field--select):focus-within .floating-label,
	  body.event-location .floating-field.is-filled .floating-label,
	  body.event-location .floating-field:has(input:not(:placeholder-shown)) .floating-label,
	  body.event-location .floating-field:has(input:-webkit-autofill) .floating-label {
		  font-size: 10px;
		  line-height: 13px;
	  }
  
	  body.event-location .study-level-field .field-label {
		  margin-bottom: 10px;
	  }
  
	  body.event-location .enquiry-form__phone-code,
	  body.event-location .enquiry-form__phone input[type="tel"] {
		  font-size: 16px;
		  line-height: 23.5px;
	  }
  }
  
  /* Thank-you popup — openhouse modal (openhouse-iit.html + css/style.css lines 413–430) */
  body.event-location .custom-modal {
	  position: fixed;
	  inset: 0;
	  z-index: 9999;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  visibility: hidden;
	  opacity: 0;
	  transition: opacity 0.3s ease;
  }
  
  body.event-location .custom-modal.active {
	  visibility: visible;
	  opacity: 1;
  }
  
  body.event-location .modal-overlay {
	  position: absolute;
	  inset: 0;
	  background: rgba(0, 0, 0, 0.55);
	  backdrop-filter: blur(10px);
  }
  
  body.event-location .modal-content {
	  position: relative;
	  z-index: 2;
	  max-width: 516px;
	  background: #fff;
	  padding: 20px;
	  animation: modalFade 0.3s ease;
	  max-height: calc(100vh - 48px);
	  width: calc(100% - 48px);
	  overflow-y: auto;
	  justify-content: center;
	  display: flex;
	  flex-direction: column;
	  text-align: center;
	  border-radius: 0;
	  margin: 0;
	  color: #222;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-style: normal;
	  font-weight: 400;
	  line-height: 23.5px;
  }
  
  body.event-location .modal-close svg,
  body.event-location .modal-close svg path {
	  fill: #0b0c0c;
	  pointer-events: none;
  }
  
  @keyframes modalFade {
	  from {
		  opacity: 0;
		  transform: translateY(20px);
	  }
  
	  to {
		  opacity: 1;
		  transform: translateY(0);
	  }
  }
  
  body.event-location .thankyou {
	  row-gap: 24px;
  }
  
  body.event-location .thankyou p {
	  margin: 0;
  }
  
  body.event-location .thankyou-title {
	  color: #222;
	  text-align: center;
	  font-family: 'Roboto Slab', serif;
	  font-style: normal;
	  font-weight: 700;
	  font-size: 20px;
	  line-height: 28px;
  }
  
  body.event-location .popuup-icon svg {
	  vertical-align: top;
  }
  
  body.event-location .thankyou .modal-close.cta {
	  margin: 0;
	  appearance: none;
	  -webkit-appearance: none;
	  border-radius: 0;
	  font-family: 'Source Sans Pro', source-sans-pro, sans-serif;
	  font-size: 16px;
	  font-style: normal;
	  font-weight: 700;
	  line-height: 16px;
	  text-transform: uppercase;
  }
  
  body.event-location .thankyou .modal-close.cta.cta-white {
	  background: #fff;
	  border: 1px solid #c00;
	  color: #c00;
  }
  
  body.event-location .thankyou .modal-close.cta.cta-white:hover {
	  background: #f90;
	  border: 1px solid #f90;
	  color: #222;
  }
  
  body.event-location .thankyou .modal-close.cta.w-full {
	  display: block;
	  width: 100%;
  }
  
  body.event-registration-modal-open {
	  overflow: hidden;
  }
  
  @media (max-width: 767px) {
	  body.event-location .popuup-icon svg {
		  width: 60px;
		  height: auto;
	  }
  }