@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,600;0,700;1,400&display=swap');
:root {
--primary-color : #B27880 ;
--secondary-color: #E5B3BA;
--bg: #faedef;
--text-dark : #000;
--text-light : #fff;
--white : #fff;
--black : ;

/* size */
--max-width : 1200px ;
--header-height: 100px;
--gap : 30px ;
--radius : 12px ;


/* font family */
--main-font : 'Open Sans', sans-serif;;
--title-font : 'Playfair Display', serif;
;
--script-font : ;

/* font size */
--biger-fz : 54px;
--big-fz : 34px;
--large-fz : 24px;
--title-fz : 20px;
--body-fz : 16px;
--small-fz : 14px;
--smalless-fz : 12px;
}

/* RESPONSIVE ROOT */
@media (width > 480px) {
:root {

--gap : 34px ;

/* font size */

}
}

@media (width > 768px) {
:root {
    
    --gap : 38px ;
    --title-fz:24px;
    /* font size */
    --biger-fz : 64px;
    --big-fz : 44px;
    --large-fz : 32px;
    --title-fz : 24px;
    --body-fz : 16px;
    --small-fz : 14px;
    --smalless-fz : 13px;
}

}

@media (width > 1024px) {
:root {
    
    --gap : 40px ;
    --title-fz: 32px;
    /* font size */
    --biger-fz : 68px;
    --big-fz : 48px;
    --large-fz : 36px;
    --body-fz : 16px;
    --small-fz : 14px;
    --smalless-fz : 13px;
}

}

/* ========================================== */
/* RESET CSS */
*,*::before, *::after {
box-sizing: border-box;
}
* {
padding: 0;
margin: 0;
}
html,
body {
scroll-behavior: smooth;
}
body {
line-height: 1.5;
-webkit-font-smoothing: antialiased;
}
img {
max-width: 100%;
display: flex;
}
a{
text-decoration: none;
color: inherit;
}
i{
color: inherit;
}
input , textarea {
outline: none;
font: inherit;
}
p, h1, h2, h3, h4, h5, h6 {
overflow-wrap: break-word;
}
ol,ul,li {
list-style: none;
}
/* ================================================ */

/* ELEMENT */

.container {
max-width: var(--max-width);
padding: 0 20px;
margin: 0 auto;
overflow: hidden;
}
body {
font-family: var(--main-font);
font-size: var(--body-fz);
}
.btn {
padding: 8px 24px;
outline: none;
border-radius: 8px;
transition: .3s;
cursor: pointer;
display: inline-flex;
justify-content: center;
align-items: center;
gap: 6px;
}
.btn-primary {
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
}
.btn-primary:hover {
    transform: translateY(-2px);
}
.text-bold {
font-weight: bold;
}
.text-semibold {
font-weight: 600;
}
.text-italic {
font-style: italic;
}
.text-center {
text-align: center;
}
.section-title {
    font-size: var(--title-fz);
    font-family: var(--title-font);
    margin-bottom: 12px;
}

/* ===================================== */
/* MAIN */
header {
position: relative;
padding: 20px 0;
width: 100%;
background-color: rgba(255, 255, 255, 0.524);
z-index: 99;
backdrop-filter: blur(2px);
-webkit-backdrop-filter: blur(2px);
}
.top-logo {
display: flex;
justify-content: center;
}
.top-logo img {
max-height: 100px;
}
.toggle-menu {
display: flex;
justify-content: center;
padding: 12px 0;
cursor: pointer;
}
.toggle-menu i {
color: var(--primary-color);
font-size: 24px;
}
#nav-links {
display: flex;
gap: 40px;
flex-direction: column;
justify-content: center;
align-items: center;
position: absolute;
background-image: linear-gradient(
    to bottom right,
    var(--primary-color),
    var(--white),
    var(--primary-color),
    var(--secondary-color)

);
width: 100%;
padding: 80px 20px;
left: 0;
top: calc(var(--header-height) + 68px);
font-size: 24px;
transform: translateY(calc(-100% - (68px + var(--header-height))));
visibility: hidden;
transition: .3s;
z-index: 9;
}
#nav-links.open {
transform: translateY(0);
visibility: visible;
}
#nav-links .nav-item {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
transition: .3s;
}
.nav-item::after {
content: "";
width: 0%;
height: 1px;
background-color: var(--primary-color);
margin-top: 2px;
transition: .3s;
}
.nav-item:hover::after ,.nav-item.active::after {
width: 100%;
}
.nav-item:hover,.nav-item.active {
color: var(--primary-color);
}

/* BANNER */
.banner {
background-size: cover;
background-repeat: no-repeat;
background-position: center;
min-height: calc(100vh - (98px + var(--header-height)));
position: relative;
display: flex;
flex-direction: column;
justify-content:end;
position: relative;
z-index: 1;
padding-bottom: 80px;
box-shadow: inset 9999px 9999px #00000038;
}
.banner-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    color: var(--text-light);
    row-gap: 20px;
    max-width: 780px;
}
.banner-title {
    font-family: var(--title-font);
    font-size: var(--title-fz);
}
.macbook {
padding: 4% 6%;
margin: 0 auto;
max-width: 100%;
width: 980px;
}
.banner-mockup {
   
}
.screen {
background: #000;
border-radius: 3% 3% 0.5% 0.5% / 5%;
margin: 0 auto;
/* for aspect ratio */
position: relative;
width: 80%;
}

.screen:before {
border: 2px solid #cacacc;
border-radius: 3% 3% 0.5% 0.5% / 5%;
box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.8) inset, 0 0 1px 2px rgba(255, 255, 255, 0.3) inset;
content: "";
display: block;
/* for aspect ratio ~67:100 */
padding-top: 67%;
}

.screen:after {
content: "";
border-top: 2px solid rgba(255, 255, 255, 0.15);
position: absolute;
bottom: 0.75%;
left: 0.5%;
padding-top: 1%;
width: 99%;
}

.viewport {
position: absolute;
bottom: 0;
left: 0;
right: 0;
top: 0;
margin: 4.3% 3.2%;
background: #333;
}

.base {
/* for aspect ratio */
position: relative;
width: 100%;
}

.base:before {
content: "";
display: block;
/* for aspect ratio ~33:1000*/
padding-top: 3.3%;
/* stylin */
background: linear-gradient(#eaeced, #edeef0 55%, #fff 55%, #8a8b8f 56%, #999ba0 61%, #4B4B4F 84%, #262627 89%, rgba(0, 0, 0, .01) 98%);
border-radius: 0 0 10% 10%/ 0 0 50% 50%;
}

.base::after {
background: linear-gradient(90deg, rgba(0, 0, 0, 0.5), rgba(255, 255, 255, 0.8) 0.5%, rgba(0, 0, 0, 0.4) 3.3%, transparent 15%, rgba(255, 255, 255, 0.8) 50%, transparent 85%, rgba(0, 0, 0, 0.4) 96.7%, rgba(255, 255, 255, 0.8) 99.5%, rgba(0, 0, 0, 0.5) 100%);
content: "";
height: 53%;
position: absolute;
top: 0;
width: 100%;
}

.notch {
background: #ddd;
border-radius: 0 0 7% 7% / 0 0 95% 95%;
box-shadow: -5px -1px 3px rgba(0, 0, 0, 0.2) inset, 5px -1px 3px rgba(0, 0, 0, 0.2) inset;
margin-left: auto;
margin-right: auto;
margin-top: -3.5%;
z-index: 2;
/* for aspect ratio */
position: relative;
width: 14%;
}

.notch:before {
content: "";
display: block;
/* for aspect ratio ~1:10 */
padding-top: 10%;
}


/* Screenshot Hover Scroll Additions
-------------------------------------------------------------- */

.macbook .viewport {
transition: background-position 3s ease;
background-position: 0 0;
background-size: 100% auto;
overflow: hidden;
cursor: pointer;
}

.macbook:hover .viewport {
background-position: 0 100%;
}

.macbook .viewport:after {
background: radial-gradient(circle at right bottom, transparent 75%, rgba(255, 255, 255, 0.05) 75%, transparent);
bottom: 0;
content: "";
left: 0;
position: absolute;
right: 0;
top: 0;
}
/* END BANNER */

/* ABOUT */
.about {
    padding: 80px 0;
}
.about-container {
    display: grid;
    gap: var(--gap);
}
.about-media img {
    border-radius: 999px 999px 12px 12px;
    aspect-ratio: 1/1;
    object-fit: cover;
}
/* END ABOUT */

/* TÍNH NĂNG */
.tinhnang {
    background-image: linear-gradient(
        to bottom right,
        
        var(--white),
        var(--primary-color)
    );
    padding: 80px 0;
    color: var(--text-dark);
}
.tinhnang-container {
    display: grid;
    gap: var(--gap);
}
.list-tinhnang {
    display: flex;
    flex-direction: column;
    row-gap: 12px;
}
.tinhnang-media {
    position: relative;
    display: grid;
    grid-template-columns: repeat(2,80% 20%);
}
.box-img1 {
    aspect-ratio: 1/1;
    margin-bottom: 20%;
    overflow: hidden;
    border-radius: var(--radius);
}
.box-img1 img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.box-img2 {
    position: absolute;
    right: 0;
    bottom: 0;
    max-width: 300px;
}
/* END TÍNH NĂNG */

/* TEMPLATE */
.template {
    padding: 80px 0;
}
.template .section-title {
    margin: 0 auto;
    display: block;
    width: 100%;
    text-align: center;
}
.template-container {
    display: grid;
    gap: var(--gap);
    margin-top: 40px;
}
.template-item {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    gap: 12px;
   /* background-image: linear-gradient(
    to bottom,
    var(--secondary-color),
    var(--white)
   ); */
    border-radius: var(--radius);
}
.card-title {
    font-size: 16px;
}
.template-media {
    aspect-ratio: 1/1;
    overflow: hidden;
    border-radius: var(--radius);
}
.template-media img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
/* END TEMPLATE */
/* KHÁCH HÀNG  */
.customer {
   background-image: linear-gradient(
    to bottom,
    var(--white),
    var(--bg)
   );
}
.customer-slide {
    margin-top: 40px;
}
.customer .template-item {
    background: linear-gradient(
        to bottom,
        var(--primary-color),
        var(--white)
    );
    padding-bottom: 20px;
}
/* ENDKHÁCH HÀNG  */

/* FOOTER */
footer {
    padding-top: 40px;
    background-color: var(--text-dark);
    color: var(--text-light);
}
.footer-container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}
.footer-company {
    font-size: 20px;
    font-family: var(--title-font);
    margin: 12px 0 12px 0;
}
.footer-logo {
    max-width: 120px;
}
.social-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 30px;
}
.social-link a {
    color: var(--secondary-color);
    border: 1px solid var(--secondary-color);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    transition: .3s;
}
.social-link a:hover{
    border-color: var(--primary-color);
}
.social-link a:hover i {
    color: var(--primary-color);
}
.footer-bottom {
    padding: 4px 20px;
    background-color: var(--primary-color);
    margin-top: 40px;
    font-size: 14px;
    text-align: center;
}
/* END FOOTER */



/* END MAIN */



/* ========================================== */


/* RESPONSIVE */
@media (width > 480px) {

}

@media (width > 768px) {
.top-logo img {
    max-height: 120px;
}
#menu-btn {
    display: none;
}
.nav-contaienr {
    padding: 20px 0;
}
#nav-links {
    flex-direction: row;
    position: static;
    visibility: visible;
    transform: translateY(0);
    padding: 0;
    background: none;
    font-size: 16px;
    
}
.about-container {
    grid-template-columns: repeat(2, 55% calc(45% - var(--gap)));
    align-items: center;
}
.tinhnang-container {
    grid-template-columns: repeat(2,1fr);
}
.tinhnang-data {
    order: 2;
}
.template-container {
    grid-template-columns: repeat(3,1fr);
}
}

@media (width > 1024px) {

}