@charset "UTF-8";

:root {
	--maincolor:  #343B41;
	--subcolor:   #03AFC2;
	--linkcolor:  #0670BD;
	--bgcolor:    #F67824;
	--bgcolor2:   #3F6EB4;
	--bgcolor3:   #2AA6E2;
	--bgcolor4:   #A5D342;
	--bgcolor5:   #B3C4DF;
}

/* ------------------------------------
// bootstrap custom style
------------------------------------ */
.container {
	padding-bottom: 0;
}
.container-fluid {
	padding: 0 2vw !important;
}
.row-eq-height {
	display: -webkit-flex; /* Safari */
	display: flex;
	flex-wrap: wrap;
}
.row-flex {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	row-gap: 10px;
}
.d-flex {
	display: flex !important;
	position: relative;
}
.col-flex {
	display: flex;
	width: 100%;
	align-items: center;
	flex-flow: wrap;
	justify-content: flex-end;
}
.col-flex > p {
	margin-right: 1rem !important;
	margin-bottom: 0 !important;
}
.col-flex > p:last-child {
	margin-right: 0 !important;
}
.display-4,
.display-5,
.display-6 {
	font-weight: 700 !important;
}

/* ------------------------------------
// nav
------------------------------------ */
.nav {
	overflow: hidden;
}
.header-nav {
	z-index: 9999;
	background-color: rgba(255, 255, 255, 0.7) !important;
}
.navbar {
	margin-bottom: 0;
	padding: 1rem 0 1rem;
	border-radius: 0;
	z-index: 9999;
	background-color: rgba(255, 255, 255, 0.7) !important;
	box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.1);
}
.sticky-top {
	z-index: 99999;
}
.scroll-nav {
	margin-top: 0 !important;
	transition: 1.5s;
	background-color: rgba(255, 255, 255, 1) !important;
	/*box-shadow: 0px 2px 2px 0px rgba(0,0,0,0.1);*/
}
nav.fixed-top {
	top: 0;
}
.navbar-nav {
	padding-right: 0;
}
img.custom-logo {
	margin: 0 auto 0 0 !important;
	width: 100%;
	max-width: 400px !important;
	height: auto;
}
.navbar-brand {
	margin: 0 auto 0;
	padding: .5rem .5rem .5rem 0 !important;
	width: 40%;
	max-width: 450px;
}
.navbar-brand img {
	margin-top: 0;
	margin-bottom: 0;
	max-width: 100%;
	height: auto;
	display: block;
	text-align: center;
}
@media (max-width: 980px) {
	.navbar-brand {
		margin: 0 auto 0;
		padding: 5px 5px 5px 0 !important;
	}
}
.navbar .container {
	padding-top: 0;
	padding-bottom: 0;
}
.nav-justified {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.navbar .nav-justified {
	overflow: inherit !important;
	/*overflow: hidden;*/
}
.navbar li {
	margin: 0 1vw;
	position: relative;
	text-align: center;
}
.navbar li:last-child {
	border-bottom: none !important;
}
.navbar .nav-justified > li {
	padding: 0;
	display: table-cell;
	width: 100%;
	text-align: center;
}
.navbar-nav a {
	display: block;
	padding: 2rem 0 2rem;
	line-height: 1.4;
	text-decoration: none;
	font-size: 1.6rem;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
}
.scroll-nav .navbar-nav a {
	display: block;
	padding: 2rem 0 2rem;
	line-height: 1.4;
	text-decoration: none;
}
.open ul {
	display: block !important;
}
.nav-fill .nav-item {
	position: relative;
	flex: 1 1 auto;
	text-align: center;
	width: 14%;
}
.nav-fill .nav-item .nav-link {
	padding-left: 0 !important;
	padding-right: 0 !important;
}
.navbar-nav .nav-item+.nav-item {
	margin-left: 0;
}
.navbar-nav .nav-link {
	font-weight: 700;
	color: var(--bs-dark) !important;
	letter-spacing: 0.5px !important;
}
.navbar-nav .nav-link:hover,
.navbar-nav .nav-link:focus {
	color: var(--bs-info) !important;
}
.navbar-nav .nav-item {
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all  0.5s ease;
}
.navbar-nav .nav-item:hover {
	-webkit-transform: scale(1);
	-moz-transform: scale(1);
	-o-transform: scale(1);
	-ms-transform: scale(1);
	transform: scale(1);
}
.navbar-nav .nav-contact a.btn {
	padding: .75rem 2rem !important;
	font-weight: 500 !important;
	color: #FFF !important;
}
.navbar-nav .nav-contact a.btn:hover,
.navbar-nav .nav-contact a.btn:focus {
	color: #FFF !important;
	border-radius: var(--bs-btn-border-radius) !important;
}
.navbar .current-menu-item, .navbar .current-menu-parent, .navbar .current_page_item {
	border: none !important;
}
.scroll-nav .navbar-nav .nav-link {
	text-shadow: none !important;
}
@media (min-width: 768px) {
	.navbar-nav .nav-link {
		padding: 1.1rem 2rem !important;
		color: #FFF !important;
		background-color: var(--subcolor);
		border-radius: 4rem;
	}
	.navbar .nav-contact a.btn {
		margin-right: 0 !important;
		font-size: clamp(1.4rem, 1vw, 1.6rem) !important;
	}
	.navbar .nav-contact small {
		font-size: .75em !important;
	}
	.navbar-nav .nav-link:hover,
	.navbar-nav a:hover {
		color: #FFF !important;
		background-color: var(--bgcolor3) !important;
		border-radius: 4rem !important;
	}
	.navbar-nav .nav-contact a.btn:hover {
		border-color: var(--subcolor) !important;
	}
	.navbar-nav a {
		font-size: clamp(1.3rem, 1vw, 1.6rem);
		min-height: 0vw;
	}
}
@media (min-width: 992px) {
	.navbar-nav {
		display: flex;
		align-items: center;
	}
}
.dropdown-menu {
	margin: 0 !important;
	padding: 0 !important;
	width: auto;
	min-width: inherit !important;
	overflow: hidden;
	border: none;
	border-radius: 0;
	background: rgba(255, 255, 255, 0.8);
}
/*
.dropdown:hover > .dropdown-menu {
	display: block;
}*/
.dropdown-menu li {
	margin: 0 !important;
	border-bottom: 1px solid rgba(0, 0, 0, .1) !important;
}
.dropdown-menu li:last-child {
	border: none !important;
}
.dropdown-menu a {
	padding: 1.5rem 2rem !important;
	text-align: left !important;
	color: #101010 !important;
	font-weight: bold;
	background-color: rgba(238, 237, 237, 0.8);
}
.dropdown-menu a:nth-child(2n) {
	background-color: rgba(211, 211, 211, 0.8);
}
.dropdown-item {
	margin: 0 !important;
	padding: 0 !important;
	min-width: 100% !important;
	width: 100% !important;
	display: block;
	text-align: center;
	text-align: center !important;
}
.dropdown-item a {
	padding: .75rem 1rem !important;
	width: 100% !important;
	display: block;
	text-align: center;
}
.dropdown-menu a:nth-child(2n) {
	background: rgba(211, 211, 211, 0.8);
}
.dropdown-item a:visited {
	color: #101010 !important;
}
.dropdown-item:focus,
.dropdown-item:hover,
.dropdown-item a:hover {
	border-radius: 0 !important;
}

/* navbar-toggle */
.navbar-toggler {
	margin-right: 10px;
	border: none !important;
}
button:focus {
	outline: none !important;
}
.dropdown-toggle::after {
	display: inline-block;
	width: auto;
	height: auto;
	margin-left: .5rem;
	vertical-align: middle;
	font-family: "Font Awesome 6 Free";
	font-weight: 900;
	content: "\f107";
	border: none !important;
	opacity: .7;
}
.navbar-toggle {
	border: 1px solid transparent;
	border: none;
	background: transparent !important;
	background-color: transparent;
	background-image: none;
}
.navbar-toggle:focus {
	outline: 0;
}
.navbar-toggle .icon-bar+.icon-bar {
	margin-top: 6px;
}
.navbar-toggle:hover {
	background: transparent !important;
}
.navbar-toggle .icon-bar {
	width: 32px;
	height: 3px;
	display: block;
	background-color: #555 !important;
	-webkit-transition: all .2s;
	-moz-transition: all .2s;
	-ms-transition: all .2s;
	-o-transition: all .2s;
	transition: all .2s;
}

/* ------------------------------------
// bootstrap card
------------------------------------ */
.card {
	margin-bottom: 2em;
	position: relative;
	overflow: hidden;
	border-radius: 1rem !important;
	border-color: rgba(0, 0, 0, .1);
}
.d-flex .card {
	width: 100%;
}
.card-header .card-title a,
.card-header .card-title a:visited {
	color: #FFF !important;
}
.card-header .card-title a:hover {
	color: #0c70ae !important;
	text-decoration: none !important;
}
.card-header .card-title a:visited {
	color: #FFF !important;
	text-decoration: none !important;
}
.layered-card {
	position: relative;
}
.layered-card::before {
	background: rgba(0, 0, 0, 0.3);
	content: '';
	top: 0;
	left: 0;
	position: absolute;
	transform: translate(1rem, 1rem);
	height: 100%;
	width: 100%;
	z-index: -1;
}
.border-none {
	border: none !important;
}
.card-block {
	margin-bottom: 1.5rem;
	padding: .5rem;
	background: #FFF;
	box-shadow: 0 2px 2px rgba(0, 0, 0, .1);
	border-radius: 5px;
}
.card-block hr {
	margin-top: .75rem !important;
	margin-bottom: .75rem !important;
}
.card-deck {
	margin-bottom: 0;
}
.card-deck .card {
	margin-bottom: 15px !important;
}
.card-columns {
	margin-bottom: 0;
}
.card-header {
	padding: .75rem .75rem .75rem !important;
	border-color: rgba(0, 0, 0, .1) !important;
}
.card-header a {
	text-decoration: none !important;
}
.card-columns .card-header {
	padding: .5rem .7rem .7rem !important;
	border: none;
}
.card-body {
	padding: 1rem 1.5rem 1rem;
}
.card-footer {
	padding: 0 .75rem .5rem;
	border: none !important;
	background-color: transparent !important;
}
.card-img {
	padding: 0;
	width: 100%;
	flex-shrink:0;
	border-radius: 0 !important;
}
.card-img-top {
	flex-shrink:0;
}
.card-title {
	margin: 0 !important;
	padding-bottom: 0;
	display: box;
	display: -webkit-box;
	display: -moz-box;
	display: -o-box;
	overflow: hidden;
	text-align: center;
	color: #FFF !important;
	line-height: 1.4;
	text-overflow: ellipsis;
	box-orient: vertical;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	-moz-box-orient: vertical;
	-moz-line-clamp: 2;
	-o-box-orient: vertical;
	-o-line-clamp: 2;
	-ms-box-orient: vertical;
	-ms-line-clamp: 2;
	letter-spacing: 0.5px !important;
}
.card-title {
		font-size: clamp( 1.7rem, calc( 0.8708860759493671rem + 1.5189873417721522vw ), 2.52rem ) !important;
	}
.card-title > small {
	display: inline-block;
	font-weight: 500 !important;
	font-size: 70% !important;
}
.card-title_sub::before,
.card-title_non::before {
	margin-right: 3px;
	font-family: "Font Awesome 6 Free";
	font-weight: 400;
	content: "\f059";
}
.post_thumb {
	margin-bottom: .35rem;
	padding: 0;
	display: block;
}
.card a:hover {
	text-decoration: none;
}
.card .post_links {
	display: block;
	cursor: pointer;
}
.card .post_links:hover {
	background-color: #f5f5f5;
}
.card .post_thumb {
	width: 100%;
	height: auto;
	display: block;
	overflow: hidden;
	background-repeat: no-repeat;
	background-position: center center;
	-webkit-background-size: 100% auto;
	-moz-background-size: 100% auto;
	-o-background-size: 100% auto;
	background-size: 100% auto;
	-ms-background-size: 100% auto;
}
.card a:hover .post_thumb {
	opacity: .8;
}
.card-block p {
	margin: 0 0 .5rem;
	font-size: .7rem;
	line-height: 1.5;
}
.card-body p {
	margin: 0 0 .5rem;
	line-height: 1.5 !important;
}
.card-body p:last-child {
	margin-bottom: 0 !important;
}
.card-body p.card-text {
	margin: 0 0 .5rem;
	font-size: 1em !important;
	line-height: 1.6 !important;
}
.card-img-overlay {
	padding: 0;
	top: calc(30% - 0.5rem);
	text-align: center;
}
.card-text {
	margin: 0;
	display: block;
	overflow: hidden;
	line-height: 1.4;
	font-size: 1.5rem;
}
.card-link {
	margin-top: .5rem;
	margin-bottom: .5rem;
	text-align: center;
}
.card-link > p {
	margin-bottom: 0 !important;
}
.card-link .button {
	padding: .7rem 1rem;
	display: inline-block;
	text-align: center;
	font-size: .9rem;
	letter-spacing: 0.5px;
	border-radius: .5rem;
	-webkit-border-radius: .5rem;
	-moz-border-radius: .5rem;
	-ms-border-radius: .5rem;
}
.card-link .button > .fa {
	margin-right: .2rem;
}
.card-point {
	display: block;
	overflow: hidden !important;
	position: relative;
}
.card-point .point-numbers {
	padding: 1.5rem 1.2rem;
	position: absolute;
	bottom: 10px;
	left: 10px;
	color: #FFF;
	font-size: 1.8rem;
	line-height: 1;
	text-align: center;
	background:#F44E4E;
	border-radius: 50%;
}
.card-point .point-numbers > em {
	margin-top: .35rem;
	display: block;
	text-align: center;
	font-size: 3rem;
	font-weight: 700;
}
.card-label {
	padding: .5rem 1rem;
	position: absolute;
	top: 0;
	left: 0;
	color: #FFF;
	font-size: 1.1rem;
	line-height: 1;
	font-weight: 700;
	text-align: center;
	background:#F44E4E;
}
#youtube .card-img-overlay {
	padding: 0;
	top: calc(25% - 0.5rem);
	text-align: center;
}
/* ------------------------------------
// button
------------------------------------ */
.btn {
	padding: 1rem 2.5rem !important;
	font-size: 1.7rem !important;
	font-weight: 500 !important;
}
.btn:hover {
	text-decoration: none !important;
}
.btn > small {
	font-size: .5em !important;
	font-weight: 500 !important;
}
main#page a.btn:link {
	color: #FFF !important;
	text-decoration: none !important;
}
.btn-lg {
	padding: 1.25rem 1rem !important;
	width: 100%;
	font-size: 1.5em !important;
	font-weight: 700 !important;
	line-height: 1.3;
	letter-spacing: .1rem;
}
.btn-xl {
	padding: 1.25rem 1rem !important;
	min-width: 75%;
	font-size: 1.45em !important;
	font-weight: 700 !important;
	letter-spacing: .1rem;
}
.btn-eng {
	font-size: 1.55em !important;
}
.btn-dark {
	color: #FFF !important;
}
.btn-wide {
	margin: 0 auto;
	padding: 1.5rem 1rem !important;
	min-width: 38%;
}
.btn-100 {
	margin: 0 auto;
	padding: 1rem .5rem !important;
	width: 100%;
	font-weight: bold;
	border-radius: 2.5rem !important;
}
.btn-square {
	padding: .7rem 5rem !important;
	color: #FFF !important;
	border-radius: 0 !important;
}
.btn:hover {
	color: rgba(255, 255, 255, 0.8) !important;
}
.btn-light:hover {
	color: rgba(0, 0, 0, 0.7) !important;
}
.btn .btn-img {
	width: 125px;
	height: auto;
}
.btn-xs {
	margin: 0 .5rem !important;
	padding: .5rem .7rem !important;
	line-height: 1.2 !important;
	font-size: .9em !important;
}
/* ------------------------------------
// bootstrap form
------------------------------------ */
.form-control {
	height: auto !important;
	font-size: 1.5rem;
}
.form-group {
	margin-bottom: 1rem;
	margin: 0 auto 1rem;
	text-align: left;
}

/* ------------------------------------
// bootstrap modal
------------------------------------ */
.modal-custum {
	position: relative;
}
button.close {
	position: absolute;
	top: 10px;
	right: 10px;
	float: none !important;
	color:#555;
	z-index: 10;
	border: 0;
	background: transparent !important;
}
.modal-btn:focus, .modal-btn.focus {
	box-shadow: none !important;
}
.btn-modal {
	padding: 0 !important;
	background-color: transparent !important;
	border-radius: 0 !important;
}
.modal-open .modal,.btn:focus{
	outline:none !important;
	box-shadow: none !important;
}

/* ------------------------------------
// bootstrap 5 Columns
------------------------------------ */
.col-15, .col-sm-15, .col-md-15, .col-lg-15 {
	position: relative;
	min-height: 1px;
	padding-right: 15px;
	padding-left: 15px;
	width: 100%;
}
@media (min-width: 768px) {
	.col-sm-15 {
		width: 20%;
		flex: 0 0 20%;
	}
	.col-sm-18 {
		width: 12.5%;
		flex: 0 0 20%;
	}
}
@media (min-width: 992px) {
	.col-md-15 {
		width: 20%;
		flex: 0 0 20%;
	}
	.col-sm-18 {
		width: 12.5%;
		flex: 0 0 20%;
	}
}
@media (min-width: 1200px) {
	.col-lg-15 {
		width: 20%;
		flex: 0 0 20%;
	}
	.col-lg-18 {
		width: 12.5%;
		flex: 0 0 20%;
	}
}

/* ------------------------------------
// bootstrap Media Queries
------------------------------------ */
@media (min-width: 768px) {
	.container-md, .container-sm {
		max-width: 96% !important;
	}
}
/* -- smartphone 768px --*/
@media (max-width: 767.98px) {
	.header-nav {
		background-color: #FFF !important;
	}
	.navbar .container-fluid {
		padding: 0 1vw !important;
	}
	.navbar-nav {
		background-color: #FFF;
	}
	.nav-justified {
		display: block;
		z-index: 99999;
	}
	.navbar-brand {
		margin: 0;
		padding: .5rem 0;
		width: 80%;
	}
	.navbar .nav-justified > li {
		padding: .5rem 1rem;
		display: block;
		border-bottom: 1px dotted rgba(0, 0, 0, 0.2) !important;
	}
	.navbar .nav-justified > li:last-child {
		border: none !important;
	}
	.navbar .menu-item {
		width: 100%;
	}
	.navbar li:last-child {
		border: none !important;
	}
	.navbar-nav a {
		padding: 1.25rem .5rem !important;
		font-size: 1.5rem;
	}
	.navbar .menu-item:last-child {
		margin-bottom: 0 !important;
	}
	.navbar .container {
		padding-left: .9375rem;
	}
	.dropdown-menu {
		margin-top: 0 !important;
		padding: .2rem 0 0 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		position: inherit !important;
	}
	.dropdown-menu li {
		padding: .5rem .35rem !important;
	}
	.dropdown-menu a {
		text-align: center !important;
	}
	.card {
		margin-bottom: 1rem !important;
	}
	.w-50,
	.w-75 {
		width: 100% !important;
	}
	.btn-wide {
		padding: 1rem !important;
		width: 80%;
	}
	.btn-wide {
		width: 100%;
	}
	.btn-lg {
		padding: 2rem .5rem !important;
		width: 100%;
		font-size: 1.4rem !important;
		font-weight: 700 !important;
	}
	footer .col-12 {
		text-align: left;
	}
	footer .footer-info {
		text-align: center !important;
	}
	#youtube .card-img-overlay {
		padding: 0;
		top: calc(10% - 0.5rem);
		text-align: center;
	}
	.form-group {
		margin-bottom: 1rem;
		width: 100%;
		margin: 0 auto 1rem;
	}
}
@media (min-width: 992px) {
	.modal-dialog {
		max-width: 940px;
		margin: 1.75rem auto;
	}
}
button.navbar-toggler:focus {
	outline: none !important;
	box-shadow: none !important;
}