@-ms-viewport {
  width: device-width;
}

@media (max-width: 739px) and (orientation: portrait),
  (max-device-height: 927px) and (orientation: landscape), (width <= 1016px) {
  body,
  html {
    overflow-x: hidden;
  }

  .navbar-top,
  .navbar-bottom .navbar-content,
  .navbar-bottom .navbar-button,
  .footer .menu-wrapper,
  .hero-description {
    display: none;
  }

  .navbar {
    overflow: hidden;
    position: relative;
  }

  .navbar-hero-container {
    height: 400px;
    min-height: 400px;
  }

  .hero-banner {
    justify-content: initial;
    padding: 0 5%;
    height: 400px;
    min-height: 400px;
  }

  .hero-banner h1 {
    font-size: 26pt;
    margin-top: 5%;
    line-height: 28pt;
  }

  .hero-banner h2 {
    font-size: 16pt;
    margin-top: 22%;
    line-height: 15pt;
    width: 55%;
    font-family: "Titillium Web Bold", Arial, sans-serif;
    font-weight: 800;
  }

  .navbar-bottom {
    padding: 0;
  }

  .navbar a {
    padding: 14px 2%;
  }

  .navbar-mobile {
    display: block;
  }

  .navbar-logo {
    width: 46%;
    height: auto;
    /* height: 46px; */
  }

  .footer-logo {
    width: clamp(180px, 40%, 250px);
    height: auto;
  }

  .footer-wrapper .logo-container {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .footer-wrapper {
    justify-content: center;
    /* min-height: 250px; */
    max-height: 200px;
    flex-direction: column;
    justify-content: space-between;
  }

  .footer-wrapper .menu-container .social-wrapper {
    width: 100%;
    max-width: 180px;
  }

  .footer-wrapper .menu-container {
    height: unset;
    width: 100%;
    max-width: 235px;
    margin: 0 auto;
  }

  .social-wrapper img {
    width: 35px;
    height: auto;
  }

  .footer {
    min-height: 250px;
  }

  #sidebarMenu {
    height: 100%;
    position: fixed;
    right: 0;
    width: 250px;
    margin-top: 52px;
    transform: translateX(250px);
    transition: transform 250ms ease-in-out;
    background: #000032;
    display: flex;
    flex-direction: column;
    align-items: center;
    overflow-x: hidden;
    z-index: 999;
  }
  .sidebarMenuInner {
    margin: 0;
    padding: 0;
  }
  .sidebarMenuInner li {
    list-style: none;
    color: #fff;
    padding: 10px;
    cursor: pointer;
    float: none;
  }

  .navbar-bottom li:not(:last-child) {
    border: none;
  }

  .sidebarMenuInner li span {
    display: block;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.5);
  }
  .sidebarMenuInner li a {
    color: #fff;
    cursor: pointer;
    display: block;
    text-align: left;
  }
  input[type="checkbox"]:checked ~ #sidebarMenu {
    transform: translateX(calc(100% - 250px));
  }

  input[type="checkbox"] {
    transition: all 0.3s;
    box-sizing: border-box;
    display: none;
  }
  .sidebarIconToggle {
    transition: all 0.3s;
    box-sizing: border-box;
    cursor: pointer;
    position: absolute;
    z-index: 99;
    height: 100%;
    width: 100%;
    top: 40%;
    right: 5%;
    height: 22px;
    width: 30px;
  }
  .spinner {
    transition: all 0.3s;
    box-sizing: border-box;
    position: absolute;
    height: 3px;
    width: 100%;
    background-color: #fff;
  }
  .horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 5px;
  }
  .diagonal.part-1 {
    position: relative;
    transition: all 0.3s;
    box-sizing: border-box;
    float: left;
  }
  .diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    position: relative;
    float: left;
    margin-top: 5px;
  }
  input[type="checkbox"]:checked ~ .sidebarIconToggle > .horizontal {
    transition: all 0.3s;
    box-sizing: border-box;
    opacity: 0;
  }
  input[type="checkbox"]:checked ~ .sidebarIconToggle > .diagonal.part-1 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(135deg);
    margin-top: 8px;
  }
  input[type="checkbox"]:checked ~ .sidebarIconToggle > .diagonal.part-2 {
    transition: all 0.3s;
    box-sizing: border-box;
    transform: rotate(-135deg);
    margin-top: -10px;
  }

  .navbar-button-mobile {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 15px 20px 15px 20px !important;
    background-color: #66b83e;
    color: white !important;
    text-decoration: none;
    font-size: 0.8em;
    border-radius: 20px;
    cursor: pointer;
    width: 90%;
    position: relative;
    margin-top: 10%;
    align-self: center;
  }

  .navbar-button-mobile .left-button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
  }

  .navbar-button-mobile .right-button {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    margin-left: 15px;
    font-size: 10pt;
    font-family: "Titillium Web Bold", Arial, sans-serif;
  }

  .right-button .sub-button-text {
    font-size: 8pt;
    font-family: "Titillium Web Regular", Arial, sans-serif;
  }

  .hero-description-mobile {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin-top: 25px;
    margin-bottom: 20px;
    font-size: 16pt;
    line-height: 1.2;
    padding: 0 5%;
    color: #000033;
  }
  .hero-description-mobile p:nth-of-type(2) {
    margin-top: 25px;
  }

  .column {
    padding: 5% 15%;
    border: 1px solid #000033;
  }

  .column:not(:last-child) {
    margin-bottom: 20px;
    border-right: 1px solid #000033;
  }

  .whatwedo p {
    font-size: 16pt;
    line-height: 1.2;
    color: #000033;
  }

  .desktop-logo {
    display: none;
  }

  .mobile-logo {
    display: block;
  }

  .contact-banner {
    max-height: 20vh;
  }

  .contact-container {
    min-height: 40vh;
    justify-content: center;
  }

  .contact-container img {
    width: 40px;
    height: auto;
  }

  .contact-container a {
    font-size: 17pt;
    margin-left: 10px;
  }

  .about-banner div {
    padding: 0 6%;
  }
  .about-banner h1 {
    font-size: 18pt;
  }

  .about-banner p {
    font-size: 14pt;
    margin-top: 14px;
  }

  .about-container {
    flex-direction: column;
  }

  .about-left,
  .about-right {
    width: 100%;
    margin-bottom: 20px;
  }

  .about-left .left-first,
  .about-left .left-second {
    height: auto;
  }

  .about-left .left-first img,
  .about-left .left-second img {
    width: 100%;
    height: 100%;
    opacity: 0.3;
  }

  .left-first p,
  .left-second p {
    font-size: 14pt;
    margin-top: 14px;
  }

  .left-first .left-heading,
  .left-second .left-heading {
    font-size: 18pt;
  }

  .about-right .about-button {
    margin-left: 0px;
  }

  .about-container {
    padding: 5%;
  }

  .about-container-wrapper{
    flex-direction: column;
  }

  .service-wrapper {
    /* height: 220px; */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .content {
    display: block;
  }
}

/* Extra small devices like SE */
@media (max-width: 479px) and (orientation: portrait),
  (max-device-height: 479px) and (orientation: landscape) {
  .navbar ul {
    max-height: 64vh;
    overflow: auto;
  }

  .column {
    max-width: 90vw;
    padding: 5% 10%;
  }

  .desktop-logo {
    display: none;
  }

  .mobile-logo {
    display: block;
  }

  .mobile-logo.footer-logo {
    width: 64vw;
    height: auto;
  }

  .sidebarIconToggle {
    top: 40%;
    right: 7%;
  }

  #sidebarMenu {
    margin-top: 47px;
  }

  .content {
    display: block;
  }

  .services-content .content-wrapper {
    flex-direction: column;
  }

  .content-wrapper .left-content,
  .content-wrapper .right-content {
    width: 100%;
  }

  .blog-content h1 {
    font-size: 40pt;
  }

  .blog-container a {
    max-width: 79vw;
  }

  .card .blog-arrow {
    top: 22.5%;
    position: relative;
    top: -4.5%;
    left: 73%;
  }

  .service-wrapper {
    /* height: 220px; */
    display: flex;
    justify-content: center;
    align-items: center;
  }
}

@media (max-device-height: 739px) and (orientation: landscape) {
  #sidebarMenu {
    margin-top: 91px;
    height: 56vh;
    overflow-y: auto;
  }

  .mobile-logo.footer-logo {
    width: clamp(180px, 41%, 250px);
    height: auto;
  }

  .column {
    height: 444px;
  }

  .service-wrapper {
    /* height: 220px; */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .content {
    display: block;
  }

  .navbar ul {
    max-height: 64vh;
    overflow: auto;
  }
}

@media (max-device-height: 479px) and (orientation: landscape) {
  #sidebarMenu {
    margin-top: 10%;
    height: 62vh;
    overflow-y: auto;
  }
}

@media (740px <= width <= 1690px){
  .columns {
    grid-template-columns: repeat(2, 1fr); /* This creates 2 columns of equal width */
  }
  .column {
    padding: 5% 15%;
    border: 1px solid #000033;
    height: 444px;
  }

  .column:not(:last-child) {
    margin-bottom: 20px;
    border-right: 1px solid #000033;
  }
}

@media (1350px <= width <= 1600px) {
  .navbar-right-wrapper {
    row-gap: 4%;
  }

  .navbar-content {
    padding: 2% 0;
  }
  .hero-banner {
    padding: 0 9%;
  }

  .column {
    padding: 5% 15%;
    border: 1px solid #000033;
    height: 444px;
  }

  .column:not(:last-child) {
    margin-bottom: 20px;
    border-right: 1px solid #000033;
  }
  .footer-wrapper .menu-container {
    width: 68%;
  }

  .service-wrapper {
    /* height: 220px; */
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .content {
    display: block;
  }
}

@media (740px <= width <= 1349px) {

  .mobile-logo{
    width: clamp(180px, 40%, 300px);
  }

  .navbar-hero-container{
    justify-content: flex-start;
  }
  .navbar-right-wrapper {
    row-gap: 4%;
  }

  .navbar-content {
    padding: 2% 0;
  }

  .navbar-bottom {
    padding: 0 5%;
  }

  .hero-banner {
    padding: 4% 10%;
  }

  .hero-banner h2{
    margin-top: 5%;
  }

  .hero-description-mobile{
    padding: 0 9%;
  }

  .columns{
    padding: clamp(20px,9%,120px);
  }

  .column {
    padding: 5% 15%;
    border: 1px solid #000033;
    height: 444px;
  }

  .column:not(:last-child) {
    margin-bottom: 20px;
    border-right: 1px solid #000033;
  }

  .footer-wrapper .menu-container {
    width: 68%;
  }

  .about-container {
    flex-direction: column;
    padding: 5% 10%;
  }
  
  .about-banner{
    align-items: flex-start;

  }

  .about-container-wrapper{
    flex-direction: row;
  }

  .about-banner div{
    padding: 0 10%;
  }

  .about-left,
  .about-right {
    width: 100%;
  }

  /* .about-right {
    margin-top: 6%;
  } */

  .services-content{
    padding: 5% 9%;
  }

  .service-wrapper {
    height: auto;
    display: flex;
    justify-content: center;
    align-items: center;
  }

  .content {
    display: block;
  }

  .card__body{
    min-height: 309px;
  }
}

@media (width <= 955px) {
  .content-wrapper {
    flex-direction: column;
  }

  .content-wrapper .left-content,
  .content-wrapper .right-content {
    width: 100%;
  }
}

/* Safari 7.1+ */

_::-webkit-full-page-media, _:future, :root .navbar-button .right-button{
  font-size: clamp(0.8rem, 1.3vw, 11pt);

}

_::-webkit-full-page-media, _:future, :root .right-button .sub-button-text{
  font-size: clamp(0.5rem, 0.9vw, 8pt);

}

/* Medium 4K desktops */
@media (width >= 1920px){

  .services-container{
    padding: 0 7.5%;
  }

  .about-container-wrapper{
    padding: 0 1.5%;
  }

  .contact-container-wrapper{
    padding: 0 7.5%;
    min-height: 37vh;
  }

  .blog-content{
    min-height: 71vh;
  }
}

/* Extra large desktops */
@media (width >= 2600px){

  .services-container{
    padding: 0 4.5%;
  }

  .about-container-wrapper{
    padding: 0 1.5%;
  }

  .contact-container-wrapper{
    padding: 0 4%;
    min-height: 37vh;
  }

  .blog-content{
    min-height: 71vh;
  }
}
