@import url("css/theme.css");
@import url("css/header.css");
@import url("css/section.css");
@import url("css/project.css");
@import url("css/form.css");
@import url("css/cards.css");
@import url("css/project-page.css");
@import url("css/footer.css");

* {
  padding: 0;
  margin: 0;
  font-family: var(--global-font);
  scroll-behavior: smooth;
}

.container {
  margin: 0 auto;
  width: 1200px;
}

/* TOGGLABLE CLASSES */
.menu-visible {
  display: block !important;
}

.hidden-content {
  opacity: 0;
  transform: translateY(25px);
  transition: all 0.2s ease-in-out;
}

.viewable {
  opacity: 1 !important;
  transform: translateY(0px) !important;
}

@media only screen and (max-width: 1230px) {
  .container {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  .project-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, auto);
  }

  .section-main-image > img {
    height: auto !important;
    width: 100% !important;
  }
}

@media only screen and (max-width: 1040px) {
  .flex-wrapper {
    display: block !important;
    gap: 0 !important;
  }

  .section-main-image {
    margin-top: -50px !important;
    margin-bottom: 15px !important;
    width: 100% !important;
  }

  .section-content.vertical-flex {
    width: 100% !important;
  }

  #quick-contact-section > .container > .section-content {
    flex-wrap: nowrap;
  }
}

@media only screen and (max-width: 1040px) {
  #project-info {
    display: block !important;
    padding: 20px 0 !important;
  }

  #project-images {
    width: 100% !important;
  }

  .project-description {
    margin-top: 50px;
    width: 100% !important;
  }

  table.tg {
    width: 100% !important;
  }
}

@media only screen and (max-width: 970px) {
  .section-content {
    columns: 2 !important;
  }

  .service-card {
    width: calc(50% - 20px) !important;
  }

  .project-card-details > h2 {
    font-size: 18pt !important;
  }

  #quick-contact-section > .container > .section-content {
    flex-wrap: wrap !important;
    columns: 1 !important;
  }

  .column-panel {
    width: 100% !important;
    margin-bottom: 20px !important;
  }

  .section-header > p {
    text-align: justify !important;
  }
}

@media only screen and (max-width: 800px) {
  .contact-flex-wrapper {
    display: block !important;
  }

  #contact-form {
    width: 100% !important;
  }

  #contact-details-panel {
    margin-top: 50px !important;
    width: 100% !important;
  }
}

@media only screen and (max-width: 756px) {
  .service-card {
    width: 100% !important;
  }

  .service-card-details {
    height: 100% !important;
  }

  .service-card-details > button.card-button {
    opacity: 1 !important;
    background-color: transparent !important;
    color: #fff !important;
    border: 2px solid #fff !important;
    height: auto !important;
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }

  .service-card-details > button.card-button:active {
    background-color: #fff !important;
    color: #191919 !important;
  }

  #projects-wrapper {
    padding: 20px 0 !important;
  }

  .project-list {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    grid-template-rows: repeat(4, auto);
    gap: 20px;
  }

  .project-card {
    width: 100% !important;
    margin-bottom: 0 !important;
  }

  .nav-wrapper {
    display: block !important;
  }

  nav.footer-nav {
    width: 100% !important;
  }

  nav.footer-nav > ul {
    margin-bottom: 25px !important;
  }

  nav.footer-nav > h2 {
    margin-bottom: 10px !important;
  }
}

@media only screen and (max-width: 650px) {
  #menu-nav {
    display: none;
    left: 0 !important;
    top: var(--bottom-header-height) !important;
    position: fixed !important;
    height: auto !important;
    width: 100% !important;
    box-shadow: 0 4px 6px -2px rgba(0, 0, 0, 0.7) !important;
    background-color: #191919 !important;
  }

  #mob-menu-nav {
    display: block !important;
  }

  ul#menubar {
    list-style-type: none !important;
    height: auto !important;
  }

  ul#menubar > li.menu {
    float: unset !important;
    display: block !important;
  }

  ul#menubar > li.menu > a {
    height: unset !important;
    line-height: unset !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    padding-left: 20px;
    margin: 0 !important;
    transition: all 0.1s ease-in-out;
  }

  ul#menubar > li.menu > a:hover {
    background-color: rgba(0, 0, 0, 0.2) !important;
    color: #fff !important;
  }

  #our-offer-section {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    height: auto;
  }

  .offer-boxes,
  #box-left,
  #box-right {
    display: block !important;
    float: unset !important;
    border: none !important;
    margin-top: 10px !important;
    margin-bottom: 10px;
    width: 100% !important;
    height: auto !important;
  }

  #box-left {
    margin-bottom: 30px !important;
  }

  .offer-boxes > div > i {
    margin-bottom: 2px !important;
  }
}

@media only screen and (max-width: 550px) {
  .info-box > div.container > h1 {
    font-size: 24pt !important;
  }

  footer {
    text-align: left !important;
    padding-left: 20px !important;
    box-sizing: border-box !important;
  }
}
