@charset "UTF-8";

/**-------------------------------------------------------
*  1180px or smaller
* ------------------------------------------------------*/
@media all and (max-width: 1280px)
{
  /** 1180 : Header, nav and footer ----*/
  .header {height: 58px;}
  .header .logo {
    top: 5px;
    left: 10px;
    padding: 5px 0 0 57px;
  }
  .header .logo img.lertnimit-logo {height: 48px;}
  .header .company-name {
    font-size: 20px;
    line-height: 20px;
  }
  .header .company-name-en {
    font-size: 14px;
    line-height: 16px;
  }
  .header-award {
    top: 10px;
    left: 220px;
  }
  .header-award img {
    height: 35px;
  }
  .nav {margin-top: 3px;}
  .main-nav > li:first-child {
    display: none;
  }
  .main-nav > li > a {
    margin: 0;
  }

  /** 1180 : Header, nav and footer ----*/
  .header {height: auto; min-height: 50px;}
  .header .logo {
    position: relative;
    top: inherit;
    left: inherit;
  }
  .header .logo img.lertnimit-logo {
    top: 3px;
    left: 5px;
  }
  .menu-toggle {display: block;}

  .header-award {
    top: 8px;
    left: inherit;
    right: 60px;
  }
  .header-award img {
    height: 32px;
  }

  .nav {
    display: block;
    float: none;
    position: relative;
    margin: 0;
    width: 100%;
    height: auto;
    max-height: 0;
    overflow: hidden;
    z-index: 2000;
    transition: max-height 0.5s ease-out; /*ease*/
  }
  .nav.expand {max-height: 999px;}
  .main-nav {
    float: none;
    margin: 20px auto;
    padding: 0 30px;
    max-width: 400px;
  }
  .main-nav > li:first-child {
    display: block;
  }
  .main-nav > li {
    display: block;
    text-align: center;
  }
  .main-nav > li+li {border-top: solid 1px #eee;}
  .nav > li > a {
    display: block;
    padding: 8px 0;
    font-weight: 500;
  }
  .nav a.switch-lang {
    margin-left: 0;
    padding: 2px 0 3px 0;
  }
  .submenu {
    padding-bottom: 10px;
  }
  .submenu a {
    display: block;
    padding: 3px 0;
    font-size: 16px;
    color: #666;
  }

  /** 1180: Home ---*/
  .hero-control { bottom: 10px; }
  .hero-content {
    top: 20px;
    width: 330px;
    padding-left: 25px;
  }
  .hero-content h1 {
    font-size: 36px;
    line-height: 44px;
  }
  .hero-content p {
    font-size: 16px;
  }


  .catering-detail .detail-block {
    font-size: 24px;
    line-height: 40px;
  }
}


@media all and (min-width: 981px) {
  .submenu {
    display: none;
    position: absolute;
    top: 40px;
    left: 0;
    padding: 10px 18px;
    background: #fff;
    box-shadow: 0 -1px 6px rgba(0, 0, 0, 0.3);
    text-align: left;
    font-size: 16px;
    white-space: nowrap;
    z-index: 50;
  }
  .main-nav > li:hover .submenu {
    display: block;
  }
  .submenu:before {
    content: '';
    position: absolute;
    top: -8px;
    left: 20px;
    width: 0; 
    height: 0; 
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    
    border-bottom: 8px solid #fff;
  
    /* box-shadow: 0 -3px 3px rgba(0, 0, 0, 0.2); */
  }
  .submenu a {
    display: block;
    padding: 3px 0;
  }
}



/**-------------------------------------------------------
*  980px or smaller
* ------------------------------------------------------*/
@media all and (max-width: 980px)
{
  section {
    padding: 30px 0;
  }
  

  /** 980 : title ---*/
  .p-title .title {
    font-size: 36px;
    line-height: 48px;
  }
  .p-title .description {
    font-size: 18px;
    line-height: 26px;
  }
  .row2-title .inner {margin: 20px 0;}
  .row2-title .col-title {
    position: relative;
    top: inherit;
    left: inherit;
    margin-bottom: 20px;
    padding: 0;
    width: auto !important;
    text-align: center;
  }
  .row2-title .col-text {margin-left: 0 !important;}

  /** 980 : Room ---*/
  .room-detail .wrap {padding-left: 100px;}
  .room-detail .wrap::before {
    top: 10px;
    left: 40px;
    width: 50px;
    height: 50px;
  }

  .catering-detail .detail-block {
    font-size: 20px;
    line-height: 30px;
  }
}

/**-------------------------------------------------------
*  860px or smaller
* ------------------------------------------------------*/
@media all and (max-width: 840px)
{
  .social-nav li+li {margin-left: 10px;}
  .social-nav a {width: 20px;}
  /* .social-nav a.youtube {width: 24px;} */

  /** 860 : Header, nav and footer -------*/
  .footer-contact {
    padding-right: 200px;
    min-height: 130px;
  }
  .footer-social {
    padding-right: 20px;
    max-width: none;
  }
  .footer-social .social-nav {
    margin-top: 3px;
  }
  .footer-social .qr {
    position: relative;
    top: inherit;
    right: inherit;
  }
  .footer-social .qr {
    margin-top: 5px;
    width: 72px;
  }

  /** 860: Homepage --*/
  .hero {margin: 20px 0;}
  .hero-slide {height: 54vw;}
  .hero-slide .item {width: 100%;}
  .hero-control {
    bottom: 20px;
    right: 30px;
  }
  .hero-control span {
    margin: 8px 0;
    font-size: 12px;
  }
  .hero-content {
    position: relative;
    top: inherit;
    left: inherit;
    margin: -5vw 0 0 -10px;
    padding: 20px;
    width: 80%;
  }
  .home-contact .qr {
    width: 230px;
    height: 230px;
  }
  .home-contact .wrap-inner {
    padding-left: 260px;
  }


  /** 860: About ---*/
  .vision-detail .detail-block h3 {
    font-size: 32px;
    line-height: 40px;
  }
  .vision-detail .detail-block h4 {
    margin-left: 20px;
    font-size: 24px;
  }
  .award-content {margin-right: 30px;}
  .award-content p {
    font-size: 16px;
    line-height: 24px;
  }
  .award-content::before {
    top: 20px;
    left: 20px;
    width: 44px;
    height: 44px;
  }
  .award-content { padding: 10px 20px 15px 80px;}
  .award-item:nth-child(2n) { float: right; }
  .award-item:nth-child(2n) .award-content {
    margin-right: 0;
    margin-left: 30px;
    padding: 10px 80px 15px 20px;
  }
  .award-item:nth-child(2n) .award-content::before {
    left: inherit;
    right: 20px;
  }

  /** 860: Room list ----*/
  .room-list-image,
  .room-list-item:nth-child(2n) .room-list-image {
    margin-left: 0;
    margin-right: 0;
  }
  .room-list-content,
  .room-list-item:nth-child(2n) .room-list-content {
    position: relative;
    top: inherit;
    left: inherit;
    margin: -20px 30px 0 30px;
    padding: 35px 20px 40px 30px;
    width: auto;
  }

  /** 860: Seminar ---*/
  .seminar-niwetrath .col-image,
  .seminar-niwetrath .col-content,
  .seminar-pailin .col-image,
  .seminar-pailin .col-content,
  .seminar-pailin .col {
    float: none;
    width: auto;
  }
  .seminar-niwetrath .content,
  .seminar-pailin .content {
    padding: 15px 0 0 0;
  }

  /** 860: Catering --*/
  .bonquet-item+.bonquet-item { margin-top: 40px;}
  .bonquet-image { margin-right: 0; }
  .bonquet-content {
    position: relative;
    top: inherit;
    left: inherit;
    margin: 0;
    padding: 25px 15px;
    width: auto;
  }

  /** 860: Gallery --*/
  .gallery {
    overflow-x: hidden;
  }
  .gallery-tab {
    text-align: left;
    overflow-x: scroll;
    overflow-y: inherit;
  }
  .gallery-tab ul {
    white-space: nowrap;
  }
  .gallery-tab a {
    margin: 0;
  }
  .gallery-tab .active a:after {
    z-index: 100;
  }

  /** 860: Contact us --*/
  .page-contact .row-info .col {
    float: none;
    width: auto;
  }
  .contact-form {
    margin-top: 40px;
    padding-left: 0;
  }
}

/**-------------------------------------------------------
*  720px or smaller
* ------------------------------------------------------*/
@media all and (max-width: 720px)
{
  /** 980 : Header, nav and footer ----*/
  .header {min-height: 44px;}
  .header .logo {padding: 5px 0 0 48px;}
  .header .logo img.lertnimit-logo {
    top: 4px;
    height: 36px;
  }
  .header-award {
    top: 6px;
    right: 40px;
  }
  .header .company-name {
    font-size: 18px;
    line-height: 18px;
  }
  .header .company-name-en {
    font-size: 13px;
    line-height: 13px;
  }
  .menu-toggle {
    width: 44px;
    height: 44px;
  }

  
  .p-title .title,
  .row2-title .col-title h1 {
    font-size: 26px;
    line-height: 32px;
  }
  .p-title .description,
  .row2-title .col-text {
    font-size: 16px;
    line-height: 24px;
  }

  /** 720: Room ---*/
  .room-list-item + .room-list-item {
    margin-top: 40px;
  }
  .room-list-content,
  .room-list-item:nth-child(2n) .room-list-content {
    position: relative;
    top: inherit;
    left: inherit;
    margin: 0;
    padding: 25px 15px;
    width: auto;
  }

  /** 720: restaurant ---*/
  .chef { margin: 0 10px; }
  .chef figure,
  .chef .detail-block {
    float: none;
    width: auto;
  }
  .chef .detail-block {
    padding: 10px;
  }
}


/**-------------------------------------------------------
*  640px or smaller
* ------------------------------------------------------*/
@media all and (max-width: 640px)
{
  .wrap {padding: 0 15px}
  .top-image { padding-bottom: 30px; }

  .middle-line {
    font-size: 24px;
    line-height: 30px;
  }
  /*** 01.2.1 : custom text size */
  .middle-line.small {
    font-size: 20px;
    line-height: 26px;
  }
  .middle-line.very-small {
    font-size: 18px;
    line-height: 24px;
  }
  .middle-line.tiny {
    font-size: 16px;
    line-height: 20px;
  }

  /** 640 : Header, nav and footer -------*/
  .footer .inner {
    float: none;
    margin: auto;
    max-width: 360px;
  }
  .footer-contact {
    padding-right: 0;
  }
  .footer-social,
  .footer-social .qr {
    position: relative;
    top: inherit;
    right: inherit;
  }
  .footer-social {
    margin: 15px 0 0 90px;
  }
  .footer-social .qr {
    margin-top: 10px;
    width: 150px;
    height: auto;
  }


  /** 640: homepage ---*/
  .home-contact {margin-bottom: 30px;}
  .home-contact .wrap-inner {
    padding: 0 20px;
    min-height: 0;
  }
  .home-contact .qr {
    display: none;/* display: block;
    position: relative;
    top: inherit;
    left: inherit; */
  }


  /** 640: About ---*/
  .about-detail .col-image,
  .about-detail .col-content {
    float: none;
    padding: 0;
    width: auto;
  }
  .about-detail .col-content { padding: 0 0 30px 0; }
  .about-detail .detail-block h3 { margin-top:0;}
  .col-content::before {display: none;}
  .target-detail .col-image {margin-top: 0;}
  .award-list { padding-top: 0; }
  .award-list::before {
    left: 10px;
    top: 0;
    height: 100%;
  }
  .award-item .icon,
  .award-item:nth-child(2n) .icon {
    top: 20px;
    right: inherit;
    left: -20px;
    transform: translateX(50%);
  }
  .award-item,
  .award-item:nth-child(2n) {
    float: none;
    margin-top: 20px;
    width: auto;
  }
  .award-content,
  .award-item:nth-child(2n) .award-content {
    position: relative;
    margin: 0 0 0 40px;
    padding: 10px 20px 15px 80px;
  }
  .award-content::before,
  .award-item:nth-child(2n) .award-content::before {
    top: 15px;
    left: 20px;
    right: inherit;
    width: 40px;
    height: 40px;
  }
  .award-content::after {
    right: inherit;
    left: -10px;
    border-top: 10px solid transparent;
    border-left: none;
    border-right: 10px solid #fff;
    border-bottom: 10px solid transparent;
  }

  /** 640: Room ---*/
  .room-detail .wrap {
    padding-top: 30px;
    padding-left: 20px;
  }
  .room-detail .wrap::before {
    top: -30px;
    left: 20px;
    width: 50px;
    height: 50px;
  }
  .room-detail .img-full-width {
    margin-top: 30px;
  }

  /** 640: restaurant --*/
  .page-restaurant .p-title img {
    right: 15px;
    width: 72px;
    height: 72px;
  }
  .page-restaurant .p-title .wrap {
    padding-right: 100px;
  }

  /** 640: catering --*/
  .page-catering-tour .about-detail {
    padding-bottom: 40px;
  }
  .bonquet-content .title {
    margin-bottom: 5px;
  }
  .bonquet-item+.bonquet-item { margin-top: 20px; }
}

/**-------------------------------------------------------
*  520px or smaller
* ------------------------------------------------------*/
@media all and (max-width: 520px)
{

}


/**-------------------------------------------------------
*  480px or smaller
* ------------------------------------------------------*/
@media all and (max-width: 400px)
{
  .footer .inner {max-width: 240px;}
  .footer-contact {padding-left: 0;}
  .footer-contact .logo {
    text-align: center;
    margin-bottom: 20px;
  }
  .footer-contact img {
    position: relative;
    top: inherit;
    left: inherit;
  }
  .footer-social {
    margin-left: 0;
    text-align: center;
  }
  .footer-social .qr {
    float: none;
    margin: 10px auto 0 auto;
  }
}
