/*
Theme Name: Will Group
Theme URI: 
Author:			
Author URI:
Description: Anbooks
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: willgroup
Tags:
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Global
# Typography
# Elements
# Forms
# Navigation
	## Links
	## Menus
# Accessibility
# Alignments
# Clearings
# Widgets
# Content
	## Posts and pages
	## Comments
# Infinite scroll
# Media
	## Captions
	## Galleries
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Layout
--------------------------------------------------------------*/
.container-fluid {
	max-width: 1330px;
}
.row {
	margin-left: -12px;
	margin-right: -12px;
}
[class*='col-'] {
	padding-left: 12px;
	padding-right: 12px;
}
@media (min-width: 1200px) {
	.container {
		max-width: 1110px;
	}
}
@media (max-width: 767px) {
	#wpadminbar {
		position: fixed !important;
	}
}
/*--------------------------------------------------------------
# Global
--------------------------------------------------------------*/
body {
    font-family: 'Mulish', sans-serif;
    font-size: 0.875rem;
	color: #000;
	background-color: #EFF2F5;
	line-height: 1.7;
}
body.single-post,
body.page-template-default {
	background-color: #FFF;
}
* {
	outline: none !important;
}
img {
	max-width: 100%;
	height: auto;
}
iframe {
	display: block;
	max-width: 100%;
	margin: 0 auto;
}
a {
	text-decoration: none;
	color: #14497E;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
a:hover,
a:focus,
a.active {
	text-decoration: none;
	color: #D8A76D;
}
b, strong {
	font-weight: 700;
}
h1, .h1 {
	font-size: 2.25rem;
}
h3, .h3 {
	font-size: 1.625rem;
}
.lead {
	font-size: 1.125rem;
	font-weight: 400;
}
small, .small {
	font-size: 85% !important;
}
.font-weight-semibold {
	font-weight: 600 !important;
}
.font-weight-black {
	font-weight: 900 !important;
}
.text-body {
	color: #000 !important;
}
.text-primary {
	color: #143960 !important;
}
a.text-primary:hover {
	color: #D8A76D !important;
}
.text-secondary {
	color: #D8A76D !important;
}
.text-info {
	color: #4170A5 !important;
}
.bg-primary {
	background-color: #143860 !important;
}
.bg-secondary {
	background-color: #D8A76D !important;
}
.bg-info {
	background-color: #4170A5 !important;
}
.bg-light {
	background-color: #D9E4EE !important;
}
.bg-cover {
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}
.text-shadow {
	text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.5), 0 0 1.25rem rgba(0, 0, 0, 0.5);
}
.lh-1 {
	line-height: 1;
}
.lh-12 {
	line-height: 1.2;
}
.black-white {
	-webkit-filter: grayscale(100%);
    filter: grayscale(100%);
    opacity: 0.5;
}
a.black-white:hover {
	-webkit-filter: none;
    filter: none;
    opacity: 1;
}
.zoom {
	transition: all 0.5s ease 0s;
}
a:hover .zoom {
	transform: scale(1.1);
}
.svg-4 {
	height: 1.5rem;
}
.svg-5 {
	height: 1.25rem;
}
.svg-primary {
	fill: #143960;
}
.svg-white {
	fill: #FFF;
}
.embed-responsive-3by5::before {
	padding-top: 163%;
}

@media (max-width: 991px) {
	h1, .h1 {
		font-size: 1.5rem;
	}
	h2, .h2 {
		font-size: 1.375rem;
	}
	h3, .h3 {
		font-size: 1.25rem;
	}
	h4, .h4 {
		font-size: 1.125rem;
	}
	h5, .h5 {
		font-size: 1rem;
	}
	h6, .h6 {
		font-size: 0.875rem;
	}
	.lead {
		font-size: 0.875rem;
	}
	.embed-responsive-3by5::before {
		padding-top: 115%;
	}

	.svg-4 {
		height: 1.25rem;
	}
	.svg-5 {
		height: 1rem;
	}
}

/*--------------------------------------------------------------
# dropdown
--------------------------------------------------------------*/
.dropdown-menu {
	border-radius: 0;
	margin-top: 1rem;
}
.dropdown-menu:before {
	content: ' ';
	border-bottom: 0.75rem solid rgba(0, 0, 0, 0.15);
	border-left: 0.75rem solid transparent;
	border-right: 0.75rem solid transparent;
	position: absolute;
	z-index: 10;
	bottom: 100%;
	right: 0.75rem;
}
.dropdown-menu:after {
	content: ' ';
	border-bottom: 0.6875rem solid #FFF;
	border-left: 0.6875rem solid transparent;
	border-right: 0.6875rem solid transparent;
	position: absolute;
	z-index: 10;
	bottom: 100%;
	right: 0.8125rem;
}

/*--------------------------------------------------------------
# alert
--------------------------------------------------------------*/
.alert-dark {
	color: #000;
	background-color: #dee2e6;
	border-color: #797979;
}

/*--------------------------------------------------------------
# Form
--------------------------------------------------------------*/
button {
	cursor: pointer;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
label {
	line-height: 1.25;
}
.required {
	color: #FF6700;
}
.form-group {
	margin-bottom: 1.25rem;
}
.form-control,
.custom-select,
.input-group-text {
	font-size: 0.875rem;
	font-weight: 600;
	color: #565656;
	background-color: #FFF;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	box-shadow: none;
	height: calc(1.5em + 1.75rem + 2px);
	padding: 0.875rem 1rem;
	-webkit-transition: all 0.3s ease 0s;
	-moz-transition: all 0.3s ease 0s;
	transition: all 0.3s ease 0s;
}
textarea.form-control {
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.custom-select:focus,
.form-control:focus,
.form-control:focus + .input-group-append .input-group-text,
.form-control:focus + .input-group-append .btn {
	border-color: #D8A76D;
	box-shadow: none;
}
.custom-select {
	background: #FFF url(images/arrow-down-black.png) no-repeat right 1rem center;
	-webkit-background-size: 14px 8px;
	-moz-background-size: 14px 8px;
	background-size: 14px 8px;
	padding-right: 2rem;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.btn {
	font-size: 0.875rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 0.125rem;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	box-shadow: none !important;
	padding: 1rem 2rem;
}
.btn-sm {
	padding: 0.75rem 1.5rem;
}
.btn-primary,
.btn-primary:not(:disabled):not(.disabled):active:focus {
    color: #FFF;
    background: #143960;
    border-color: #143960;
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active {
	color: #143960;
    background: #D8A76D;
    border-color: #D8A76D;
}
.btn-outline-primary,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus {
    color: #143960;
    background: transparent;
    border-color: #143960;
}
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active {
	color: #143960;
    background: #D8A76D;
    border-color: #D8A76D;
}
.btn-secondary,
.btn-secondary:not(:disabled):not(.disabled):active:focus {
    color: #143860;
    background: #D8A76D;
    border-color: #D8A76D;
}
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:not(:disabled):not(.disabled):active {
	color: #143960;
    background: #E6A364;
    border-color: #E6A364;
}

/*--------------------------------------------------------------
# Page header
--------------------------------------------------------------*/
.page-header {
	background-color: #333;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	background-size: cover;
	text-align: center;
	height: 22rem;
	margin-bottom: 3.125rem;
}
.page-header:before {
	content: ' ';
	display: inline-block;
	vertical-align: middle;
	height: 100%;
	margin-right: -4px;
}
.page-header .container {
	display: inline-block;
	vertical-align: middle;
}
.page-title {
	font-size: 2.25rem;
	text-transform: uppercase;
	color: #fff;
	margin-bottom: 0;
}
/*--------------------------------------------------------------
# Breadcrumb
--------------------------------------------------------------*/
.breadcrumb {
	color: #CCC;
	background: transparent;
	border-radius: 0;
	padding: 0;
	margin-bottom: 0;
}
.breadcrumb-item + .breadcrumb-item:before {
	content: '\f054';
	font-family: 'Font Awesome 5 Free';
	font-size: 0.75rem;
	font-weight: 900;
	color: #FFF;
}
.breadcrumb-item a:hover {
	color: #FFF;
}
.breadcrumb-item:last-child a,
.breadcrumb-item.active {
	color: #FFF;
}
/*--------------------------------------------------------------
# Pagination
--------------------------------------------------------------*/
.nav-pagination {
	text-align: center;
	margin-bottom: 3rem;
}
.pagination {
	display: block;
	margin: 0;
}
.pagination .page-item {
	display: inline-block;
}
.pagination .page-link {
	font-weight: 700;
	color: #666;
	background: #fff;
	border: 1px solid #E5E5E5;
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
	text-align: center;
	display: block;
	width: 2.5rem;
	height: 2.5rem;
	line-height: 2.375rem;
	padding: 0;
	margin-left: 0.3125rem;
	margin-right: 0.3125rem;
	margin-bottom: 0.625rem;
}
.pagination .page-link:hover {
	color: #143960;
}
.pagination .page-item.active .page-link {
	color: #FFF;
	background: #143960;
	border-color: #143960;
}
.pagination .page-item:first-child .page-link,
.pagination .page-item:last-child .page-link {
	-webkit-border-radius: 0;
	-moz-border-radius: 0;
	border-radius: 0;
}
/*--------------------------------------------------------------
# Modal
--------------------------------------------------------------*/
.modal-header .close {
	font-size: 1.25rem;
	line-height: 1.25;
}
.modal.fade .modal-dialog {
	-webkit-transform: translate(0,0);
	-o-transform: translate(0,0);
	transform: translate(0,0);
}

/*--------------------------------------------------------------
# Tabs
--------------------------------------------------------------*/
.nav-tabs {
	border-bottom-color: #C4C4C4;
	margin-bottom: 0.5rem;
}
.nav-tabs .nav-link {
	font-weight: 900;
	text-transform: uppercase;
	color: #969393;
	text-align: center;
	border: 0;
	border-bottom: 3px solid transparent;
	flex: 1 1 0px;
	margin-bottom: -3px;
}
.nav-tabs .nav-link.active {
	color: #143960;
	background-color: transparent;
	border-bottom-color: #D8A76D;
}

/*--------------------------------------------------------------
# Effect
--------------------------------------------------------------*/
.zoom {
	display: inline-block;
	overflow: hidden;
}
.zoom img {
	transition: all 0.5s ease 0s;
}
.zoom:hover img {
	transform: scale(1.1);
}

/*--------------------------------------------------------------
# site header
--------------------------------------------------------------*/
.site-logo img {
	max-height: 111px;
}
@media (max-width: 991px) {
	.site-logo img {
		max-height: 80px;
	}
}

/*--------------------------------------------------------------
## site nav
--------------------------------------------------------------*/
.site-nav ul {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.site-nav .menu {
	display: flex;
}
.site-nav .menu > li {
	position: relative;
}
.site-nav .menu > li > a {
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
	color: #000;
	display: block;
	padding: 1rem 1.25rem;
}
.site-nav .menu > li > a:hover,
.site-nav .menu > li.current-menu-item > a,
.site-nav .menu > li.parent-menu-item > a {
	color: #143960;
}
.site-nav .sub-menu {
	background: #FFF;
	box-shadow: 0 0.625rem 1.875rem -0.3125rem rgba(0, 0, 0, 0.1);
	min-width: 15rem;
	position: absolute;
	z-index: 10;
	left: 0;
	top: 100%;
	visibility: hidden;
	opacity: 0;
	transform: translateY(1.25rem);
	transition: all 0.3s ease 0s;
}
.site-nav li:hover > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}
.site-nav .sub-menu > li > a {
	display: block;
	padding: 0.5rem 1rem;
}
@media (max-width: 991px) {
	.site-nav {
		background-color: #FFF;
		overflow-y: auto;
		width: 17.5rem;
		position: fixed;
		z-index: 101;
		left: -17.5rem;
		top: 0; bottom: 0;
		transition: all 0.3s ease 0s;
	}
	body.active-site-nav .site-nav {
		left: 0;
	}
	.site-nav-overlay {
		background: rgba(0, 0, 0, 0.5);
		visibility: hidden;
		opacity: 0;
		width: 100%;
		height: 100%;
		position: fixed;
		z-index: 100;
		top: 0;
		left: 0;
	}
	body.active-site-nav .site-nav-overlay {
		visibility: visible;
		opacity: 1;
	}
	.site-nav .menu {
		display: block;
	}
	.site-nav .menu > li {
		border-bottom: 1px solid #dee2e6;
		padding: 0.75rem;
		margin-right: 0;
	}
	.site-nav .menu > li + li {
		background-image: none;
	}
	.site-nav .menu > li > a {
		display: inline;
		padding: 0;
	}
	.site-nav li.menu-item-has-children:after {
		content: ' ';
		border-top: 2px solid #333;
		border-left: 2px solid #333;
		width: 0.5rem;
		height: 0.5rem;
		cursor: pointer;
		position: absolute;
		top: 1rem;
		right: 0.5rem;
		transform: rotateZ(-135deg);
		transition: all 0.3s ease 0s;
	}
	.site-nav li.menu-item-has-children.active:after {
		transform: rotateZ(45deg);
	}
	.site-nav li.menu-item-has-children:hover:after {
		color: #0887DB;
	}
	.site-nav .sub-menu {
		box-shadow: none;
		clear: both;
		display: none;
		padding: 0;
		position: relative;
		top: 0;
		left: 0 !important;
	}
	.site-nav li:hover .sub-menu {
		display: none;
	}
	.site-nav .sub-menu > li {
		padding: 0.5rem;
		position: relative;
	}
	.site-nav .sub-menu > li > a {
		padding: 0;
	}
}

/*--------------------------------------------------------------
# Service
--------------------------------------------------------------*/
.service-cat a {
	color: #2466A9;
}
.service-images .swiper-button-prev,
.service-images .swiper-button-next {
	background-color: rgba(255, 255, 255, 0.5);
	width: 3.125rem;
	height: 3.125rem;
}
.service-images .swiper-button-prev,
.service-images .swiper-button-next {
	font-weight: 700;
	color: #143960;
}
.service-images .swiper-button-prev {
	left: 0;
	top: auto;
	bottom: 0;
}
.service-images .swiper-button-next {
	right: 0;
	top: auto;
	bottom: 0;
}
.service-images .swiper-button-prev:hover,
.service-images .swiper-button-next:hover {
	background-color: #D8A76D;
}
.service-images .swiper-button-prev::after,
.service-images .swiper-button-next::after {
	font-size: 1.25rem;
}
.service-thumbs .swiper-slide a {
	display: block;
	position: relative;
	opacity: 0.5;
}
.service-thumbs .swiper-slide a:hover,
.service-thumbs .swiper-slide-thumb-active a {
	opacity: 1;
}
.service-thumbs .swiper-slide-thumb-active a::before {
	content: '';
	border: 6px solid #D8A76D;
	position: absolute;
	z-index: 10;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

.slider-services-button-prev,
.slider-services-button-next,
.slider-projects-button-prev,
.slider-projects-button-next {
	color: #143960;
	border: 1px solid #143960;
	width: 3.125rem;
	height: 3.125rem;
}
.slider-services-button-prev,
.slider-projects-button-prev {
	left: auto;
	right: 70px;
}
.slider-services-button-prev:hover,
.slider-services-button-next:hover,
.slider-projects-button-prev:hover,
.slider-projects-button-next:hover {
	background-color: #D8A76D;
	border-color: #D8A76D;
}
.slider-services-button-prev::after,
.slider-services-button-next::after,
.slider-projects-button-prev::after,
.slider-projects-button-next::after {
	font-size: 1.5rem;
	font-weight: 700;
}

/*--------------------------------------------------------------
# entry
--------------------------------------------------------------*/
.entry-content {
	font-size: 1rem;
}
.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
	font-weight: 900;
	color: #143960;
	margin-bottom: 1rem;
}
.entry-content h1,
.entry-content h2 {
	font-size: 1.5rem;
}
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
	font-size: 1.125rem;
}
.entry-content p {
	margin-bottom: 1.5rem;
}
.entry-content table {
	background-color: transparent;
    border-collapse: collapse;
    border-spacing: 0;
    margin-bottom: 1.5rem;
    width: 100%;
    max-width: 100%;
}
.entry-content table th,
.entry-content table td {
    border-bottom: 1px solid #C4C4C4;
    padding: 0.5rem;
}
.entry-content table th {
    font-weight: 700;
}
.entry-content table td:first-child {
	padding-left: 0;
}
.entry-content table td:last-child {
	padding-right: 0;
}
.entry-content img.centered,
.entry-content .aligncenter,
.term-description img.centered,
.term-description .aligncenter {
	display: block;
    margin: 0 auto 1.5rem;
}
.entry-content .wp-caption,
.term-description .wp-caption {
    max-width: 100%
}
.entry-content .wp-caption-text,
.term-description .wp-caption-text {
    font-weight: 400;
    text-align: center;
    background: #f8f9fa;
    padding: 0.5rem 0.5rem
}
.entry-content blockquote {
	font-size: 2.25rem;
	font-weight: 900;
	text-align: center;
	color: #143960;
	border: 1px solid #D9E4EE;
	line-height: 1.2;
	width: 628px;
	max-width: 100%;
	padding: 3rem 1.5rem 1rem 1.5rem;
	margin: 3rem auto;
	position: relative;
}
.entry-content blockquote::before {
	content: '';
	background: #2466A9 url('images/quote.png') no-repeat center center;
	border-radius: 50%;
	display: block;
	width: 4rem;
	height: 4rem;
	margin-left: -2rem;
	position: absolute;
	z-index: 10;
	top: -2rem;
	left: 50%;
}
.entry-content .wp-block-image {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.entry-content ul,
.entry-content ol {
	padding-left: 1.25rem;
	margin-bottom: 1.5rem;
}
.entry-content strong,
.entry-content b {
	font-weight: 900;
}

.entry-categories a {
	font-size: 0.75rem;
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: #FFF;
    background: #143960;
    border-color: #143960;
	display: inline-block;
	padding: 0.5rem 1rem;
}
.entry-categories a:hover {
	color: #143960;
    background: #D8A76D;
    border-color: #D8A76D;
}

@media (max-width: 991px) {
	.entry-content blockquote {
		font-size: 1.5rem;
	}
	.entry-content blockquote {
		padding: 2rem 1rem 0.5rem 1rem;
		margin: 2rem auto;
	}
	.entry-content blockquote::before {
		background-size: auto 1.5rem;
		width: 3rem;
		height: 3rem;
		margin-left: -1.5rem;
		top: -1.5rem;
	}
}

/*--------------------------------------------------------------
# footer
--------------------------------------------------------------*/
.site-footer a {
	color: #fff;
}
.site-footer a:hover {
	color: #D8A76D;
}
.footer-logo {
	max-height: 130px;
}
.footer-nav-1 .menu {
	list-style: none;
	display: flex;
	justify-content: space-between;
	padding-left: 0;
	margin-bottom: 0;
}
.footer-nav-1 .menu li a {
	font-weight: 900;
	text-transform: uppercase;
	letter-spacing: 2px;
}
.footer-nav-2 .menu {
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
.footer-nav-2 .menu li {
	margin-bottom: 0.25rem;
}
.fixed-zalo {
	width: 3.75rem; 
	height: 3.75rem; 
	left: auto; 
	right: 2rem; 
	bottom: 5.5rem;
}
.fixed-zalo img {
	max-height: 2rem;
}
.fixed-hotline {
	left: auto; 
	right: 2rem; 
	bottom: 1rem;
}

@media (max-width: 991px) {
	.footer-logo {
		max-height: 80px;
	}
	.footer-nav-1 .menu {
		display: block;
	}
	.footer-nav-1 .menu li {
		margin-bottom: 0.5rem;
	}
	.fixed-zalo {
		width: 3rem;
		height: 3rem;
		right: 1rem;
		bottom: 4rem;
	}
	.fixed-zalo img {
		max-height: 1.5rem;
	}
	.fixed-hotline {
		right: 1rem;
	}
}