/* ===== RESPONSIVE STYLE ===== */

@media (max-width:1440px) {
  html {font-size: 0.6vw}

  .section {padding:7rem 0;}

  .container  {max-width: 1240px;}
  .work-process {
    padding: 7rem 0 12rem;
  }
  .bg-title {
    font-size: 10rem;
  }
  .brif__content {
    padding:15rem 0 10rem;
  }
}

@media (max-width:1280px) {
  /* Mobile menu */
  .mobile-btn {
    width:25px;
    display: block;
  }
  .mobile-btn span{
    display: block;
    height: 2px;
    background-color: #fff;
    border-radius: 2px;    
  }
  .mobile-btn span:not(:last-child){margin-bottom:5px;}
  .nav {
    position: fixed;
    display:flex;
    justify-content: space-between;
    flex-direction: column;
    transform: translateX(100%);
    visibility: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    padding: 60px 20px;
    transition: all .3s;
    z-index: 120;
    overflow-y:auto;
  }
  .nav.active{
    transform: translateX(0);
    visibility: visible;
  }
  .close-menu{
    width: 25px;
    height: 25px;
    position: absolute;
    top: 20px;
    right: 20px;
  }
  .close-menu::before,
  .close-menu::after{
    content: '';
    width: 100%;
    height: 2px;
    border-radius: 2px;
    background-color: #fff;
    position: absolute;
    left: 0;
    top: 50%;
  }
  .close-menu::before{transform: rotate(45deg);}
  .close-menu::after{transform: rotate(-45deg);}

  .menu {flex-direction: column;}
  .menu li {margin: 0 0 30px 0; text-align: center;}
  .menu li a{
    font-size: 16px;
    color: #fff;
  }
  .mobile-menu__content {display:block;}
  /* // Mobile menu */

  .section {padding:5rem 0;}

  .header .container {
    padding:0 20px;
  }
  .work-process {
    padding: 5rem 0 10rem;
  }
  .decor-element.left {
    width: 30rem;
    height: 30rem;
  }
  .brif__content {
    padding:12rem 0 7rem;
  }

}

@media (max-width:1024px) {
  html {font-size: 0.85vw;}
  .tablet-col-2 {grid-template-columns: repeat(2, 1fr);}
  .tablet-col-3 {grid-template-columns: repeat(3, 1fr);}

  .fs-decor {
    width: 100rem;
    height: 100rem;
  }
  .fs-content {
    width: 70%;
  }
  .h2, h2 {
    font-size: 4rem;
  }
  .work-process__column:first-child {
    transform: none;
  }
  .work-process__head {
    margin-bottom:3rem;
  }
}

@media (max-width:768px) {
  html {font-size: 10px;}
  p, ul li, ol li, a, .text {font-size: 15px;}
  
  .sm-hide {display:none;}
  .sm-show {display:block;}
  .sm-show.flex {display:flex;}

  .popup-window, .thanks-window {width: calc(100% - 40px);}

  .section {padding:4rem 0;}

  .sm-col-1 {grid-template-columns: repeat(1, 1fr);}
  .sm-col-2 {grid-template-columns: repeat(2, 1fr);}
  .sm-col-3 {grid-template-columns: repeat(3, 1fr);}
  .sm-col-1 .item {grid-column: auto; grid-row: auto;}

  .logo {
    font-size: 3rem;
  }
  .first-screen {
    height: auto;
    padding:20rem 0;
    background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url(../images/main1.webp) no-repeat center center / cover;
  }
  .fs-content {
    width: 100%;
  }
  .h1, h1 {
    font-size: 4rem;
    text-align: center;
  }
  .h2, h2 {
    font-size: 3rem;
    text-align: center;
  }
  .h4, h4 {
    font-size: 2rem;
  }
  .fs-content p {
    text-align: center;
    font-size: 18px;
  }
  .fs-btn-row  {
    justify-content: center;
  }
  .about-img img {
    aspect-ratio: 1.5;
    object-fit: cover;
  } 
  .service-title {
    top: 30px;
    left: 0;
    width: 100%;
    min-width: 0;
    background: none;
    text-align: left;
    font-size: 2rem;
    padding: 0em 1.5em;
  }
  .service__body__content {
    max-height: 6.5rem;
  }
  .service__body {
    width: 100%;
  }
  .bg-title {
    font-size: 6rem;
  }
  .contact__wrapper, .brif p, .portfolio p {
    width: 100%;
  }
  .process-item {
    padding: 3rem 2rem;
    margin-bottom: 3rem;
  }
  .process-num {
    font-size: 4rem;
  }
  .contact-item {
    font-size: 3rem;
    font-weight: 200;
    margin-bottom: 0.3em;
  }
  .social li img {
    width: 40px;
  }
  .about-img img {
    box-shadow: none;
    opacity:0.7;
  }
  .about__wrapper {
    gap:20px;
    display: flex;
    flex-direction: column-reverse;
  }
  .brif__content {
    padding:12rem 0 7rem;
  }
  .brif__content-head p {
    width: 100%;
  }
  .brif__body {
    padding: 3rem 0;
  }

  .portfolio {
    padding: 0 20px;
  }
  
  
}

@media (max-width:767px) {  
  .mobile-col-1 {grid-template-columns: repeat(1, 1fr);}
  .mobile-col-2 {grid-template-columns: repeat(2, 1fr);}
  .mobile-col-1 .item {grid-column: auto; grid-row: auto;}

  .logo {
    font-size: 2rem;
  }
  .language-select {
    margin-right: 2rem;
  }
  .h1, h1 {
    font-size: 3rem;
    line-height: 1.3;
  }
  .h2, h2 {
    font-size: 2.4rem;
  }
  .h3, h3 {
    font-size: 1.8rem;
  }
  .fs-content p {
    font-size: 16px;
  }
  .fs-btn-row .btn {
    width: 100%;
    margin: 0 0 2rem;
    font-size: 15px;
  }
  .page-up {
    width: 40px;
    height: 40px;
    right: 40px;
    bottom: 40px;
  }
  .work-process__column {
    width: 100%;
  }
  .work-process__head {
    margin-bottom: 0;
  }
  .service__body {
    padding: 7rem 2rem 2rem 2rem;
  }
  .service-title {
    font-size: 20px;
    padding: 0em 1em;
    top: 40px;
  }
  .service__body__content {
    max-height: 6rem;
  }
  .service-wrapper:not(:last-child) {
    margin-bottom: 3rem;
  }
  .portfolio__wrapper {
    gap: 15px;
  }
  .contact-item {
    font-size: 2rem;
  }
  .first-screen {
    padding: 12rem 0 0;
  }
  .portfolio .btn-container {
    margin-top: 4rem;
  }
  .form-item-title {
    font-size: 15px;
  }
  .form-row {
    gap:20px;
  }
  .to-home {
    display: none;
  }
  .brif__content .to-home {
    display: block;
    text-align: center;
    margin:2em 0;
  }
  .brif__content {
    padding: 7rem 0 5rem;
  }
  .ls--mode {
    margin: 0;
  }
  .ls--mode .language-link {
    margin:0 0 0 1.5em;
  }

}

@media (max-width:480px) {  
  .btn {width:100%;padding:1em 2em;}
  .first-screen {height:auto; padding:15rem 0;}

}
