/* SIPMA – alignment & phone-view fixes */

/* Contact form: the Submit button was a tiny unstyled box */
#gform_wrapper_1 .gform_footer { justify-content: flex-start; }
#gform_wrapper_1 .gform_button {
  background: #9b1c1f; color: #fff !important; border: 0; border-radius: 4px; cursor: pointer;
  font-size: 15px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase;
  padding: 12px 36px !important; line-height: 1.2; transition: background .2s; }
#gform_wrapper_1 .gform_button:hover { background: #1b1f5a; }
.kvt-form.kvt-busy .gform_button { opacity: .6; cursor: wait; }
.gform_confirmation_message { padding: 18px 20px; border-left: 4px solid #46b450; background: #fff; color: #333; font-size: 15px; line-height: 1.6; }
#gform_wrapper_1 .gfield_error input, #gform_wrapper_1 .gfield_error textarea { border-color: #e04b4b !important; }
#gform_wrapper_1 .kvt-msg { color: #ffb3b3; font-size: 13px; margin-top: 4px; }
#gform_wrapper_1 .gform_validation_errors { background: #fff; border-radius: 4px; }
#gform_wrapper_1 .gform_validation_errors h2 { color: #c02b0a; font-size: 14px; }

@media (max-width: 980px) {
  html, body { overflow-x: hidden; }
  /* phone/email bar hidden – details are in the "Get in touch" section */
  #top-header { display: none !important; }
  #main-header .logo_container img#logo, #logo { max-height: 60px !important; max-width: 230px !important; width: auto !important; }
  #main-header .container { min-height: 70px; display: flex; align-items: center; }
  #et-top-navigation { padding-top: 0 !important; margin-left: auto; }
  .mobile_menu_bar:before { font-size: 34px !important; }
  /* parallax (fixed) backgrounds -> normal on phones (were showing as white) */
  .et_pb_section, .et_parallax_bg { background-attachment: scroll !important; }
  .et_parallax_bg { height: 100% !important; top: 0 !important; transform: none !important; }
}

@media (max-width: 767px) {
  /* Office bearers: 2 per row instead of one big photo per screen */
  .et_pb_row_5col { display: flex !important; flex-wrap: wrap; justify-content: center; }
  .et_pb_row_5col > .et_pb_column_1_5 { width: 48% !important; margin: 0 1% 25px !important; }
  .et_pb_row_5col .et_pb_image img { max-width: 130px; }
  .et_pb_row_5col h4, .et_pb_row_5col h3, .et_pb_row_5col .et_pb_text { font-size: 13px !important; }
  #gform_wrapper_1 .gform_button { width: 100%; }
  #gform_wrapper_1 .h-captcha { transform: scale(.9); transform-origin: left top; }
}
@media (max-width: 980px) {
  #main-header .mobile_menu_bar { padding-bottom: 0 !important; display: block; line-height: 1; }
  #et_mobile_nav_menu { margin: 0 !important; }
  #main-header .container { justify-content: space-between; }
}
@media (max-width: 767px) {
  /* Events photos: 2 per row */
  .et_pb_row_4col { display: flex !important; flex-wrap: wrap; }
  .et_pb_row_4col > .et_pb_column { width: 48% !important; margin: 0 1% 18px !important; }
  .et_pb_row_4col .et_pb_image { margin-bottom: 8px !important; }
  .et_pb_row_4col .et_pb_text, .et_pb_row_4col .et_pb_text p { font-size: 12px !important; line-height: 1.4 !important; }
  .et_pb_section_1 { min-height: 0 !important; }
}

/* Elements with animation switched off must always be visible (they stayed hidden if a script was slow/blocked) */
.et-waypoint.et_pb_animation_off, .et_pb_team_member_image.et-waypoint { opacity: 1 !important; }
