:root {
	--bs-body-font-family: "Assistant", sans-serif;
	--bs-body-color: #4d4d4f;
	--bs-body-color-rgb: 77, 77, 79;
	--bs-primary-rgb: 41, 55, 125;
	--bs-primary-bg-subtle: #f8f9ff;
	--bs-primary-text-emphasis: #29377D;
	--bs-info-rgb: 26, 173, 228;
	--bs-secondary-rgb: 26, 173, 228;
	--bs-border-color: #d0d0d0;
	--bs-dark-rgb: 77, 77, 79;
	--bs-light-rgb: 245, 247, 247;
	--c1: #29377D;
	--c2: #1AADE4;
	--c3: #8FD1EE;

	--c6: rgb(41, 55, 125);
	--c7: rgb(26, 173, 228);
	--c8: rgb(143, 209, 238);
}
b, strong {
	font-weight: bold;
}
.josefin {
	font-family: "Josefin Sans", sans-serif;
}


/* ------ header ------ */
#header {
	background-color: rgba(255,255,255,.96);
	transition:all 0.3s ease;
}
#header.scroll {
	box-shadow: 0 0 40px rgba(40,40,40,.15);
}
#logo {
	transition:all 0.3s ease;
	width: 110px;
}
@media (max-width:992px) {
	#logo { width: 90px }
}


/* ------ banner ------ */
.captionFc {
	bottom: initial;
	top: 50%;
	transform: translateY(-50%);
	z-index: 1000;
}
.captionContent {
	width: 45%;
}
#wrapMbanner {
	margin: 0 50px;
	position: relative;
}
#wrapMbanner::after {
	background-color: var(--c2);
	bottom: -20px;
	border-radius: 100px;
	content: "";
	height: 100%;
	position: absolute;
	right: -20px;
	width: 100%;
	z-index: -1;
}
#wrapMbanner .carousel-inner {
	border-radius: 100px;
}
@media (max-width:1400px) {
	.captionContent { width: 90% }
	#wrapMbanner::after { border-radius: 75px }
	#wrapMbanner .carousel-inner { border-radius: 75px }
}
@media (max-width:768px) {
	.captionContent { width: 100% }
	.carousel-caption { left: 10% !important; right: 10% !important }
	#wrapMbanner { margin: 0 22px }
	#wrapMbanner .carousel-inner { border-radius: 50px }
	#wrapMbanner::after {
		bottom: -12px;
		border-radius: 50px;
		right: -12px;
	}
}
@media (max-width:576px) {
	#mainBanner h1 { font-size: 1.5rem !important }
	#mainBanner p { font-size: 1.1rem !important; margin-bottom: 0; }
	#mainBanner .btn-primary { display: none }
}


/* ------ navBar ------ */
.navbar {
	--bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2841, 55, 125, 1' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
#navBarMain .nav-link {
	color: var(--bs-body-color);
	font-size: .95rem;
	font-weight: 600;
	padding: var(--bs-nav-link-padding-y) 1rem;
	position: relative;
	text-transform: uppercase;
}
#navBarMain .navbar-nav {
	--bs-nav-link-color: var(--bs-body-color);
	font-weight: 600;
}
#navBarMain .navbar-nav .nav-link:hover {
	opacity: .75;
}
#navBarMain .navbar-nav .nav-link.active::before,
#navBarMain .navbar-nav .nav-link.show::before {
	background-color: var(--c2);
	border-radius: 10px;
	content: "";
	height: 100%;
	left: -14px;
	opacity: 1;
	position: absolute;
	top: -2px;
	width: calc(100% + 28px);
	z-index: -1;
}
#navBarMain .navbar-nav .nav-link.active {
	color: #fff;
}
.navbar-toggler {
	border: 1px solid rgba(255,255,255,.8);
}
.navbar-toggler:focus {
	box-shadow: 0 0 0 0.25rem #cae8f5 !important;
}


/* ------ btn ------ */
.btn {
	font-weight: 600;
}
.btn-primary {
	--bs-btn-bg: var(--c1);
	--bs-btn-border-color: var(--c1);
	--bs-btn-hover-bg: var(--c2);
	--bs-btn-hover-border-color: var(--c2);
	--bs-btn-active-bg: var(--c2);
	--bs-btn-active-border-color: var(--c2);
}
.btn-outline-primary {
	--bs-btn-color: var(--c1);
	--bs-btn-border-color: var(--c1);
	--bs-btn-hover-bg: var(--c1);
	--bs-btn-hover-border-color: var(--c1);
	--bs-btn-active-bg: var(--c1);
	--bs-btn-active-border-color: var(--c1);
	--bs-btn-disabled-color: var(--c1);
	--bs-btn-disabled-border-color: var(--c1);
}
.btn-info {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--c2);
	--bs-btn-border-color: var(--c2);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--c1);
	--bs-btn-hover-border-color: var(--c1);
	--bs-btn-active-bg: var(--c1);
	--bs-btn-active-border-color: var(--c1);
}


/* ------ shadow ------ */
.shadow {
	box-shadow: 0 0 30px rgba(100,100,100,.2) !important;
}


/* ------ card ------ */
.card {
	--bs-card-border-radius: 1rem;
}


/* ------ border ------ */
.border-light {
	border-color: #e2e8e8 !important;
}


/* ------ misc ------ */
#wrapSection {
	position: relative;
}
#section1,
#section2,
#section3,
#section4 {
	display: flow-root;
	position: relative;
}

.imgList {
	aspect-ratio: 204 / 204;
}

.editText p:last-of-type {
	margin-bottom: 0;
}
.imgService {
	width: 110px;
}
.fs-5b {
	font-size: 1.15rem;
}

.embed-container {
	height: 0;
	max-width: 100%;
	overflow: hidden;
	position: relative;
	padding-bottom: 56.25%;
}
.embed-container iframe,
.embed-container object,
.embed-container embed {
	height: 100%;
	left: 0;
	top: 0;
	position: absolute;
	width: 100%;
}
.embed-container.map {
	padding-bottom: 32%;
}
#novaq {
	width: 110px;
}
.form-control:focus {
	border-color: var(--c2);
	box-shadow: 0 0 0 .25rem rgba(26,173,228,.25);
}
@media (max-width:992px) {
	#wrapSection { position: static }
	.embed-container.map { padding-bottom: 56% }
}
@media (max-width:768px) {
	.imgService { width: 95px }
}
@media (max-width:576px) {
	.fs-5b { font-size: 1.05rem }
	.embed-container.map { padding-bottom: 95% }
}


/* ------ btTop ------ */
.btTop {
	background-color: rgba(255, 255, 255, .8);
	border: 1px solid var(--c1);
	border-radius: 7px;
	bottom: 82px;
	color: var(--c1);
	display: none;
	font-size: 1rem;
	height: 36px;
	line-height: 35px;
	outline: none;
	position: fixed;
	right: 23px;
	text-align: center;
	transition:all 0.3s ease;
	width: 36px;
	z-index: 1040;
}
.btTop:hover {
	background-color: var(--c1);
	color: #fff;
}


/* ------ section3 ------ */
#wrapS3 {
	margin: 0 0 70px 50px;
	position: relative;
}
#wrapS3::after {
	background-color: var(--c3);
	bottom: -20px;
	border-radius: 100px 0 0 100px;
	content: "";
	height: 100%;
	position: absolute;
	right: -20px;
	width: 100%;
	z-index: -1;
}
#section3 {
	background-image: url(../img/bg.png);
	background-repeat: no-repeat;
	background-size: 100%;
	background-position: 0 bottom;
	border-radius: 100px 0 0 100px;
}
.wrapImg {
	background-color: #fff;
	border: 6px solid #fff;
}
@media (max-width:1400px) {
	#section3 { border-radius: 75px 0 0 75px }
	#wrapS3::after { border-radius: 75px 0 0 75px; bottom: -12px; right: -12px; }
}
@media (max-width:768px) {
	#section3 {
		border-radius: 50px 0 0 50px;
		background-size: 300%;
		background-position: center bottom;
	}
	#wrapS3 { margin: 0 0 50px 8px }
}


/* ------ section4 ------ */
#wrapS4 {
	margin: 0 20px;
}
#section4 {
	border-radius: 100px;
}
@media (max-width:1400px) {
	#section4 { border-radius: 75px }
}
@media (max-width:768px) {
	#wrapS4 { margin: 0 10px }
	#section4 { border-radius: 50px }
}


/* ------ waBtn ------ */
#waBtn {
	background: rgb(77, 194, 71) none repeat scroll 0% 0% !important;
	box-shadow: 0 0 0 3px rgba(255,255,255,.9);
	border-radius: 50%;
	bottom: 16px;
	height: 50px;
	overflow: hidden;
	position: fixed;
	padding: 5px;
	right: 16px;
	transition: all 0.5s ease 0s;
	width: 50px;
	z-index: 200;
}