:root {
  --brighton-brick: #943737;
  --blue: #1372a1;
}

body {
  color: #333;
  font-family: Lato v2, sans-serif;
  font-size: 1.33333vw;
  line-height: 1.25;
}

h1 {
  margin-top: .25em;
  margin-bottom: .25em;
  font-size: 3.33333em;
  font-weight: 700;
  line-height: 1.25;
}

h2 {
  margin-top: .25em;
  margin-bottom: .277778em;
  font-size: 2.77778em;
  font-weight: 700;
  line-height: 1.25;
}

h3 {
  margin-top: .25em;
  margin-bottom: .25em;
  font-size: 2.22222em;
  font-weight: 700;
  line-height: 1.25;
}

h4 {
  margin-top: .25em;
  margin-bottom: .25em;
  font-size: 1.94444em;
  font-weight: 700;
  line-height: 1.25;
}

h5 {
  margin-top: .25em;
  margin-bottom: .25em;
  font-size: 1.66667em;
  font-weight: 700;
  line-height: 1.25;
}

h6 {
  margin-top: .25em;
  margin-bottom: .25em;
  font-size: 1.38889em;
  font-weight: 700;
  line-height: 1.25;
}

p {
  margin-bottom: .625em;
  font-size: 1.11111em;
  line-height: 1.38;
}

a {
  text-decoration: underline;
}

ul {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 1.5em;
}

ol {
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2.22222em;
}

label {
  margin-bottom: .25em;
  font-weight: 700;
  display: block;
}

strong {
  font-weight: bold;
}

blockquote {
  border-left: .3125rem solid #e2e2e2;
  margin-bottom: .625rem;
  padding: .625rem 1.25rem;
  font-size: 1.125em;
}

@media screen and (min-width: 1440px) {
  body {
    font-size: 1.11111vw;
  }

  .director_image {
    max-height: 18em;
  }

  .member_image {
    min-height: 14em;
    max-height: 14em;
  }

  .intro_image {
    object-position: 50% 50%;
    width: 32.4375em;
    height: auto;
  }

  .champion_image {
    max-height: 18em;
  }
}

@media screen and (min-width: 1920px) {
  body {
    font-size: .833333vw;
  }

  .director_image {
    max-height: 23em;
  }

  .member_image {
    min-height: 20em;
    max-height: 20em;
  }

  .intro_content {
    flex: 1;
  }

  .intro_image {
    width: 43.25em;
  }

  .champion_image {
    max-height: 23em;
  }
}

@media screen and (max-width: 991px) {
  body {
    font-size: 1.77778vw;
  }

  .four-col-grid {
    grid-template-columns: 1fr 1fr;
  }

  .four-col-grid.graphics {
    grid-template-columns: auto auto;
  }

  .h2.director {
    width: auto;
  }

  .grid_image.president {
    width: 24em;
  }

  .dropdown_link {
    text-align: center;
    justify-content: center;
    align-items: center;
    width: 100vw;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1.5em;
  }

  .nav-menu_grid {
    z-index: 1;
    flex-flow: column;
    grid-auto-flow: row;
    place-content: center;
    place-items: center;
    width: 100vw;
    max-width: none;
    height: auto;
    position: relative;
  }

  .dropdown_content {
    z-index: 1;
    grid-auto-columns: auto;
    grid-auto-flow: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    display: none;
    position: static;
  }

  .dropdown_content.about {
    width: auto;
  }

  .hamburger {
    object-fit: cover;
    width: 1.66667em;
    height: 1.66667em;
    display: flex;
  }

  .nav_link {
    text-align: center;
    justify-content: center;
    width: 100%;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1.5em;
  }

  .nav_link.button {
    border-radius: 0;
    padding-top: 1em;
    padding-bottom: 1em;
  }

  .nav_link.min-height {
    min-height: 0;
  }

  .hamburger_wrap {
    z-index: 2;
    cursor: pointer;
    width: auto;
    height: auto;
    display: block;
    position: relative;
  }

  .dropdown {
    position: static;
  }

  .nav_menu {
    z-index: 5;
    background-color: #ccc;
    height: auto;
    display: none;
    position: absolute;
    inset: 100% 0% auto;
  }

  .nav_main-wrap {
    flex-direction: row;
    grid-template-columns: auto auto;
    justify-content: space-around;
    padding-bottom: .5em;
  }

  .dropdown_trigger {
    text-align: center;
    justify-content: center;
    width: 100vw;
    height: auto;
    padding-top: 1em;
    padding-bottom: 1em;
    font-size: 1.5em;
    position: static;
  }

  .navigation {
    position: relative;
  }

  .footer-main_grid {
    grid-template-columns: auto;
    grid-auto-flow: row;
    justify-content: center;
    justify-items: center;
  }

  .director_image {
    max-height: 19em;
  }

  .five-col-grid {
    grid-template-columns: 1fr 1fr;
  }

  .five-col-grid.directors {
    flex-wrap: wrap;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .counter {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-bottom: 1em;
    display: flex;
    position: static;
  }

  .member_image {
    min-height: 14em;
    max-height: 14em;
  }

  .sponsor_head-wrap {
    flex-direction: column;
  }

  .events_main-wrap {
    max-width: 40em;
  }

  .event-buttons {
    flex-direction: column;
  }

  .button-event {
    width: 100%;
    padding-left: 3.33333em;
  }

  .intro_image-wrap {
    display: none;
  }

  .directors_main-wrap, .hall-of-famers_wrap, .champions_photo-wrap {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .champion_image {
    max-height: 19em;
  }

  .champions_wrap {
    grid-template-columns: 1fr 1fr 1fr;
  }

  .gerlach_content {
    width: 18em;
  }

  .gerlach_wrap {
    grid-template-columns: 1fr 1fr 1fr;
    justify-content: center;
  }

  .invitational_application {
    background-color: var(--blue);
    color: #fff;
  }
}

@media screen and (max-width: 767px) {
  body {
    font-size: 2.66667vw;
  }

  .two-col-grid, .three-col-grid, .four-col-grid {
    grid-template-columns: 1fr;
  }

  .four-col-grid.graphics {
    grid-template-columns: auto;
  }

  .auto-col-grid {
    grid-auto-flow: row;
  }

  .auto-col-grid.headings {
    grid-template-columns: auto auto auto;
  }

  .cookie-prefs_title {
    font-size: 1.25rem;
  }

  .cookie-banner_wrap {
    flex-direction: column;
    grid-template-columns: 1fr;
    align-items: flex-start;
  }

  .cookie-banner_grid {
    margin-top: .75rem;
  }

  .cookie-banner_link {
    margin-right: .5rem;
  }

  .cookie-banner_button {
    margin-left: 0;
    margin-right: .5rem;
  }

  .h1.application {
    max-width: 13em;
  }

  .auto-row-grid {
    grid-auto-flow: row;
  }

  .site_logo {
    object-position: 50% 45%;
  }

  .grid-content {
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    display: flex;
  }

  .button_wrap.teaser {
    grid-template-columns: auto auto;
    grid-auto-flow: row;
  }

  .dropdown_link {
    font-size: 1.5em;
  }

  .nav-menu_grid {
    flex-direction: column;
    grid-auto-columns: auto;
    justify-content: space-between;
  }

  .dropdown_content {
    flex-direction: column;
    grid-auto-flow: row;
  }

  .nav_link {
    width: 100vw;
    font-size: 1.5em;
  }

  .nav_link.button {
    border-radius: 0;
    padding-top: 1em;
    padding-bottom: 1em;
  }

  .nav_menu {
    overflow: hidden;
  }

  .dropdown_trigger {
    position: static;
  }

  .social_grid.organizations {
    flex-flow: wrap;
    grid-template-columns: auto auto;
    grid-auto-flow: row;
    display: flex;
  }

  .footer-main_grid {
    grid-row-gap: 2.5em;
    grid-template-columns: 1fr;
    grid-auto-flow: row;
  }

  .copyright_text {
    max-width: none;
  }

  .footer-links_grid {
    grid-template-columns: auto;
  }

  .modal-close_btn {
    font-size: 1.8rem;
  }

  .container.newsbar {
    flex-direction: column;
  }

  .director {
    width: auto;
  }

  .director_image {
    max-height: 18em;
  }

  .five-col-grid {
    grid-template-columns: 1fr;
  }

  .five-col-grid.directors {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .event-title {
    max-width: none;
    font-size: 1.66667em;
  }

  .bpgc_sponsor-image {
    max-width: 17em;
  }

  .counter {
    position: static;
  }

  .text-element_xl {
    max-width: 11em;
  }

  .news_image {
    max-height: 12.1528em;
  }

  .events_main-wrap {
    display: block;
  }

  .events_month-wrap {
    text-align: center;
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    display: flex;
  }

  .event-item-content {
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    display: flex;
  }

  .president_content {
    flex-direction: column;
    grid-template-columns: auto;
  }

  .intro_content {
    flex-direction: column;
    justify-content: center;
    align-items: stretch;
    width: auto;
    display: flex;
  }

  .intro_image-wrap {
    width: auto;
    display: block;
  }

  .intro_image {
    height: 40.5469em;
  }

  .intro_main-wrap {
    flex-direction: column;
    grid-template-columns: 1fr;
  }

  .directors_main-wrap {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .sotm_list {
    flex-direction: column;
    align-items: center;
  }

  .hall-of-famers_wrap {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .champions_photo-wrap {
    grid-column-gap: 2.5em;
    grid-row-gap: 2.5em;
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .champion {
    width: auto;
  }

  .champion_image {
    max-height: 18em;
  }

  .champions_wrap, .gerlach_wrap {
    grid-template-rows: auto;
    grid-template-columns: 1fr 1fr;
    grid-auto-columns: 1fr;
  }

  .event-page_name {
    max-width: none;
    font-size: 1.66667em;
  }
}

@media screen and (max-width: 479px) {
  body {
    font-size: 4vw;
  }

  .section.newsbar {
    flex-direction: column;
  }

  .cookie-banner_close {
    position: absolute;
    inset: -1.375rem .625rem auto auto;
  }

  .cookie-banner_grid {
    text-align: center;
    flex-direction: column-reverse;
    grid-template-columns: auto;
    grid-auto-flow: row;
    align-items: center;
    width: 100%;
  }

  .cookie-prefs_wrap {
    padding: 1.5rem;
  }

  .cookie-prefs_buttons {
    grid-template-columns: auto;
  }

  .cookie-prefs_content {
    padding: 1.5rem;
  }

  .cookie-banner_button {
    width: 100%;
  }

  .cookie-banner_text {
    margin-right: 0;
  }

  .wrapper.form-field {
    width: 100%;
  }

  .wrapper.form-bottom {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    max-width: 100%;
    display: flex;
  }

  .h1.page-name.seniors {
    font-size: 2.77778em;
  }

  .h1.application {
    font-size: 2.5em;
  }

  .h1.memory-lane {
    font-size: 3.05556em;
  }

  .page-header {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }

  .site_logo {
    object-position: 50% 45%;
  }

  .button.text-element_large {
    width: 100%;
  }

  .button_wrap.teaser {
    grid-template-columns: auto;
    grid-auto-flow: row;
  }

  .button_wrap.application, .nav-menu_grid {
    grid-auto-flow: row;
  }

  .nav_main-wrap {
    justify-content: space-between;
  }

  .social_grid.organizations {
    grid-template-columns: auto auto;
    grid-auto-flow: row;
  }

  .footer-main_grid {
    flex-direction: column;
    grid-template-columns: 1fr;
  }

  .copyright_text {
    text-align: center;
    line-height: 1.25;
  }

  .footer-links_grid {
    grid-template-columns: 1fr;
  }

  .utility-page_wrap {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }

  .container.newsbar {
    width: 75%;
  }

  .container.nav {
    width: 80%;
  }

  .contact-form {
    flex-direction: column;
    align-items: center;
    display: flex;
  }

  .five-col-grid.directors {
    grid-template-columns: 1fr;
  }

  .rich-text-element.introduction h1 {
    font-size: 1.80556em;
  }

  .bpgc_sponsor-name {
    font-size: 1.11111em;
  }

  .sponsors_h2 {
    font-size: 2.22222em;
  }

  .news_image {
    max-height: 10.4167em;
  }

  .button-event {
    padding-left: 3.75em;
  }

  .events_home-h2 {
    font-size: 2.5em;
  }

  .intro_content {
    padding-left: 2.5em;
    padding-right: 2.5em;
  }

  .intro_image {
    height: auto;
  }

  .empty_state {
    font-size: 2.22222em;
  }

  .directors_main-wrap {
    grid-template-columns: 1fr;
  }

  .application_home-heading {
    font-size: 2.08333em;
  }

  .hall-of-famers_wrap, .champions_photo-wrap, .champions_wrap, .gerlach_wrap {
    grid-template-columns: 1fr;
  }

  .sponsor_empty {
    font-size: 2.22222em;
  }

  .tee-time_home {
    font-size: 2.08333em;
  }
}
