/*
Theme Name: Vietcoder Theme
Description: This is a child theme for Flatsome Theme
Author: UX Themes
Template: flatsome
Version: 3.18.6
*/
@import url('https://fonts.googleapis.com/css2?family=Gentium+Book+Plus:ital,wght@0,400;0,700;1,400;1,700&display=swap');

:root {
    --color-primary: 192, 75, 98;
    --color-secondary: 255, 235, 194;
    --color-alert: 236, 69, 60;
    --color-success: 74, 159, 83;
    --color-process: 63, 162, 246;
    --color-warning: 255, 175, 0;
    --color-border-1: 33, 35, 34;
    --color-border-opposite: 255, 255, 255;
    --bg: 255, 255, 255;
    --bg-2nd: 247, 247, 247;
    --bg-opposite: 53, 33, 35;
	--color-text-body: 51, 51, 51;
    --color-text-title: 71, 45, 48 ;

    --blog-img-ratio: 75%;

    --radius-1: 6px;
    --radius-2: 10px;
    --radius-3: 16px;
    --radius-4: 28px;
    --radius-sm: 4px;

    --size-ratio: 1.175;
    --size-small: 16px;
	--size-small-a: 14px;
	
	font-size: 18px;
}

body {
	color: rgb(var(--color-text-body));
}


/* Header ------- */
.header {
    --color-menu: rgb(var(--color-text-title));
    --color-menu-hover: rgb(var(--color-primary));
	--btn-h: 38px;
}

.header-main .header-nav.nav-left {
	justify-content: center;
}

.searchform .autocomplete-suggestions {
    background: rgb(var(--bg));
    color: rgb(var(--color-text-body));
    font-size: 0.95rem;
}

.searchform .autocomplete-suggestion {
	padding:  12px ;
	margin-top: 15px;
	border-radius: var(--radius-1);
}

.searchform .flex-row {
    background-color: transparent;
    border-radius: var(--radius-1);
    border: 1px solid rgb(var(--color-primary));
}

#search-lightbox .searchform-wrapper {
	padding: 20px;
    background: rgb(var(--bg));
    border-radius: var(--radius-2);	
	--input-height: 48px;
}


.header-search>a svg {
    width: var(--btn-h);
    height: var(--btn-h);
    background-color: rgb(var(--color-primary));
    color: rgb(var(--bg));
    padding: 8px;
    border-radius: 50%;
}

.header-search>a svg:hover {
    background-color: rgb(var(--bg-opposite));
    color: rgb(var(--bg));
}

.header-button .button {
	height: var(--btn-h);
    font-size: 1rem;
    line-height: 1.2;
    min-height: unset;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-transform: unset;
    letter-spacing: 0;
    font-weight: bold;
	color: rgb(var(--bg));
	background-color: rgb(var(--color-primary));	
}

.header-button .button:hover {
    color: rgb(var(--bg));
    background-color: rgb(var(--bg-opposite));	
}




/* Custom nav dropdown ---- */ 
#header .nav-dropdown .header-search-form {
	padding: 0 12px;
}

#header .sub-menu,
#header .nav-dropdown {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: stretch;
  padding: 0;
  min-width: 240px;
  background-color: rgb(var(--color-primary));
}

header .nav .nav-dropdown li {
  width: 100%;
  margin: 0;
  border: 0;
  padding: 0;
  position: relative;
  transition: 300ms all;
}

header .nav .nav-dropdown li+li {
  border-top: 0px;
}

#header .sub-menu>li>a,
#header .nav-dropdown>li>a {
	padding: 10px 20px;
	margin: 0;
	border: 0px;
	text-transform: capitalize;
	color: rgb(var(--bg));
	font-size: 0.95rem;
	font-weight: 400;
	position: relative;
}

#header .sub-menu>li>a:hover,
#header .nav-dropdown>li>a:hover {
	color: rgb(var(--bg));
	background-color: rgb(var(--bg-opposite), 20%);
}

header .menu-item-design-default .nav-dropdown-col>a:after {
  content: '\e5e1';
  font-family: var(--ff-material-round);
  float: right;
  margin-left: 5px;
  font-size: 1em;
  line-height: 1;
  vertical-align: text-top;
  transform: translateY(2px);
  display: inline-block;
}

header .menu-item-design-default .sub-menu .sub-menu {
  position: absolute;
  left: 80%;
  top: 0px;
  opacity: 0;
  visibility: hidden;
  transition: 300ms all;
}

#header .sub-menu .sub-menu a {
  font-weight: 400;
}

header .menu-item-design-default .sub-menu li:hover>.sub-menu {
  left: 100%;
  opacity: 1;
  visibility: visible;
} 


/* Menu - Aside ------------ */
.off-canvas-left .mfp-content {
    background-color: var(--background);
    width: 100%;
    max-width: var(--drawer-width, 500px);
    --background: rgb(var(--bg));
    --on-background: rgb(var(--color-text-title));
    --color-border: rgb(var(--color-border-1));
	--btn-h: 44px;
}

.mfp-content .header-logo-link  {
	padding-left: 0!important;
}

.mfp-content .header-logo-link img {
    width: 60%;
    margin: 10px auto 30px;
    height: 35px;
    display: block;
    object-fit: contain;
}

/* Menu toggle ----- */
.mfp-content .nav-sidebar li+li {
    border-top: 0;
}

.mfp-content .nav-sidebar>li.menu-item.active,
.mfp-content .nav-sidebar>li.menu-item:hover {
    background-color: transparent;
}

.mfp-content .nav-sidebar .children {
    padding-bottom: 20px;
    padding-left: 15px;
}


.mfp-content .nav .menu-item {
    padding: 0 35px;
    margin-bottom: 5px;
}

.off-canvas .mfp-content .nav .menu-item>a {
    color: var(--on-background);
    font-size: 1.2rem;
    font-weight: 600;
    text-transform: capitalize;
    transition: 300ms all;
    padding: 6px 0;
}

.off-canvas .mfp-content .nav .menu-item>a:hover {
	color: rgb(var(--color-primary));
}

.off-canvas .mfp-content .nav .menu-item .menu-item>a {
	font-weight: normal;
    font-size: 1.2rem;
    text-transform: capitalize;
    justify-content: flex-start;
    text-align: left;
    width: 100%;
    padding: 5px 0px;;

}

.off-canvas .mfp-content .nav .menu-item .menu-item {
    margin: 0;
    padding: 0;
} 

.off-canvas .nav .active>.children {
    padding-top: 10px;
    padding-bottom: 18px;
}


.nav-icon .qodef-m-line {
    height: 3px;
    width: 100%;
    background-color: rgb(var(--color-primary));
}

.nav-icon .qodef-m-line.qodef--2 {
	width: 74%; 
}

.nav-icon .qodef-m-lines {
    width: 25px;
    height: 24px;
    padding: 0;
    align-items: flex-end;
}


/* Ux - Pt button ----- */
body .pt-btn {
	color: var(--btn-color)!important; 
}

body .pt-btn:hover {
	color: var(--btn-color-hover)!important; 
}

body .pt-btn-size--md {
    --btn-padding: 8px 22px 10px;
    --btn-size: 40px;
    --btn-font-size: 1rem;
    --btn-line-height: 1.4;
    --btn-radius: var(--radius-2);
	font-weight: 600; 
}

.pt-btn-kind--outline.pt-btn-color--primary {
    --btn-bg-hover: rgb(var(--color-primary));
	--btn-color-hover: rgb(var(--bg)); 
}




/* Home - Hero ----- */
.home-hero h6 span {
	font-size: 1.2em;
    vertical-align: middle;
    margin-top: -4px;
}

.home-hero h6 {
	margin: 0 0 12px;
    opacity: 1;
    color: rgb(var(--color-secondary));
    text-transform: unset;
    letter-spacing: 0;
    font-size: 1rem;
    font-weight: 700;
}

.home-hero h2 {
    margin: 0 0 1.5rem;
    font-size: var(--size-8);
    line-height: 1.2;	
}

.home-hero p {
	font-size: 1rem;
}

.slider-nav-dots-dashes-spaced .flickity-page-dots .dot {
    border-radius: var(--radius-2);
    height: 8px;
    width: 30px;
    border: 0;
    background-color: rgb(var(--color-secondary));
    opacity: 1;
}

.slider-nav-light .flickity-page-dots .dot.is-selected {
    background-color: rgb(var(--color-primary));
    width: 60px;
}


/* Home - Title ---- */
.home-title h6 span {
	font-size: 1.2em;
    vertical-align: middle;
    margin-top: -4px;
}

.home-title h6 {
	margin-bottom: 12px;
    opacity: 1;
    color: rgb(var(--color-text-title));
    text-transform: unset;
    letter-spacing: 0;
    font-size: 1rem;
    font-weight: 700;
}

.home-title .el-title,
.home-title h2 {
    margin: 0 0 1.5rem;
    font-size: var(--size-4);
    line-height: 1.2;	
	color: rgb(var(--color-text-title));
}

.home-title.is-big .el-title,
.home-title.is-big h2{
    font-size: var(--size-6);
}

.home-title.home-light h6 {
	color: rgb(var(--color-secondary));
}

.home-title.home-light .el-title, 
.home-title.home-light h2 {
    color: rgb(var(--bg));
}




/* Home - Title ---- */
.home-about {
	overflow: hidden;
}


.home-about .el-decor-tl {
    top: 12%;
    left: 20px;
    position: absolute;
    width: 12px !important;
	z-index: -10;
}

.home-about .el-decor-tr {
	position: absolute;
    top: 7%;
    left: calc(100% - 9% - 20px);
    width: 9% !important;
	z-index: -10;
}


/* Home - Service ------ */
.home-service .el-item {
	position: relative;
    border: 2px solid rgb(var(--color-primary));
    border-radius: var(--radius-3);
    overflow: hidden;
    transition: 320ms all;	
}

.home-service .el-item-bg img,
.home-service .el-item-bg svg {
	position: absolute;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: -10;	
	left: 0;
    top: 0;
}


.home-service .el-item h5 {
	font-size: var(--size-4);
    font-weight: bold;
    color: rgb(var(--color-text-title));
    line-height: 1.3;
    margin-bottom: 7px;	
}


.home-service .el-item h6 {
    text-transform: unset;
    letter-spacing: 0;
    opacity: 1;
    color: rgb(var(--color-text-title));
    font-size: var(--size-4);
    font-weight: bold;
    line-height: 1.1;	
}


.home-service .el-item-content {
	background-color: rgb(var(--bg));
    padding: 20px;	
	transition: 320ms all;
	opacity: 0;
	min-height: 100%;
	border-bottom: 7px solid rgb(var(--color-primary));
	border-radius: calc(var(--radius-3) - 4px);
}

.home-service .el-item:hover .el-item-content {
	opacity: 1;
}

.home-service .el-item p {
    font-size: var(--size-small);	
}


/* Home - Why ----- */
.home-why .el-count-wrap {
    position: absolute;
    top: 65%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgb(var(--color-primary));
    color: rgb(var(--bg));
    text-align: center;
    max-width: 220px;
    border: 3px solid rgb(var(--bg));
    padding: 30px;
    border-radius: var(--radius-3);
    box-shadow: 0 0 30px rgb(0 0 0 / 30%);
}

.home-why .el-count-wrap p {
    line-height: 1.2;
    margin-bottom: 3px;	
}

.home-why .el-count-wrap h6 {
	opacity: 1;
    color: currentColor;
    line-height: 1;
    font-size: var(--size-8);
    font-weight: bold;
    margin: 0 0 9px;
    letter-spacing: 0;
}

.home-why .icon-box {
	flex-wrap: nowrap;
}

.home-why .icon-box-img svg {
	color: rgb(var(--bg));
    background: rgb(114 61 69);
    padding: 12px;
    border-radius: var(--radius-2);	
}

.home-why .icon-box h6 {
    opacity: 1;
    color: rgb(var(--color-text-title));
    text-transform: unset;
    letter-spacing: 0;
    font-weight: 600;
    font-size: var(--size-3);
    line-height: 1.3;
    margin-bottom: 5px;	
}

.home-why .icon-box p {
	font-size: var(--size-small);	
}


/* Home - Count goal --- */
.home-count-goal {
	
}

.home-count-goal .wrap {
    border: 2px solid rgb(var(--color-primary));
    border-radius: var(--radius-3);
    padding: 24px 10px;
    text-align: center;
    min-height: 100%;
    transition: 300ms all;
    color: rgb(var(--color-text-title));	
}

.home-count-goal .wrap h5 {
    margin-bottom: 5px;
    font-weight: 600;
    font-size: var(--size-2);
    line-height: 1.3;
    color: inherit;	
}

.home-count-goal .icon-box-img {
    width: 55px!important;
    color: rgb(var(--color-primary));	
}

.home-count-goal .icon-box {
	flex-wrap: nowrap;
    align-items: center;
	justify-content: center;
	margin-bottom: 8px;
}

.home-count-goal h6 {
    opacity: 1;
    color: inherit;
    font-weight: 700;
    line-height: 1;
    text-transform: unset;
    font-size: var(--size-8);
    margin-bottom: 0.1em;	
}

.home-count-goal h6 span {
	font-weight: inherit;
}

.home-count-goal .icon-box .icon-box-text {
    padding-left: 12px;
    width: fit-content;
    flex: unset;
}


/* Home - Country ----- */
#wrapper .slider-infinity .slider-item,
#wrapper .slider-infinity .post-item {
  opacity: 1;
  max-width: var(--item-w)!important;
  padding: var(--item-p);
	min-height: 100%;
}

.home-country {
	overflow: hidden;
	--item-p: 0 10px;
	--item-w: calc(100% / 4);
}


.home-country .slider .col-inner {
	background-color: rgb(var(--bg));
    border-radius: var(--radius-3);
    transition: 320ms all;
    padding: 25px;
}

.home-country .slider .col-inner:hover {
	background: rgb(255, 235, 194);
}

.home-country .slider h6 {
	opacity: 1;
    font-weight: bold;
    font-size: var(--size-3);
    line-height: 1.3;
    margin-bottom: 3px;
    text-transform: unset;
    color: rgb(var(--color-text-title));
}

.home-country .slider p {
	margin-bottom: 10px;
	font-size: var(--size-small);
}


.home-country .el-thumbnail {
	width: 60%!important;
}

.home-country .el-thumbnail img {
	filter: drop-shadow(0px -3px 10px rgb(0 0 0 / 20%));	
}

.home-country .el-thumbnail .img-inner {
	overflow: visible;
}

.home-line {
	--position-x: 20px; 
	--position-y: 30px; 
	position: absolute;
	left: var(--position-x);
	top: var(--position-y);
	z-index: -1;
	width: fit-content;
}

.home-line.home-line-tr {
	left: unset;
	right: var(--position-x);
	
}

.home-line.home-line-bl {
	top: unset;
	bottom: var(--position-y);
}

.home-line.home-line-br {
	left: unset;
	right: var(--position-x);
	top:unset;
	bottom: var(--position-y);
}

.home-line > *{
	height: 190px;
    width: auto!important;
    object-fit: contain;
}

.slider-nav-circle .flickity-prev-next-button svg {
    background-color: rgb(var(--color-primary));
    border: 0;
    padding: 10px;	
}


/* Home - Team ---- */
.home-team {	
	overflow: hidden;
	--item-p: 0 15px;
	--item-w: calc(100% / 3);
	--item-p-x: 46px;
	--img-ratio: 115%;
}

.home-team {
	
}

.home-team .el-names {
    display: flex;
    gap: 10px;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    padding: 5px 16px;
}

.home-team .el-names h6 {
	margin: 0;
    opacity: 1;
    font-size: 1rem;
    line-height: 1.2;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    flex: 1;
    color: inherit;	
}

.home-team .el-names p {
	display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    margin: 0;
    max-width: 30%;
    text-align: right;
    font-size: var(--size-small);
}

.home-team .el-avatar {
	position: relative;
	z-index: 20;
}

.home-team .el-avatar .img-inner {
	padding-top: var(--img-ratio) !important;
}

.home-team .slider .col-inner {
    padding-left: var(--item-p-x);
    padding-top: var(--item-p-x);	
}

.home-team .slider {
	
}

.home-team .slider {
	
}

.home-team .el-item-body {
	width: calc(100% - var(--item-p-x));
	position: absolute;
	left: 0;
	top: 0;
	z-index: 10;
}

.home-team .el-item-body > .wrap-inner {
    border: 2px solid rgb(var(--color-text-title));
    border-radius: var(--radius-3);
    padding-top: var(--img-ratio);
    border-right-width: 8px;
    border-bottom-width: 8px;	    
	transition: 320ms all;
    color: rgb(var(--bg));
    background-color: rgb(var(--bg));
	background-color: rgb(var(--color-text-title));
}

.home-team slider-item:hover .el-team-body > .wrap-inner {
    background-color: rgb(var(--color-text-title));
}

.home-team .social-icons {
	display: flex;
    flex-direction: column;
    gap: 20px;
    width: var(--item-p-x);
    justify-content: flex-end;
    align-items: center;
    padding: 10px 7px;
    position: absolute;
	left: 0;
    bottom: 0;
    max-height: 70%;
    overflow: hidden;
}


.home-team .social-icons a {
	margin: 0;
    color: rgb(var(--bg));
    font-size: 20px;
    line-height: 1;
}

.home-team {
	
}

.home-team {
	
}

.home-team {
	
}













/* Responsive ---------------- */
@media only screen and (min-width: 1025px) and (max-width: 1600px) {}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 849px) {
	:root {
		--size-ratio: 1.15;
		--size-small: 15px;
		--size-small-a: 13px;

		font-size: 16px;
	}
	
	body #logo img {
		padding: 14px 0;
	}
	body .stuck .header-main {
		height: 58px !important;
	}
	body .stuck #logo img {
		max-height: 58px !important;
	}
	
	.md-text-center {
		text-align: center;	
	}
	
	.home-count-goal .wrap {
		padding: 18px 10px;
	} 
	
	.home-country {
		--item-w: calc(100% / 2);
	}
}

@media only screen and (max-width: 549px) {
	.home-country {
		--item-w: calc(100% / 1.6);
	}
}






