:root {
  --bg-contact: #f6f6f6;
  --color-contact: #111915;
  --bg-contact-btn: #6464bc;
  --color-contact-btn: #ffffff; }

.greenweave-layout-contact {
  background: var(--bg-contact);
  color: var(--color-contact); }
  .greenweave-layout-contact .button {
    position: relative;
    z-index: 1;
    overflow: hidden;
    display: inline-block;
    padding: 18px 45px;
    line-height: normal;
    color: var(--color-contact-btn);
    background-color: var(--bg-contact-btn);
    border: none;
    border-radius: 30px;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
    letter-spacing: 1px;
    outline: none !important;
    -webkit-transition: all 0.45s;
    transition: all 0.45s; }
    @media (min-width: 992px) {
      .greenweave-layout-contact .button:hover, .greenweave-layout-contact .button.has-hover, .greenweave-layout-contact .button:focus {
        opacity: 0.8; } }
    @media (max-width: 767px) {
      .greenweave-layout-contact .button {
        font-size: 12px;
        padding: 8px 15px;
        min-height: 35px;
        display: inline-flex;
        align-items: center;
        justify-content: center; } }
  .greenweave-layout-contact .sitebox-recaptcha {
    padding: 6px 0 0;
    text-align: left;
    font-size: 13px;
    clear: both; }

#btn-scroll {
  scroll-margin-block-start: 120px; }
  @media (max-width: 767px) {
    #btn-scroll {
      scroll-margin-block-start: 100px; } }

.greenweave-contact-breadcrumb {
  padding: 120px 0;
  text-align: center; }
  .greenweave-contact-breadcrumb h1 {
    font-size: 58px;
    margin-bottom: 25px; }
  .greenweave-contact-breadcrumb .icon-down a svg {
    fill: var(--color-contact); }
  @media (max-width: 767px) {
    .greenweave-contact-breadcrumb {
      padding: 60px 0 20px; }
      .greenweave-contact-breadcrumb h1 {
        font-size: 28px;
        margin-bottom: 15px; } }

.contact-map .map {
  display: flex; }
  .contact-map .map iframe {
    min-height: 590px; }

@media (max-width: 767px) {
  .contact-map .map iframe {
    min-height: 250px; } }

.contact-info {
  padding: 80px 0; }
  .contact-info .list-info .info span {
    opacity: 0.6; }
  .contact-info .list-info .info:not(:last-child) {
    margin-bottom: 30px; }
  .contact-info .list-info .info li {
    font-size: 18px; }
    .contact-info .list-info .info li:not(:last-child) {
      margin-bottom: 8px; }
  .contact-info .list-info .info.info-email a {
    color: currentcolor;
    position: relative;
    display: inline-block; }
    .contact-info .list-info .info.info-email a span {
      opacity: 0.6; }
    .contact-info .list-info .info.info-email a:before {
      content: '';
      position: absolute;
      bottom: -5px;
      left: 50%;
      width: 0;
      height: 2px;
      background: currentcolor;
      transition: all 0.3s; }
    .contact-info .list-info .info.info-email a:hover span {
      opacity: 1; }
    .contact-info .list-info .info.info-email a:hover:before {
      left: 0;
      width: 100%; }
  .contact-info .list-info .info.info-phone a {
    color: currentcolor;
    font-size: 20px;
    font-weight: 600; }
    .contact-info .list-info .info.info-phone a span {
      opacity: 1; }
  .contact-info .contact-social {
    display: flex;
    flex-flow: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 30px; }
    .contact-info .contact-social a {
      color: currentColor; }
    .contact-info .contact-social i,
    .contact-info .contact-social svg {
      width: 45px;
      height: 45px;
      font-size: 19px;
      text-align: center;
      border: 1px solid #e6e6e6;
      border-radius: 50%;
      -webkit-transition: all 0.2s ease;
      -moz-transition: all 0.2s ease;
      transition: all 0.2s ease; }
    .contact-info .contact-social .social-svg svg {
      padding: 10px;
      fill: currentColor; }
    .contact-info .contact-social .social-svg.svg-lazada svg path {
      stroke: currentColor; }
  .contact-info .form .contact-form .input-group {
    position: relative;
    margin-bottom: 30px; }
    .contact-info .form .contact-form .input-group.group-text {
      margin-bottom: 0; }
    .contact-info .form .contact-form .input-group .icon-form {
      position: absolute;
      top: 10px;
      left: 0;
      z-index: 1; }
      .contact-info .form .contact-form .input-group .icon-form svg {
        fill: currentcolor;
        opacity: 0.6; }
    .contact-info .form .contact-form .input-group .line:before {
      content: '';
      position: absolute;
      bottom: 0;
      left: 0;
      width: 0;
      height: 1px;
      background: currentcolor;
      transition: all 0.3s; }
    .contact-info .form .contact-form .input-group input,
    .contact-info .form .contact-form .input-group textarea {
      background: none;
      border: none;
      border-bottom: 1px solid #e6e6e6;
      border-radius: 0;
      padding: 12px 10px 12px 40px;
      box-shadow: none; }
    .contact-info .form .contact-form .input-group input {
      height: 50px; }
    .contact-info .form .contact-form .input-group textarea {
      height: 100px; }
    .contact-info .form .contact-form .input-group input[type="checkbox"] {
      width: 18px;
      height: 24px;
      flex: 0 0 18px;
      appearance: checkbox;
      -webkit-appearance: checkbox;
      margin-right: 10px; }
    .contact-info .form .contact-form .input-group label {
      margin: 0;
      opacity: 0.6;
      flex: 0 0 calc(100% - 30px);
      font-size: 14px; }
    .contact-info .form .contact-form .input-group:not(.error) input:focus + .line:before,
    .contact-info .form .contact-form .input-group:not(.error) textarea:focus + .line:before {
      width: 100%; }
    .contact-info .form .contact-form .input-group:not(.error):hover .line:before {
      width: 100%; }
  .contact-info .form .cta-submitform {
    margin-top: 30px; }
    .contact-info .form .cta-submitform .icon {
      margin-right: 10px; }
      .contact-info .form .cta-submitform .icon svg {
        fill: var(--color-contact-btn); }
  @media (min-width: 1200px) {
    .contact-info .form {
      padding-left: 50px; } }
  @media (min-width: 768px) {
    .contact-info .heading-title .title2 {
      font-size: 28px; } }
  @media (max-width: 767px) {
    .contact-info {
      padding: 40px 0; }
      .contact-info .list-info .info:not(:last-child) {
        margin-bottom: 20px; }
      .contact-info .list-info .info li {
        font-size: 14px; }
      .contact-info .list-info .info.info-phone a {
        font-size: 18px; }
      .contact-info .form {
        margin-top: 30px; }
        .contact-info .form .contact-form .input-group {
          margin-bottom: 15px; }
          .contact-info .form .contact-form .input-group input,
          .contact-info .form .contact-form .input-group textarea {
            font-size: 14px; }
        .contact-info .form .btn-form {
          text-align: center; } }
