:root {
	--primary-color: rgb(0, 100, 50);
	--primary-color-rgb: 0, 100, 50;
	/* --accent-color: rgb(150, 200, 149); */
	--accent-color: rgb(1, 238, 107);
	--bs-font-sans-serif: 'Roboto', 'Arial';
	--bs-body-font-size: 0.95rem;
	--bs-link-color: #4b4b4d;
	--swiper-navigation-color: rgb(0, 100, 50)!important;
	--swiper-pagination-color: rgb(0, 100, 50)!important;
	--text-gray: #595959;
	--bs-navbar-color: #333;
	--bs-nav-link-color: var(--bs-navbar-color);
	--swiper-navigation-size: 25px!important;
	--bs-success-rgb: 0, 100, 50;
}

html, body {
    font-family: 'Roboto', 'Arial';
	font-size: 0.97rem;
	line-height: 170%;
    height:100%;
    margin:0;
    padding:0;
}

a { text-decoration: none; }
a:hover { text-decoration: none; color: var(--primary-color)!important; }
a.text-white:hover {
    text-decoration: none;
    color: var(--accent-color)!important;
}
a.text-white-50:hover {
	color: var(--accent-color) !important;
}

.animation {
	-webkit-transition: background-color 0.3s ease-out;
	-moz-transition: background-color 0.3s ease-out;
	-o-transition: background-color 0.3s ease-out;
	transition: background-color 0.3s ease-out;
}

.hover_primary:hover, .hover_primary_slide:hover,
.hover_green_gradient:hover, .hover_green_gradient:hover a, .hover_green_gradient:hover .text-secondary {
	color: #fff!important;
}

.hover_primary:hover {
	background-color: var(--primary-color)!important;
}

.hover_primary:hover i, .hover_primary:hover .text-secondary, .hover_primary:hover a,
.hover_primary_slide:hover i, .hover_primary_slide:hover .text-secondary, .hover_primary_slide:hover a,
.hover_primary:hover .text-success,
.hover_green_gradient:hover .text-success,
.news-content .hover_primary:hover li::marker
{
	color: #fff!important;
	transition: .5s;
}

.hover_primary_slide {
	position: relative;
}

.hover_primary_slide::before {
    background: var(--primary-color);
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    content: "";
    z-index: -1;
    transition: .5s;
}

.hover_primary_slide:hover::before {
    width: 100%;
    height: 100%;
}

.hover_text_white:hover {
	color: #ffffff!important;
}

.nav-link {
	color: #000;
	font-size: 1rem;
}

.nav-link.router-link-active {
	color: var(--primary-color);
}

.btn-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: var(--primary-color);
    --bs-btn-border-color: var(--primary-color);
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #157347;
    --bs-btn-hover-border-color: #146c43;
    --bs-btn-focus-shadow-rgb: 60,153,110;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #146c43;
    --bs-btn-active-border-color: #13653f;
    --bs-btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --bs-btn-disabled-color: #fff;
    --bs-btn-disabled-bg: var(--primary-color);
    --bs-btn-disabled-border-color: var(--primary-color);
}

.required:after {
    content:" *";
    color: red;
}

.h_40 {
    height: 40px;
}

.h_40_ {
    height: calc(100% - 40px);
}

.h_80p {
    height: 80px;
}

.h_80_ {
    height: calc(100% - 80px);
}

.mw_900 {
	max-width: 900px!important;
}

.mw_1100 {
	max-width: 1150px;
}

.w_20p {
	width: 20px;
}

.w_30, .w_30p {
	width: 30px;
}

.w_30p_ {
	width: calc(100% - 30px);
}

.w_30 {
	width: 30%;
}

.w_70 {
	width: 70%;
}

.w_70p {
	width: 70px;
}

.w_70p_ {
	width: calc(100% - 70px);
}

.w_80p {
	width: 80px;
}

.w_80p_ {
	width: calc(100% - 80px);
}

.w_40 {
	width: 40px;
}

.w_60 {
	width: 60px;
}

.w_70 {
	width: 70px;
}

.w_80 {
	width: 80px;
}

.w_120 {
	width: 120px;
}

.w_150 {
	width: 150px;
}

.min_w_35 {
	min-width: 35px;
}

.h_20 {
	height: 20px;
}

.h_30p {
	height: 30px;
}

.h_70p {
	height: 70px!important;
}

.tlbr_0 {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
}

@media (max-width: 576px) {

	.sm_h_80_ {
		height: 80px!important;
	}

	.sm_w_360_ {
		width: 360px!important;
	}
}

/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
    .sm_vh_100 {
        height: 100vh!important;
    }

	.sm_w_200 {
		width: 200px!important;
	}

	.sm_w_360 {
		width: 360px!important;
	}

	.sm_fs_3 {
		font-size: 1.75rem!important;
	}
}

/* // Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
    
}

/* // Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
    
}

/* // X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
    
}

/* // XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
    
}

/* loader */
	.loader {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		width: 100vw;
		height: 100vh;
		background: rgba(255, 255, 255, 0.5);
		z-index: 999999999;
	}
	
	.loader .box {
		position: absolute;
		width: 100px;
		height: 50px;
		top: 50%;
		left: 50%;
		margin-left: -50px;
	}

	.loader_img {
		position: absolute;
		width: 50px;
		height: 50px;
		top: 50%;
		left: 50%;
		margin-left: -25px;
		background: url(loading.png) no-repeat center center;
	
		-webkit-animation-name: rotate;
		-webkit-animation-duration: 2s;
		-webkit-animation-iteration-count: infinite;
		-webkit-animation-timing-function: linear;
		-moz-animation-name: rotate;
		-moz-animation-duration: 2s;
		-moz-animation-iteration-count: infinite;
		-moz-animation-timing-function: linear;
	}
/* loader */

@-webkit-keyframes rotate {
	from {
		-webkit-transform: rotate(0deg);
	}

	to {
		-webkit-transform: rotate(360deg);
	}
}

@-moz-keyframes rotate {
	from {
		-moz-transform: rotate(0deg);
	}

	to {
		-moz-transform: rotate(360deg);
	}
}

.opacity_100_hover:hover {
	opacity: 1!important;
}

.btn_primary {
    color: #fff;
    background-color: var(--primary-color);
    border-color: var(--primary-color);
}

.btn_transparent {
	background-color: rgba(0, 0, 0, 0)!important;
}

.bg_opacity_5 {
    --bs-bg-opacity: 0.05;
}

.bg_grey, .bg_grey_hover:hover {
	background-color: rgb(240 240 240);
}

.bg_green_gradient {
	background-image: linear-gradient(-45deg, #002341, #017158);
}

.border_w_2 {
	border-width: 2px!important;
}

.border_grey {
	border-color: rgb(185, 188, 190)!important;
}

.border_primary {
	border-color: var(--primary-color)!important;
}

.border_top_dashed {
	border-top-style: dashed!important;
}

.border_bottom_dashed {
	border-bottom-style: dashed!important;
}

.bg_primary {
	--bs-bg-opacity: 1;
    background-color: rgba(var(--primary-color-rgb),var(--bs-bg-opacity))!important;
}

.bg_accent {
	--bs-bg-opacity: 1;
    background-color: var(--accent-color)!important;
}

.border_accent {
    border-color: var(--accent-color)!important;
}

.gradient-black {
	background: linear-gradient(0deg, rgba(0, 0, 0, .6), transparent);
}

.gradient-green-dark {
	background: linear-gradient(125deg, #010417, #002341, #017158, #01ee6b);
}

.gradient-green-dark-animation-hover:hover, .gradient-green-dark-animation-hover:hover .text-dark {
	color: #fff!important;
}

.gradient-green-dark-animation, .gradient-green-dark-animation-hover:hover {
	background: linear-gradient(-45deg, #010417, #002341, #017158, #01ee6b);
	background-size: 200% 200%;
	animation: gradient 25s ease infinite;
}

@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}

.bg_cover {
	background-size: cover;
	background-position: center center;
}

.bg_contain {
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
}

.fs_16 {
	font-size: 16px;
}

.fs_30 {
	font-size: 30px;
}

.fs_11 {
	font-size: 11px!important;
}

.fs_12 {
	font-size: 12px!important;
}

.fs_13 {
	font-size: 13px;
}

.fs_7 {
	font-size: 0.75rem!important;
}

.text_primary {
	color: var(--primary-color);
}

.text_accent {
	color: var(--accent-color);
}

.crop_text_1, .crop_text_2, .crop_text_3, .crop_text_4 {
    overflow : hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-box-orient: vertical;
  }
  
  .crop_text_1 {
    -webkit-line-clamp: 1;
  }
  
  .crop_text_2 {
    -webkit-line-clamp: 2;
  }
  
  .crop_text_3 {
    -webkit-line-clamp: 3;
  }
  
  .crop_text_4 {
    -webkit-line-clamp: 4;
  }

img {
	max-width: 100%;
}

.img_thumb {
	object-fit: cover;
	width: 100%;
	aspect-ratio: 305 / 202;
}

.img_thumb.contain {
	object-fit: contain;
}

.ratio-1 {
	aspect-ratio: 1 / 1;
}

.ratio-1-5 {
	aspect-ratio: 4 / 5;
}

.z-1 {
	z-index: 1;
}

.z-2 {
	z-index: 2;
}

.zi_1 {
	z-index: 1;
}

.zi_2 {
	z-index: 2;
}

.zi_3 {
	z-index: 3;
}

.pb_p100 {
	padding-bottom: 100%;
}

.pb_p50 {
	padding-bottom: 50%;
}

.pb_56 {
	padding-bottom: 56%;
}

.py_8 {
    padding-top: 12rem!important;
    padding-bottom: 12rem!important;
}

.py_7 {
    padding-top: 6rem!important;
    padding-bottom: 6rem!important;
}

.pt_7 {
    padding-top: 6rem!important;
}

.pb_7 {
    padding-bottom: 6rem!important;
}

.ps_6 {
	padding-left: 6rem!important;
}

.dropdown-item.active, .dropdown-item:active {
    color: #fff!important;
    background-color: var(--primary-color);
}

.dropdown-item i {
	width: 20px;
	text-align: center;
	color: rgb(152, 152, 152);
	margin-right: 0.25rem!important;
}

.news-content {
	/* text-align: justify; */
}

.news-content ul {
	list-style-position: outside;
	padding-left: 15px;
}

.news-content li {
	padding-left: 10px;
	margin-bottom: 10px;
}

.news-content ul:not([role="list"]) li::marker {
	font-family: "Font Awesome 6 Pro";
	content: "\f058";
	color: var(--primary-color);
	font-weight: 300;
}

.news-content .dark li::marker {
	color: var(--accent-color);
}

.news-content iframe {
	width: 100%;
}

.news-content img {
	max-width: 100%;
	height: auto;
	margin-bottom: 20px;
}

.twitt {
	color: var(--primary-color);
	font-weight: 400;
	border: 1px solid var(--primary-color);
	padding: 10px 20px;
	position: relative;
	display: inline-block;
	max-width: 300px;
	margin-top: 40px;
	float: left;
	margin-right: 40px;
	margin-bottom: 20px;
	border-radius: 5px;
	transition: all .3s ease-in-out;
	font-style: italic;
}

.blockquote-1 {
	padding: 30px 50px;
    background: #f6f6f6;
    border: 1px solid #eee;
    border-radius: 5px;
    margin: 0 20px;
    margin-bottom: 30px;
	position: relative;
}

.blockquote-1::before, .blockquote-1::after {
	font-family: "Font Awesome 6 Pro";
	font-weight: 700;
	font-size: 30px;
	color: var(--bs-gray);
	position: absolute;
}

.blockquote-1::before {
    content: "\f10d";
    left: 10px;
}

.blockquote-1::after {
    content: "\f10e";
    right: 10px;
}

a[class^="share-network-"] {
	flex: none;
	color: #FFFFFF;
	background-color: #333;
	border-radius: 3px;
	overflow: hidden;
	display: flex;
	flex-direction: row;
	align-content: center;
	align-items: center;
	cursor: pointer;
}

a[class^="share-network-"] .fah {
	background-color: rgba(0, 0, 0, 0.2);
	padding: 15px 10px;
	flex: 0 1 auto;
}

a[class^="share-network-"] span {
	padding: 0 10px;
	flex: 1 1 0%;
	font-weight: 500;
}

/* reaction */
.hover_img_outer {
	position: relative;
	overflow: hidden;
}

.hover_img_outer:hover .hover_img_inner {
	transform: scale(1.2);
}

.hover_scale {
	transition: all .2s ease-in-out;
	cursor: pointer;
}

.hover_scale:hover {
	transform: scale(1.5);
}

/* // Small devices (landscape phones, 576px and up) */
@media (min-width: 576px) {
	.fs_sm_5 {
		font-size: 1.25rem!important;
	}
}

/* // Medium devices (tablets, 768px and up) */
@media (min-width: 768px) {
	
}

/* // Large devices (desktops, 992px and up) */
@media (min-width: 992px) {
	
}

/* // X-Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
	
}

/* // XX-Large devices (larger desktops, 1400px and up) */
@media (min-width: 1400px) {
	
}

/* reaction */

.hover_visible_inner {
	display: none;
}

.hover_visible_outer:hover .hover_visible_inner {
	display: block;
}