html {
  scroll-behavior: smooth;
}

body {
  margin-top: 78px;
  font-family: 'Roboto Condensed', Arial, sans-serif;
  font-size: 17px;
  font-weight: 400;
  line-height: 1.5;
  color: #000000;
  text-align: left;
}

@media screen and (pointer: coarse) {
  body.modal-open {
    padding-right: 0 !important;
    width: 100% !important;
    position: fixed;
    overflow: hidden !important;
  }
}

@media (min-width: 576px) {
  body {
    margin-top: 43px;
  }
}

@media (min-width: 768px) {
  body {
    margin-top: 45px;
  }
}

@media (min-width: 992px) {
  body {
    margin-top: 52px;
  }
}

@media (min-width: 1200px) {
  body {
    margin-top: 58px;
  }
}

/* Header Styling */

.text-shadow-none {
  text-shadow: none;
}

.font-theme {
  font-family: 'Roboto Condensed';
  line-height: 1.3;
}

.text-theme {
  color: #bc0000;
}

.header-text-block {
  aspect-ratio: 5 / 6;
  min-height: 300px;
}

/* Text Styling */

.no-hyphens {
  -webkit-hyphens: none;
  -moz-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

a {
  text-decoration: none;
}

a:hover {
  text-decoration: none;
}

.link-warning:hover {
  color: #cc9900 !important;
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
  font-family: Arial, Helvetica, Sans Serif;
  text-align: justify;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-family: 'Roboto Condensed';
  margin-bottom: .5rem;
  font-weight: 700;
  line-height: 1.3;
}

.h1, h1 {
  font-size: calc(20px + 2.1vw);
}

@media (min-width:1400px) {
  .h1, h1 {
    font-size: 49px;
  }
}

.h2, h2 {
  font-size: calc(23px + 1vw);
}

@media (min-width: 1400px) {
  .h2, h2 {
    font-size: 37px;
  }
}

.h3, h3 {
  font-size: calc(18px + 1vw);
}

@media (min-width: 1200px) {
  .h3, h3 {
    font-size: 29px;
  }
}

.h4, h4 {
  font-size: calc(16px + .9vw);
}

@media (min-width: 1200px) {
  .h4, h4 {
    font-size: 27px;
  }
}

.att-text {
  font-family: 'Roboto Condensed';
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
}

@media (min-width: 576px) {
  .att-text {
    font-family: 'Roboto Condensed';
    font-size: 34px;
    font-weight: 700;
  }
}

@media (min-width: 768px) {
  .att-text {
    font-size: 47px;
    font-weight: 700;
  }
}

@media (min-width: 991px) {
  .att-text {
    font-size: 60px;
    font-weight: 700;
  }
}

.att-text-sm {
  font-family: inherit;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
  color: #bc0000;
}

@media (min-width: 768px) {
  .att-text-sm {
    font-size: 30px;
  }
}

@media (min-width: 992px) {
  .att-text-sm {
    font-size: 36px;
  }
}

.att-text-sub {
  font-family: inherit;
  font-size: calc(20px + 1vw);
  font-weight: 700;
  line-height: 1.3;
}

@media (min-width: 992px) {
  .att-text-sub {
    font-size: 28px;
  }
}

@media (min-width: 1400px) {
  .att-text-sub {
    font-size: 30px;
  }
}

.att-text-tryout {
  font-size: calc(16px + .75vw);
  line-height: 1.3;
  font-family: 'Roboto Condensed';
}

@media (min-width: 1200px) {
  .att-text-tryout {
    font-size: 25px;
  }
}

.owner-intro-text {
  font-family: 'Nothing You Could Do', serif;
  font-size: calc(13px + 5vw);
  line-height: 1.3;
}

@media (min-width: 576px) {
  .owner-intro-text {
    font-size: 42px;
  }
}

@media (min-width: 768px) {
  .owner-intro-text {
    font-size: 50px;
  }
}

@media (min-width: 1200px) {
  .owner-intro-text {
    font-size: 60px;
  }
}

@media (min-width: 1400px) {
  .owner-intro-text {
    font-size: 65px;
  }
}

.signature-text {
  font-size: 28px;
  font-family: 'Nothing You Could Do';
}

.priv-text {
  color: #ff8100;
  text-shadow: none;
  font-size: 16px;
}

.text-justify-xs {
  text-align: left;
}

@media (min-width: 576px) {
  .text-justify-xs {
    text-align: justify;
  }
}

/* Button Styling */

.btn {
  transition: all .3s ease-in-out !important;
}

.btn-danger {
  --bs-btn-color: #fff !important;
  --bs-btn-bg: #ff0000 !important;
  --bs-btn-border-color: #ff0000;
  --bs-btn-hover-color: #fff !important;
  --bs-btn-hover-bg: #c80000 !important;
  --bs-btn-hover-border-color: #c80000 !important;
  --bs-btn-focus-shadow-rgb: none;
  --bs-btn-active-color: #fff !important;
  --bs-btn-active-bg: #c80000 !important;
  --bs-btn-active-border-color: #ff0000;
  --bs-btn-active-shadow: none !important;
  --bs-btn-disabled-color: #fff !important;
  --bs-btn-disabled-bg: #930000 !important;
  --bs-btn-disabled-border-color: #dc3545 !important;
  border: none;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.5);
}

.signup-but {
  font-weight: 700;
  padding: 5px 20px;
  font-size: 28px;
  border-radius: 50px !important;
}

@media (min-width: 576px) {
  .signup-but {
    padding: 5px 40px;
    font-size: 40px;
  }
}

.button-highlight {
  padding: 10px 20px;
  font-size: 18px;
  font-weight: 700;
  border-radius: 50px;
}

@media (min-width: 768px) {
  .button-highlight {
    font-size: 28px;
  }
}

.btn-responsive {
  padding: .5rem 1rem;
  font-size: calc(8px + 2.5vw);
  line-height: 1.5;
  border-radius: 5px;
}

@media (min-width: 576px) {
  .btn-responsive {
    font-size: 22px;
  }
}

/* List Styling */

.fa-li {
  font-size: 22px;
  color: #bc0000;
  top: -3px;
  width: 30px;
  left: -36px;
}

@media (min-width: 992px) {
  .fa-li {
    font-size: 24px !important;
    color: #bc0000;
  }
}

.promise-list li {
  font-size: 18px;
  font-weight: 700 !important;
  line-height: 1.3;
  margin-bottom: 10px;
}

@media (min-width: 992px) {
  .promise-list li {
    font-size: 22px;
  }
}

/* Modal Styling */

.modal-title {
  font-family: 'Roboto Condensed';
  font-size: 18px;
  line-height: 22px;
}

.modal-footer {
  border-top: none;
}

@media (min-width: 576px) {
  .modal-title {
    font-size: 24px;
    line-height: 28px;
  }
}

@media (min-width:1200px) {
  .modal-xl {
    max-width: 1040px;
  }
}

/* Offer Modal Styling */

#offermodal .modal-content {
  text-shadow: 1px 1px 1px #000;
  border: none;
  border-radius: 6px;
  background: #0028b7;
}

#offermodal .modal-header {
  border: none;
}

#offermodal .modal-header h2 {
  font-size: 34px;
}

.modal-backdrop.show {
  background-color: rgba(0, 0, 0, 0.7) !important;
  opacity: 1 !important;
}

/* Contact Modal Styling */

#contactmodal .modal-body {
  max-height: 515px;
}

#contactmodal .modal-footer {
  margin-top: -20px;
}

/* Instructors Page Styling */

.team-clean {
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
}

.team-clean .title {
  text-transform: uppercase;
  font-weight: bold;
  color: #888888;
  letter-spacing: 2px;
  font-size: 13px;
}

.team-clean .description {
  font-size: 15px;
  text-align: justify;
  margin-bottom: 0;
}

.team-clean .instructor-cont {
  border: 1px solid #dee2e6;
  border-radius: 7px;
  box-shadow: 0 .5rem 1rem rgba(0,0,0,.15);
  overflow: auto;
  padding: 1rem;
}

/* Quote Styling */

#maQuote .speech-bubble {
  display: block;
  width: 100%;
  position: relative;
  background: #f9f9f9;
  border: 3px solid #ff0000;
  border-radius: 10px;
  text-shadow: none;
  padding: 15px;
  box-sizing: border-box;
}

#maQuote .speech-bubble::before {
  content: '';
  position: absolute;
  bottom: -17px;
  right: 52px;
  transform: translateX(-50%) rotate(45deg);
  width: 30px;
  height: 30px;
  background: linear-gradient(-45deg, #f9f9f9 52%, transparent 0);
  border: 3px solid #ff0000;
  border-width: 0 3px 3px 0;
  border-radius: 0 0 3px 0;
  box-sizing: border-box;
}

#maQuote .speech-bubble-quote {
  position: absolute;
  background-image: url("../../assets/img/quote-dark-left.svg");
  background-repeat: no-repeat;
  width: 130px;
  height: 110px;
  transform: scale(.8);
  opacity: .1;
  z-index: 1;
}

#maQuote .speech-bubble-signature {
  margin-top: 25px;
  margin-right: 50px;
  font-size: 20px;
  text-align: right;
}

#maQuote p {
  position: relative;
  font-size: 16px;
  font-family: 'Open Sans', sans-serif;
  font-weight: 400;
  text-align: justify;
  color: #000;
  margin-bottom: 0;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  -ms-hyphens: auto;
  hyphens: auto;
  z-index: 2;
}

@media (min-width: 576px) {
  #maQuote p {
    font-size: 18px;
  }
}

#maQuote .stars {
  position: relative;
  top: -2px;
}

/* Town List Styling */

#towns .text-ps {
  font-size: 28px;
  line-height: 1.0;
  font-family: 'Nothing You Could Do';
  letter-spacing: 2px;
}

#towns p {
  font-family: 'Roboto Condensed';
  font-size: 18px;
}

@media (min-width: 768px) {
  #towns p {
    font-size: 19px;
  }
}

@media (min-width: 1400px) {
  #towns p {
    font-size: 20px;
  }
}

#towns ul {
  padding-left: 0px !important;
}

#towns li {
  margin-bottom: 10px;
  font-size: 18px;
  break-inside: avoid;
}

@media (min-width: 1200px) {
  #towns li {
    font-size: 20px;
  }
}

#towns .list-towns {
  margin-left: calc(-60px + 24vw);
  column-count: 2;
  column-gap: 30px;
  line-height: 1.2;
}

@media (min-width: 576px) {
  #towns .list-towns {
    margin-left: 34px;
    column-count: 3;
  }
}

@media (min-width: 768px) {
  #towns .list-towns {
    margin-left: 80px;
  }
}

@media (min-width: 992px) {
  #towns .list-towns {
    margin-left: calc(21px + 5vw);
    column-count: 5;
  }
}

/* Misc Styling */

.rotate-arrow {
  transform: rotate(90deg);
}

.google a:hover span img {
  opacity: .7;
}

.google a span img {
  opacity: 1;
  transform: translateZ(0);
  transition: all .2s;
}

.google-span {
  margin-bottom: 6px;
}

.flip-x {
  transform: scaleX(-1);
}

.sm {
  scroll-margin: 190px;
}

@media (min-width: 576px) {
  .sm {
    scroll-margin: 160px;
  }
}

@media (min-width: 768px) {
  .sm {
    scroll-margin: 120px;
  }
}

.priv-height {
  margin-top: -20px;
}

.clickable-image {
  cursor: pointer;
}

hr {
  margin-top: 1rem;
  margin-bottom: 1rem;
  border: 0;
  border-top: solid 2px #ff0000;
}

.img-shadow {
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 1));
}

.bg-light {
  background-color: #f0f0f0!important;
}

.table-wrapper {
  max-width: 300px;
}

.table-hours {
  font-size: 17px;
  font-family: 'Roboto Condensed';
}

.tooltip {
  --bs-tooltip-zindex: 1000;
}

