

@font-face {
    font-family: 'Skate';
    src: url('../fonts/Skate-Bold.woff2') format('woff2'),
        url('../fonts/Skate-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

:root {
  --primary: #ae1e55;
  --secondary: #FFEB55;
  --bg-light: #fff4f4;
  --dark: #b6b7b7;
  --color-text: #000;
}


@charset "utf-8";

html, body {
    overflow-x: hidden;
    scroll-behavior: smooth;
}
body {
    margin: 0px auto;
    font-size: 16px;
    font-family: 'Roboto', sans-serif;
    overflow-x: hidden;
}
* {
    margin: 0;
    padding: 0;
    outline: none;
    text-decoration: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
}
ul {
    padding: 0px;
    list-style: none;
}
.row {
    margin-left: -10px;
    margin-right: -10px;
}
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding-left: 15px;
    padding-right: 15px;
    position: relative;
}
.flex {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
.flex-center {
    display: flex;
    display: -webkit-flex;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    align-items: center;
}
.clr {clear: both;}

.m-0 {
    margin: 0;
}
img {
    max-width: 100%;
}

p {
    line-height: 1.6;
    color: #4d4d4d;
}
h1, h2 {
    font-weight: 500;
    margin-bottom: 25px;
}
p.sub_title {
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 10px;
    margin-right: 50px;
}
.sticky {
  position: fixed;
  top: 0;
  width: 100%;
}

.breadcrumb {
    background: url(../images/bg-banner.jpg) no-repeat center bottom;
    background-size: cover;
    padding: 50px 0;
}
.breadcrumb h1 {
    font-family: 'Skate';
    color: var(--primary);
    font-size: 45px;
    text-align: center;
    margin: 0;
}

p.short-title {
    color: var(--color-text);
}

.section-padding {
    padding: 70px 0;
}

.btn {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  position: relative;
  font-family: 'Heebo', sans-serif;
  padding: 15px 40px;
  border: 0;
  background: var(--primary);
  color: #ffffff;
  font-weight: 500;
  font-size: 1em;
  border-radius: 10px;
  overflow: hidden;
  cursor: pointer;
  transition: 0.3s ease-in-out;
  margin-top: 30px;
}

.btn:hover {
  text-shadow: 0px 5px 10px rgba(0, 0, 0, 0.562);
  box-shadow: inset 0px 0px 10px rgba(255, 0, 0, 0.575);
}

.btn::after {
  content: "";
  position: absolute;
  top: 0;
  left: -50px;
  width: 35%;
  height: 80%;
  transform: rotate(80deg);
  background: #ffffff77;
  filter: blur(10px);
  transition: 0.6s ease-in-out;
}

.btn:hover::after {
  left: 100%;
}

/*============ MAIN ============*/
.home-banner {
    position: relative;
}
.home-banner:before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/bg-banner.jpg) no-repeat center bottom;
    background-size: cover;
    position: absolute;
    left: 0;
    bottom: 0;
}
.home-banner .banner-slide {
    position: relative;
    z-index: 5;
}
.home-banner .banner-slide img {
    border-radius: 100%;
    border-top-right-radius: 100px;  
}
.home-banner .item-banner {
    max-width: 1200px;
    margin: 0 auto;
    align-items: center;
}
.home-banner .banner-img {
    width: 50%;
    margin-left: auto;
}
.home-banner .banner-title {
    width: 50%;
    padding-right: 50px;
}
.home-banner .banner-title h1 {
    font-size: 3rem;
    line-height: 4rem;
    color: var(--primary);
    text-transform: uppercase;
}
.home-banner .banner-title h1 span {
    font-family: 'Skate';
    display: block;
    font-size: 6rem;
    line-height: 6rem;
    letter-spacing: 5px;
    text-transform: capitalize;
}
.home-banner .banner-title p {
    font-size: 25px;
    line-height: 35px;
}

.home-banner .owl-prev,
.home-banner .owl-next {
    opacity: 1 !important;
    font-size: 90px !important;
    background: none;
    border: none;
    color: var(--primary);
}
.home-banner .owl-prev:hover,
.home-banner .owl-next:hover {
    color: #fd3535;
}

.about {
    position: relative;
    background: var(--bg-light);
}
.about:before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/bg-service-01.png) no-repeat center top;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
}
.about .col {
    width: 50%;
}
.about .about-img img {
    border-radius: 20px;
    box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}
.about .about-txt {
    padding-left: 50px;
}
.about .about-txt h2 {
    color: var(--primary);
    font-size: 2.5rem;
    line-height: 3.5rem;
    text-transform: uppercase;
    font-weight: 500;
    margin-bottom: 25px;
    margin-top: 25px;
}
.about .about-txt h2 span {
    font-family: 'Skate';
    display: block;
    text-transform: capitalize;
    font-size: 4.5rem;
}
.about p {
    font-size: 18px;
    line-height: 28px;
}

.gallery {
    background: var(--bg-light);
    padding-bottom: 50px;
    position: relative;
}
.gallery .container {
    z-index: 2;
}
.gallery:after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/bg-service-02.png) no-repeat;
    background-size: cover;
    background-position: 50% 50%;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0.5;
}
.gallery h2 {
    font-family: 'Skate';
    color: var(--primary);
    text-align: center;
    font-size: 45px;
    line-height: 55px;
}
.gallery .box {
    position: relative;
    background: #fff;
    padding: 10px;
    margin-bottom: 30px;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}
.gallery .box img {
    border-radius: 5px;
}
.gallery .owl-prev,
.gallery .owl-next {
    width: 40px;
    height: 40px;
    font-size: 40px;
    background: var(--primary);

}
.gallery .owl-prev span,
.gallery .owl-next span {
    line-height: 37px;
}

.specialties {
    position: relative;
    background: var(--bg-light);
}
.specialties:before {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/bg-service-02.png) no-repeat center;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 0;
}

.specialties h2 {
    font-family: 'Skate';
    color: var(--primary);
    text-align: center;
    font-size: 45px;
    line-height: 55px;
}
.specialties .box {
    width: calc(100% / 4 - 20px);
    margin: 10px;
    position: relative;
    background: #fff;
    padding: 10px;
    border-radius: 10px;
    box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}
.specialties .box img {
    border-radius: 5px;
}
.specialties .list-social {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    padding-top: 100px;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: .5s;
}
.specialties .box:hover .list-social {
    opacity: 1;
    visibility: visible;
    padding-top: 0;
}
.specialties .list-social a {
    position: relative;
    margin: 6px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    color: #fff;
    background: var(--primary);
    font-size: 18px;
    transition: all .3s ease;
}
.specialties .list-social a:hover {
    background: var(--secondary);
    color: var(--color-text);
}

.home-about.page .row {
    align-items: center;
}
.home-about.page .about-txt {
    width: 65%;
    padding-left: 0;
    padding-right: 20px;
}
.home-about.page .about-img {
    width: 35%;
}
.home-about.page .about-img img {
    border-radius: 100%;
}

.specialties.gallery .box {
    width: 100%;
    margin-bottom: 25px;
}

.specialties.gallery .owl-prev,
.specialties.gallery .owl-next {
    opacity: 1 !important;
    font-size: 90px !important;
    background: none;
    border: none;
    color: var(--primary);
}
.specialties.gallery .owl-prev {
    left: -7%;
}
.specialties.gallery .owl-next {
    right: -7%;
}


.specialties.page {
    background: var(--bg-light);
}
.specialties.page .container {
    z-index: 2;
}
.specialties.page:before {
    content: "";
    width: 100%;
    height: 50%;
    background: url(../images/bg-service-01.png) no-repeat center top;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.5;
}

.specialties.page .list-social {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    padding-top: 100px;
    visibility: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: .5s;
}
.specialties.page .box {
    width: calc(100% / 3 - 20px);
    margin: 10px;
    position: relative;
}


.service.page {
    position: relative;
    background: var(--bg-light);
    color: #fff;
}
.service.page .container {
    z-index: 5;
}
.service:before {
    content: "";
    width: 100%;
    height: 50%;
    background: url(../images/bg-service-01.png) no-repeat center top;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.5;
}
.service:after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/bg-service-02.png) no-repeat center bottom;
    background-size: cover;
    position: absolute;
    left: 0;
    bottom: 0;
    opacity: 0.5;
}
.service.page .service-name {
    margin-bottom: 50px;
}
.service.page > .row {
    border-bottom: solid 1px #ddd;
}
.service.page .col-img {
    width: 25%;
}
.service.page .col-img img {
    box-shadow: rgba(0, 0, 0, 0.45) 0px 25px 20px -20px;
}
.service.page .col-detail {
    width: 75%;
    padding-left: 30px;
}
.service.page .col-detail h2 {
    font-size: 26px;
    color: var(--primary);
    margin-bottom: 15px;
    text-transform: uppercase;
}
.service.page .service_item {
    border-bottom: dashed 1px #b9b9b9;
    padding: 10px 0;
}

.service.page h3 {
    color: #000;
    font-size: 20px;
    margin-bottom: 20px;
    text-transform: capitalize;
}
.service.page .service_item p {
    color: #333;
    font-size: 16px;
}
.service.page .service_item p.name {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
    font-weight: 500;
    padding-right: 20px;
}
.service.page .service_item p.gia {
    flex: 0 0 auto;
    width: 16.6666666667%;
    color: var(--primary);
    font-weight: bold;
    align-items: center;
}
.service.page .service_item p {
    font-size: 16px;
    color: var(--color-text);
    font-weight: 400;
    display: block;
}
.service.page .service_item p.note,
.service.page span.note {
    font-size: 14px;
    color: #989898;
    font-weight: 400;
    display: block;
    text-align: justify;
    padding-top: 5px;
}
.service.page span.note {
    display: inline-block;
}

.line-dash {
    border: 1px solid rgba(255, 255, 255, 0.05);
    height: 0.5px;
    width: 100%;
    margin: 40px 0;
}


.contact.page {
    background: var(--bg-light);
}
.contact.page .contact-item {
    width: calc(100% / 3 - 20px);
    margin: 10px;
    text-align: center;
    color: #fff;
}
.contact.page .contact-item h3 {
    font-size: 22px;
    margin: 15px 0;
    color: #000;
}
.contact.page .contact-item a {
    font-size: 16px;
    line-height: 26px;
    color: #000;
    transition: all .3s ease;
}
.contact.page .contact-item a:hover {
    color: var(--primary);
}
.contact.page .contact-item i {
    width: 50px;
    display: block;
    height: 50px;
    border-radius: 100%;
    background: var(--primary);
    color: #fff;
    line-height: 50px;
    margin: 0 auto;
}


/*============ FOOTER ============*/
footer {
    background: #fbf8f5;
    padding-bottom: 0 !important;
}
footer .col {
    padding: 0 10px;
}
footer .col-info {
    width: 40%;
}
footer .col-hr {
    width: 35%;
}
footer .col-link {
    width: 25%;
}
footer h2 {
    margin-bottom: 0;
    color:var(--primary);
    font-size: 25px;
}
footer ul {
    padding-top: 10px;
}
footer ul li {
    margin: 10px 0;
    line-height: 1.6;
    color: var(--color-text);
}
footer ul li a {
    font-size: 15px;
    color: var(--color-text);
    padding-left: 5px;
}
footer ul li:hover a,
footer ul li:hover i,
footer ul li a.active {
    color: var(--primary);
}
footer ul li span {
    display: inline-block;
}
footer .list-social {
    display: flex;
    flex-direction: row;
}
footer .list-social li {
    margin: 0;
}
footer .list-social a {
    position: relative;
    margin: 6px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 40px;
    color: var(--color-text);
    border: solid 1px var(--color-text);
    font-size: 18px;
    transition: all .2s ease;
    padding: 0;
}
footer .list-social a i {
    transition: all .2s ease;
}
footer .list-social a:hover {
    border: solid 1px var(--primary);
    background: var(--primary);
}
footer .list-social a:hover i {
    color: #fff;
}
.footer-end {
    padding: 20px 0;
    margin-top: 20px;
    background: var(--primary);
}
.footer-end p {
    color: #fff;
    text-align: center;
}
.footer-end a {
    color: var(--secondary);
}
.footer_top,
.footer_bottom {
    padding: 50px 0;
    background: #e8e8e8;
}
.footer_top .row,
.footer_mid .row  {
    margin: 0 -20px;
}
.footer_top .ft_top_left,
.footer_top .ft_top_right {
    width: 50%;
    padding: 0 20px;
}
.footer_mid {
    background: #fff;
    padding: 30px 0;
}
.footer_mid .ft_mid_col {
    width: 25%;
    padding: 0 20px;
}
.footer_bottom ul li {
    margin: 5px 0;
}
.footer_bottom .ft_bottom_right {justify-content: flex-end;}
.footer_bottom .ft_bottom_left {
    width: 75%
}
.footer_bottom .ft_logo_right {
    width: 45%;
}
.footer_bottom .ft_bottom_right,
.footer_bottom .ft_logo_left {
    width: 24%;
}

footer .logo-footer {
    display: block;
    max-width: 30%;
}

#back-top {
  display: inline-block;
    background: #fff;
    width: 38px;
    height: 38px;
    text-align: center;
    border-radius: 4px;
    position: fixed;
    bottom: 20px;
    right: 20px;
    transition: background-color .3s, opacity .5s, visibility .5s;
    opacity: 0;
    visibility: hidden;
    z-index: 1000;
    border: solid 2px var(--primary);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
}
#back-top::after {
  content: "\f077";
  font-family: FontAwesome;
  font-weight: normal;
  font-style: normal;
  font-size: 2em;
    line-height: 35px;
    color: var(--primary);
  font-size: 20px;
}
#back-top:hover:after {
  cursor: pointer;
  color: #fff;
}
#back-top:active,
#back-top:hover {
  background: var(--primary);
}
#back-top.show {
  opacity: 1;
  visibility: visible;
}

.action-book {
  position: fixed;
  right: 20px;
  bottom: 60px;
  z-index: 99;
}
.action-book .booking-now-border {
    width: 40px;
    height: 40px;
    margin: 10px 0;
    margin-left: auto;
    text-align: center;
    text-transform: capitalize;
    color: #fff;
    border: solid 2px #fff;
    display: block;
    overflow: hidden;
    border-radius: 5px;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px;
    transition: all .3s ease;
    text-decoration: none;
    background: var(--primary);
}
.action-book .booking-now-border i {
  line-height: 35px;
}
.action-book .booking-now-border span {
  line-height: 35px;
  opacity: 0;
  visibility: hidden;
  margin-left: 5px;
  transition: all .3s ease-in-out;
  color: var(--text-dark);
}

.action-book .booking-now-border:hover {
  width: 140px;
  background: var(--primary);
}

.action-book .booking-now-border:hover span {
  display: inline-block;
  opacity: 1;
  visibility: visible;
  color: var(--black);
}
.action-book .booking-now-border:hover i {
    color: var(--text-dark);
}

/*============= HEADER =============*/
.header {
    background: var(--primary);
    box-shadow: rgba(33, 35, 38, 0.1) 0px 10px 10px -10px;
    padding: 0;
    position: relative;
    z-index: 99;
    transition: all .3s ease;
}
.header .navbar {
    align-items: center;
    position: relative;
    justify-content: space-between;
    transition: all .3s ease;
}
.header .logo {
    position: relative;
    width: 10%;
    transition: all .3s ease;
    padding: 10px 0;
}
/*
.header .logo:before {
    content: "";
    width: 100%;
    height: calc(100% + 1px);
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    transform: skew(20deg);
}
*/
.header .logo img {
    display: block;
    position: relative;
}
.header.fixed {
    width: 100%;
    position: fixed;
    top: 0;
    padding: 0;
}
.header.fixed .logo {
    width: 8%;  
}

.navbar-nav {
    width: 70%;
    justify-content: flex-end;
}
.navbar-nav li {
    padding: 25px 0;
    position: relative;
    list-style: none;
}
.navbar-nav a {
    color: #fff;
    font-size: 18px;
    padding: 5px 20px;
}
.header .navbar a.navbar-toggler {
    width: 50px;
    height: 40px;
    font-size: 20px;
    background: #fff;
    border-radius: 5px;
    border: none;
    display: none;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    text-align: center;
    line-height: 40px;
    color: var(--primary);
}
.navbar-nav li:last-child a {
    padding-right: 0;
    transition: all .2s ease;
}
.navbar-nav li a:hover,
.navbar-nav li a.active {
    color: var(--secondary);
}

/*======= Hotline Chân trang ========*/
.contact-hotline {
    background: #dd1b5c;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 99;
    width: 100%;
    -webkit-box-shadow: 0 -1px 0 rgb(0 0 0 / 20%);
    -moz-box-shadow: 0 -1px 0 rgba(0,0,0,.2);
    box-shadow: 0 -1px 0 rgb(0 0 0 / 20%);
}
.contact-hotline .hotline {
    width: 33%;
    padding: 15px 20px;
    justify-content: center;
}
.contact-hotline .hotline_mid {
    border-right: solid 2px #fff;
    border-left: solid 2px #fff;
}
.contact-hotline ul li {
    font-size: 15px;
}
.contact-hotline ul li,
.contact-hotline ul li a {
    color: #fff;
}
.contact-hotline ul li a {
    font-size: 20px;
    font-weight: bold;
    margin: 0 10px;
}
