/*
 * Light usability refresh for International ASET.
 * This file intentionally overrides only a small set of legacy styles so the
 * existing branding and page structure remain unchanged.
 */

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

img,
svg,
video,
iframe {
  max-width: 100%;
}

img {
  height: auto;
}

.menu-title {
  margin: 0;
  padding: 1em;
  color: #fff;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  text-transform: uppercase;
}

.page-title {
  margin: 0;
  padding: 0;
  color: #000;
  font-family: "Roboto Condensed", sans-serif;
  font-size: 1.3em;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  text-transform: uppercase;
}

.page-title::before {
  content: "";
  border-left: 15px solid #ab1917;
  padding-right: 1em;
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #ab1917;
  outline-offset: 3px;
}

#slide-menu a,
.menu-trigger,
input[type="submit"],
input[type="reset"] {
  cursor: pointer;
}

.map {
  margin-right: 0;
}

.required-marker {
  color: #ab1917;
}

.map form,
.map table {
  max-width: 100%;
}

.map table {
  width: 100% !important;
}

.map input:not([type]),
.map input[type="email"],
.map input[type="number"],
.map input[type="password"],
.map input[type="tel"],
.map input[type="url"],
.map input[type="text"],
.map textarea {
  width: 100% !important;
  padding: 0.6em;
  border: 1px solid #777;
  border-radius: 2px;
  background: #fff;
}

.map textarea {
  min-height: 4em;
  resize: vertical;
}

input[type="submit"],
input[type="reset"] {
  min-height: 44px;
  border: 0;
  border-radius: 2px;
}

@media only screen and (max-width: 44.99em) {
  .body,
  .events .body,
  .events .body-bold,
  .upcoming-events .body,
  .past-events .body {
    font-size: 0.95rem;
    line-height: 1.65;
    text-align: left;
  }

  .about,
  .o-main,
  .results,
  .partners,
  .map {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  .upcoming-events,
  .past-events {
    margin-right: 1.25rem;
    margin-left: 1.25rem;
  }

  #slide-menu a {
    min-height: 44px;
    padding: 0.9rem 1.1rem;
  }

  .menu-trigger {
    width: 44px;
    height: 44px;
  }

  .flex-caption {
    width: auto;
    max-width: 75%;
    padding: 0.75rem 1rem;
    font-size: 0.85rem;
    line-height: 1.4;
  }

  .map form {
    margin-top: 0;
    padding: 1.5rem 0 0;
  }

  .map input:not([type]),
  .map input[type="email"],
  .map input[type="number"],
  .map input[type="password"],
  .map input[type="tel"],
  .map input[type="url"],
  .map input[type="text"] {
    min-height: 44px;
  }

  .map textarea {
    min-height: 110px;
  }

  .map .mobile > .unit {
    display: flex;
    align-items: center;
  }

  .map .mobile .ie-social {
    flex: 1 1 0;
    width: auto;
    padding-right: 0.75rem;
  }

  .map .label,
  .map .text,
  .map .text2 {
    display: block;
    float: none;
    width: 100%;
    text-align: left;
  }

  .map td {
    display: block;
    width: 100%;
  }

  .copyright {
    padding: 1rem 1.25rem;
  }
}

@media only screen and (min-width: 45em) {
  .page-title {
    font-size: 1.5em;
  }
}
