body {
  font-size: 17px;
  font-family: 'Montserrat', sans-serif;
  --bs-body-line-height: 1.4;
  --bs-body-color: #000000;
}

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

.header-section {
  height: 200px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1100;
}

.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
}

p {
  text-align: justify;
  hyphens: auto;
}

ol {
  hyphens: auto;
}

.l-height-1 {
  line-height: 1.2;
}

body a {
  color: #b83f1a;
  text-decoration: none;
  transition: all .3s;
}

body a:hover {
  color: #000000;
  transition: all .3s;
}

.bg-theme {
  background: #b83f1a;
}

.bg-theme-lt {
  background-color: #fedfc7;
}

.text-theme {
  color: #b83f1a;
}

.scroll-margin {
  scroll-margin-top: 210px;
}

@media (min-width: 992px) {
  .scroll-margin {
    scroll-margin-top: 310px;
  }
}

/* List Styline */

.list-services {
  line-height: 1.2;
}

@media (min-width: 480px) {
  .list-services {
    column-count: 2;
    column-gap: 25px;
  }
}

@media (min-width: 992px) {
  .list-services {
    column-count: 3;
  }
}

.list-services li {
  margin-bottom: 9px;
}

@media (min-width: 992px) {
  .list-services {
    margin-left: calc(6px + 3vw);
    line-height: 1.2;
  }
}

.list-services li {
  margin-bottom: 7px;
}

/* Button Styling */

.btn-info {
  --bs-btn-color: #ffffff;
  --bs-btn-bg: #b83f1a;
  border: none;
  --bs-btn-border-color: #0dcaf0;
  --bs-btn-hover-color: #ffffff;
  --bs-btn-hover-bg: #d64a1f;
  --bs-btn-hover-border-color: #25cff2;
  --bs-btn-focus-shadow-rgb: 11,172,204;
  --bs-btn-active-color: #ffffff;
  --bs-btn-active-bg: #d64a1f;
  --bs-btn-active-border-color: #25cff2;
  --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --bs-btn-disabled-color: #000;
  --bs-btn-disabled-bg: #a75841;
  --bs-btn-disabled-border-color: #0dcaf0;
  text-shadow: 1px 1px 1px rgba(0,0,0,0.2);
}

@media (min-width: 1200px) {
  .btn-responsive {
    --bs-btn-padding-y: 0.5rem;
    --bs-btn-padding-x: 1rem;
    --bs-btn-font-size: 1.25rem;
    --bs-btn-border-radius: var(--bs-border-radius-lg);
  }
}

.btn-estimate {
  font-size: calc(8px + 3vw);
}

@media (min-width: 768px) {
  .btn-estimate {
    font-size: 32px;
  }
}

/* Modal Styling */

.modal {
  --bs-modal-width: 500px;
  --bs-modal-bg: #fedfc7;
  --bs-modal-border-color: var(--bs-emphasis-color);
  --bs-modal-border-width: 1px;
}

.modal-content {
  box-shadow: 0px 0px 15px #000000 !important;
}

#modal-1 {
  z-index: 1200;
}

#modal-1 .modal-body {
  min-height: 490px;
}

.modal-text {
  font-size: calc(23px + 1vw);
  line-height: 1.2;
  color: #c44220;
  margin-bottom: 0;
  font-weight: 900;
  width: min-content;
}

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

.nospam {
  font-size: 13px;
}

/* Services */

.services h2 {
  font-size: calc(4px + 2.5vw);
  font-weight: 600;
  margin-bottom: 0;
}

@media (min-width: 576px) {
  .services h2 {
    font-size: 17px;
  }
}

@media (min-width: 758px) {
  .services h2 {
    font-size: 20px;
  }
}

@media (min-width: 1200px) {
  .services h2 {
    font-size: 22px;
  }
}

.box {
  position: relative;
  overflow: hidden;
  transition: all .5s;
  border-radius: 5px;
}

.box img {
  max-width: 100%;
  transition: all 0.3s;
  display: block;
  width: 100%;
  height: auto;
  transform: scale(1);
}

.box:hover img {
  transform: scale(1.2);
  transition: all .5s;
}

.box .heading {
  width: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  background: rgba(0,0,0,0.4);
  text-shadow: 1px 1px 0px rgba(0,0,0,0.6);
  color: #ffffff;
  text-align: center;
  padding: 4px 4px;
  transition: background .3s ease-in-out;
}

.box:hover .heading {
  background: var(--bs-gray-dark);
  transition: background .3s ease-in-out;
}

/* Towns styling */

.list-towns {
  line-height: 1.2;
}

@media (min-width: 480px) {
  .list-towns {
    column-count: 2;
    column-gap: 25px;
  }
}

@media (min-width: 992px) {
  .list-towns {
    column-count: 3;
  }
}

@media (min-width: 1400px) {
  .list-towns {
    column-count: 4;
  }
}

.list-towns li {
  margin-bottom: 9px;
}

@media (min-width: 992px) {
  .list-towns {
    margin-left: calc(6px + 3vw);
    line-height: 1.2;
  }
}

.list-towns li {
  margin-bottom: 7px;
}

