:root {
  --primary:#2F5132;
  --secondary:#4A6C82;
  --secondary-dark: #3F5D70;
  --accent:#5F933F; 

  --gray-900: #222826;
  --gray-600: #6b726e;
  --gray-300: #d3d7d2;
  --gray-100: #f5f7f4;

  --dark: var(--gray-900);
}

/*
    Grid layout styles
*/

.container-fluid {
	max-width: 1364px;
}

.container-fluid {
	padding-left: 2rem;
	padding-right: 2rem;
}

@media (max-width: 1199px) {
	.container-fluid {
		padding-left: 1rem;
		padding-right: 1rem;
	}
}

.row.g-0 {
	margin-left: 0;
	margin-right: 0;
}
.row.g-0 > [class*="col-"] {
	padding-left: 0;
	padding-right: 0;
	margin-bottom: 0;
}

.row.g-1 {
	margin-left: -0.25rem;
	margin-right: -0.25rem;
}
.row.g-1 > [class*="col-"] {
	padding-left: 0.25rem;
	padding-right: 0.25rem;
	margin-bottom: 0.5rem;
}

.row.g-2 {
	margin-left: -0.5rem;
	margin-right: -0.5rem;
}
.row.g-2 > [class*="col-"] {
	padding-left: 0.5rem;
	padding-right: 0.5rem;
	margin-bottom: 1rem;
}

.row.g-3 {
	margin-left: -1rem;
	margin-right: -1rem;
}
.row.g-3 > [class*="col-"] {
	padding-left: 1rem;
	padding-right: 1rem;
	margin-bottom: 2rem;
}

.row.g-4 {
	margin-left: -1.5rem;
	margin-right: -1.5rem;
}
.row.g-4 > [class*="col-"] {
	padding-left: 1.5rem;
	padding-right: 1.5rem;
	margin-bottom: 3rem;
}

.row.g-5 {
	margin-left: -3rem;
	margin-right: -3rem;
}
.row.g-5 > [class*="col-"] {
	padding-left: 3rem;
	padding-right: 3rem;
	margin-bottom: 6rem;
}

/* 
    Font styles
*/
.font-weight-medium {
	font-weight: 500 !important;
}

.font-weight-semi-bold {
	font-weight: 600 !important;
}

/* Primary button */
.btn-primary {
	color: #ffffff;
	background-color: var(--accent);
	border-color: var(--accent);
	border-width: 2px;
}

.btn-primary:hover {
	color: #ffffff;
	background-color: var(--primary);
	border-color: var(--primary);
}

.btn-primary:not(:disabled):not(.disabled).focus,
.btn-primary:not(:disabled):not(.disabled):focus,
.btn-primary:not(:disabled):not(.disabled).active,
.btn-primary:not(:disabled):not(.disabled):active {
	background-color: var(--primary);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
}

.btn-primary:not(:disabled):not(.disabled).active:focus,
.btn-primary:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--primary);
}

/* Primary outline button */
.btn-outline-primary {
	color: var(--accent);
	background-color: #ffffff;
	border-color: var(--accent);
	border-width: 2px;
}

.btn-outline-primary:hover {
	color: #ffffff;
	background-color: var(--primary);
	border-color: var(--primary);
}

.btn-outline-primary:not(:disabled):not(.disabled).focus,
.btn-outline-primary:not(:disabled):not(.disabled):focus,
.btn-outline-primary:not(:disabled):not(.disabled).active,
.btn-outline-primary:not(:disabled):not(.disabled):active {
	background-color: var(--primary);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
	color: #ffffff;
}

.btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.btn-outline-primary:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--primary);
}

/* Secondary button */
.btn-secondary {
	color: #ffffff;
	background-color: var(--secondary);
	border-color: var(--secondary);
	border-width: 2px;
}

.btn-secondary:hover {
	color: #ffffff;
	background-color: var(--secondary-dark);
	border-color: var(--secondary-dark);
}

.btn-secondary:not(:disabled):not(.disabled).focus,
.btn-secondary:not(:disabled):not(.disabled):focus,
.btn-secondary:not(:disabled):not(.disabled).active,
.btn-secondary:not(:disabled):not(.disabled):active {
	background-color: var(--secondary-dark);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--secondary-dark);
	outline: 2px solid transparent;
}

.btn-secondary:not(:disabled):not(.disabled).active:focus,
.btn-secondary:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--secondary-dark);
}

/* Secondary outline button */
.btn-outline-secondary {
	color: var(--secondary);
	background-color: #ffffff;
	border-color: var(--secondary);
	border-width: 2px;
}

.btn-outline-secondary:hover {
	color: #ffffff;
	background-color: var(--secondary-dark);
	border-color: var(--secondary-dark);
}

.btn-outline-secondary:not(:disabled):not(.disabled).focus,
.btn-outline-secondary:not(:disabled):not(.disabled):focus,
.btn-outline-secondary:not(:disabled):not(.disabled).active,
.btn-outline-secondary:not(:disabled):not(.disabled):active {
	background-color: var(--secondary-dark);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--secondary-dark);
	outline: 2px solid transparent;
	color: #ffffff;
}

.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.btn-outline-secondary:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--secondary-dark);
}

/* Success outline button */
.btn-outline-success {
	background-color: #ffffff;
}

.btn-outline-success:not(:disabled):not(.disabled).focus,
.btn-outline-success:not(:disabled):not(.disabled):focus,
.btn-outline-success:not(:disabled):not(.disabled).active,
.btn-outline-success:not(:disabled):not(.disabled):active {
	background-color: var(--success);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--success);
	outline: 2px solid transparent;
	color: #ffffff;
}

.btn-outline-success:not(:disabled):not(.disabled).active:focus,
.btn-outline-success:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--success);
}

/* Danger outline button */
.btn-outline-danger {
	background-color: #ffffff;
}

.btn-outline-danger:not(:disabled):not(.disabled).focus,
.btn-outline-danger:not(:disabled):not(.disabled):focus,
.btn-outline-danger:not(:disabled):not(.disabled).active,
.btn-outline-danger:not(:disabled):not(.disabled):active {
	background-color: var(--danger);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--danger);
	outline: 2px solid transparent;
	color: #ffffff;
}

.btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.btn-outline-danger:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--danger);
}

/* Info outline button */
.btn-outline-info {
	background-color: #ffffff;
}

.btn-outline-info:not(:disabled):not(.disabled).focus,
.btn-outline-info:not(:disabled):not(.disabled):focus,
.btn-outline-info:not(:disabled):not(.disabled).active,
.btn-outline-info:not(:disabled):not(.disabled):active {
	background-color: var(--info);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--info);
	outline: 2px solid transparent;
	color: #ffffff;
}

.btn-outline-info:not(:disabled):not(.disabled).active:focus,
.btn-outline-info:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--info);
}

/* Dark outline button */
.btn-outline-dark {
	background-color: #ffffff;
}

.btn-outline-dark:not(:disabled):not(.disabled).focus,
.btn-outline-dark:not(:disabled):not(.disabled):focus,
.btn-outline-dark:not(:disabled):not(.disabled).active,
.btn-outline-dark:not(:disabled):not(.disabled):active {
	background-color: var(--dark);
	border-color: #ffffff;
	box-shadow: 0px 0px 0px 2px var(--dark);
	outline: 2px solid transparent;
	color: #ffffff;
}

.btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.btn-outline-dark:not(:disabled):not(.disabled):active:focus {
	box-shadow: 0px 0px 0px 2px var(--dark);
}

/* Disabled button styles */
.btn.disabled,
.btn:disabled {
	color: #8d8d8d;
	background-color: #c6c6c6;
	border-color: #c6c6c6;
	box-shadow: none;
	outline: none;
	opacity: 1;
}

/* Button size styles */
.btn-group-xs > .btn,
.btn-xs {
	padding: 0.125rem 0.35rem;
	font-size: 0.75rem;
	line-height: 1.3;
	border-radius: 0.15rem;
}

/* Text styles */
.text-primary {
	color: var(--primary) !important;
}

.text-secondary {
	color: var(--secondary) !important;
}

.text-accent {
	color: var(--accent) !important;
}

.text-muted {
  color: var(--gray-600) !important;
}

.text-dark {
  color: var(--gray-900) !important;
}

/* Background styles */
.bg-light {
	background-color: var(--gray-100) !important;
}

.bg-primary {
	background-color: var(--primary) !important;
}

.bg-secondary {
	background-color: var(--secondary) !important;
}

.bg-accent {
	background-color: var(--accent);
}

/* links */
a.info-link {
  color: var(--secondary) !important;
  text-decoration: underline !important;
}

/* 
 	Borders
*/
.border,
.border-top,
.border-right,
.border-bottom,
.border-left {
  border-color: var(--gray-300) !important;
}

.border-primary   { border-color: var(--primary) !important; }
.border-secondary { border-color: var(--secondary) !important; }
.border-success   { border-color: var(--accent) !important; }
.border-dark      { border-color: var(--gray-900) !important; }
.border-light     { border-color: var(--gray-100) !important; }

/*
    Form control styles
*/
.form-control {
	color: var(--gray-900);
	font-size: 0.875rem !important;
	height: calc(1.5em + 0.75rem + 6px);
}

.form-control.form-control-sm {
	height: calc(1.5em + 0.5rem + 6px);
}

.form-control.form-control-lg {
	height: calc(1.5em + 1rem + 18px);
}

select.form-control {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("../img/angle_down.svg");
	background-repeat: no-repeat;
	background-position: right 0.625rem center;
	padding-right: 1.5rem;
}

select.form-control:disabled,
select.form-control[readonly] {
	background-image: url("../img/angle_down_disabled.svg");
}

.form-control:disabled,
.form-control[readonly] {
	color: #8d8d8d;
	background-color: var(--light);
}

.form-control::placeholder {
	color: var(--dark);
}

.form-control:-ms-input-placeholder {
	color: var(--dark);
}

.form-control:disabled::placeholder,
.form-control[readonly]::placeholder {
	color: #8d8d8d;
}

.form-control:disabled:-ms-input-placeholder,
.form-control[readonly]:-ms-input-placeholder {
	color: #8d8d8d;
}

.form-control:focus {
	border-color: var(--accent);
	box-shadow: 0px 0px 0px 1px var(--accent);
	outline: 1px solid transparent;
}

.form-control.is-invalid {
	background-image: url("../img/icons/icon_error.svg");
	box-shadow: 0px 0px 0px 1px var(--danger) !important;
	outline: 1px solid transparent;
}

/*
    Input group styles
*/

.input-group-lg > .custom-select,
.input-group-lg > .form-control:not(textarea) {
	height: calc(1.5em + 1rem + 18px);
}

.input-group-sm > .custom-select,
.input-group-sm > .form-control:not(textarea) {
	height: calc(1.5em + 0.5rem + 6px);
}

.input-group-text {
	color: var(--dark);
	font-weight: 300;
}

/* 
  Alert styles 
*/

.alert {
	font-weight: 300;
}

.form-group .alert {
	margin-top: 0.375rem;
	margin-bottom: 0rem;
}

@media (max-width: 575px) {
	.alert {
		font-size: 0.875rem;
	}
}

/*
    Custom radio and checkbox styles
*/

.custom-control-input:not(:disabled):not([readonly]) ~ .custom-control-label {
	cursor: pointer;
}

.custom-control-input:disabled ~ .custom-control-label::before,
.custom-control-input[disabled] ~ .custom-control-label::before {
	border-color: #ced4da;
}

.custom-checkbox .custom-control-label::before {
	border-color: var(--primary);
	border-radius: 0px;
}

/* 
  Custom button group styles
*/

.custom-btn-group {
	width: 100%;
}

.custom-btn-group button {
	font-weight: 500;
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px 16px 18px 16px;
	background-color: var(--light);
	box-shadow: none !important;
	border-color: #ece9e9;
	color: var(--dark);
}

.custom-btn-group button img {
	height: 52px;
	margin-right: 4px;
}

.custom-btn-group button.active,
.custom-btn-group button:hover {
	background-color: var(--primary);
	border-color: var(--primary);
	color: white !important;
}

.custom-btn-group button:focus {
	outline: 2px solid #ffffff;
	outline-offset: -4px;
}

.custom-btn-group button:not(.active):not(:hover):focus {
	outline: 2px solid var(--primary) !important;
	outline-offset: -2px !important;
}

.custom-btn-group button:not(.active) .white-image {
	display: none;
}

.custom-btn-group button.active .white-image,
.custom-btn-group button:hover .white-image {
	display: inline;
}

.custom-btn-group button.active .grey-image,
.custom-btn-group button:hover .grey-image {
	display: none;
}

.custom-btn-group button:first-child {
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

.custom-btn-group button:last-child {
	border-top-right-radius: 8px;
	border-bottom-right-radius: 8px;
}

@media (max-width: 1199px) {
	.custom-btn-group:not(.btn-group-xl) button {
		padding: 18px 14px 16px 14px;
	}

	.custom-btn-group:not(.btn-group-xl) button img {
		height: 38px;
	}
}

@media (max-width: 991px) {
	.custom-btn-group:not(.btn-group-xl) button {
		font-size: 0.875rem;
		justify-content: start;
		padding: 12px 14px 10px 14px;
	}

	.custom-btn-group.btn-group-xl button img {
		height: 46px;
	}
}

@media (max-width: 767px) {
	.custom-btn-group.btn-group-xl button {
		font-size: 0.875rem;
		padding: 20px 4px 16px 4px;
	}

	.custom-btn-group:not(.btn-group-xl) button img {
		height: 34px;
	}

	.custom-btn-group.btn-group-xl button img {
		height: 40px;
	}
}

@media (max-width: 575px) {
	.custom-btn-group button,
	.custom-btn-group.btn-group-xl button {
		font-size: 0.75rem !important;
	}

	.custom-btn-group:not(.btn-group-xl) button img {
		height: 30px;
	}

	.custom-btn-group.btn-group-xl button img {
		height: 34px;
	}
}

/* 
  Custom dropdown styles
*/

.custom-dropdown .dropdown-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.custom-dropdown .dropdown-toggle::after {
	content: "";
	height: 6px;
	width: 11px;
	border: none;
	background-image: url("../img/angle_down.svg");
	background-repeat: no-repeat;
	margin-left: 0.5rem;
}

.custom-dropdown .dropdown-toggle.btn-primary::after,
.custom-dropdown .dropdown-toggle.btn-secondary::after {
	background-image: url("../img/angle_down_white.svg");
}

.custom-dropdown .dropdown-toggle:disabled::after{
	background-image: url("../img/angle_down_disabled.svg");
}

.custom-dropdown .dropdown-toggle:focus {
	outline: 2px solid var(--primary);
	border-radius: 2px;
}

.custom-dropdown .dropdown-menu {
	padding: 12px 8px;
}

.custom-dropdown .dropdown-menu .dropdown-item {
	color: var(--primary) !important;
	padding: 6px 24px 6px 12px;
	margin-bottom: 4px;
	font-size: 0.875rem;
	border-radius: 4px;
}

.custom-dropdown .dropdown-menu .dropdown-item:last-child {
	margin-bottom: 0px;
}

.custom-dropdown .dropdown-menu .dropdown-item.active,
.custom-dropdown .dropdown-menu .dropdown-item:active,
.custom-dropdown .dropdown-menu .dropdown-item:hover {
	background-color: var(--light);
}

.custom-dropdown .dropdown-menu .dropdown-item:focus {
	outline: 2px solid var(--primary);
}

.custom-dropdown .dropdown-menu .dropdown-item.active {
	position: relative;
}

.custom-dropdown .dropdown-menu .dropdown-item.active::before {
	content: "";
	position: absolute;
	left: 0px;
	top: 0px;
	width: 4px;
	height: 100%;
	background: var(--info);
	border-top-left-radius: 8px;
	border-bottom-left-radius: 8px;
}

/* 
  Custom table styles
*/

.custom-table {
	border: 1px solid #ece9e9;
}

.custom-table thead th {
	border-width: 1px;
	background-color: var(--light);
}

.custom-table th {
	font-weight: 400;
}

.custom-table td {
	font-weight: 300;
}

.custom-table th,
.custom-table td {
	vertical-align: middle;
}

@media (max-width: 576px) {
	.custom-table {
		font-size: 0.875rem;
	}
}
/* 
  Badge styles
*/

.badge {
	padding: 7px 12px;
	border-radius: 14px;
	font-size: 0.875rem;
	font-weight: 400;
}

.badge.badge-success {
	color: #005c55;
	background-color: #bce6ce;
}

.badge.badge-accent {
	color: #fff;
	background-color: var(--accent);
	border: 1px solid var(--accent);
}

.badge.badge-light {
	color: var(--primary);
	background-color: var(--light);
	border: 1px solid #ece9e9;
}

@media (max-width: 575px) {
	.badge {
		font-size: 0.75rem;
	}
}

/* 
    Page header styles
*/
header {
	position: fixed;
    top: 0;
	width: 100%;
	font-size: 0.875rem;
	z-index: 1050;
}

header a {
	color: white !important;
	text-decoration: none;
}

/* Primary navbar styles */
#navbar {
	padding: 1rem 0;
}

#navbar .navbar-brand {
	margin-right: 2.375rem;
	padding: 0;
}

#navbar .navbar-brand:focus,
#navbar #navbar-toggler:focus {
	outline: 2px solid #ffffff;
	outline-offset: 4px;
	border-radius: 2px;
}

#navbar #navbar-toggler .navbar-toggler-line {
	width: 34px;
	height: 3px;
	margin-bottom: 8px;
	background-color: #ffffff;
}

@media (max-width: 575px) {
	#navbar .navbar-brand img {
		height: 24px;
		width: auto;
	}

	#navbar #navbar-toggler .navbar-toggler-line {
		width: 20px;
		height: 2px;
		margin-bottom: 5px;
	}
}

#navbar .navbar-nav {
	align-items: center;
}

#navbar .navbar-nav .nav-item {
	margin-left: 2rem;
}

#navbar .navbar-nav .nav-item .nav-link {
	padding: 0;
}

#navbar .navbar-nav .nav-item.active {
	position: relative;
}

#navbar .navbar-nav .nav-item.active:after {
	content: "";
	position: absolute;
	top: -26px;
	left: -0.5rem;
	border-top: 4px solid var(--secondary);
	height: 4px;
	width: calc(100% + 1rem);
}

#navbar .navbar-nav .nav-item .nav-link:hover {
	text-decoration: underline;
	box-shadow: 0px 0px 0px 8px #142c14;
	background-color: #142c14;
	border-radius: 2px;
}

#navbar .navbar-nav .nav-item .nav-link:focus {
	outline: 2px solid #ffffff;
	outline-offset: 6px;
	border-radius: 2px;
}

#navbar .navbar-nav .nav-item.disabled .nav-link {
	pointer-events: none;
	opacity: 0.65;
}

#navbar .dropdown-toggle::after {
	background-image: url("../img/angle_down_white.svg");
}

@media (max-width: 1199px) {
	#navbar .navbar-nav .nav-item {
		margin-left: 24px;
	}
}

/* Navbar language dropdown styles */
#navbar .language-dropdown .dropdown-toggle {
	display: flex;
}

#navbar .language-dropdown .dropdown-menu {
	left: -0.5rem;
	min-width: initial;
	width: calc(100% + 1rem);
	top: calc(100% + 0.25rem);
}

/* 
    Mobile menu modal
*/

#mobile_menu_modal {
	font-size: 0.875rem;
	font-weight: 300;
}

#mobile_menu_modal .modal-body {
	padding: 1.125rem 1rem 0rem 1rem;
	background: var(--gray-900);
}

#mobile_menu_modal a {
	color: #ffffff;
	text-decoration: none;
}

#mobile_menu_modal .navbar-brand:focus {
	outline: 2px solid #ffffff;
	outline-offset: 4px;
	border-radius: 2px;
}

#mobile_menu_modal .close {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.5rem;
	height: 40px;
	width: 40px;
	opacity: 1;
}

#mobile_menu_modal .close:focus {
	outline: 2px solid #ffffff;
	border-radius: 2px;
}

#mobile_menu_modal .login-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

@media (max-width: 575px) {
	#mobile_menu_modal .navbar-brand img {
		height: 24px;
		width: auto;
	}
}

/* 
    Mobile navbar navigation link styles 
*/
#mobile_navbar .navbar {
	margin-bottom: 40px;
}

#mobile_navbar .navbar-nav .nav-item {
	border-radius: 4px;
	background-color: #313f4c;
	margin-bottom: 1rem;
}

#mobile_navbar .navbar-nav .nav-item.active {
	position: relative;
}

#mobile_navbar .navbar-nav .nav-item.active:after {
	content: "";
	position: absolute;
	top: 0px;
	left: 0px;
	width: 4px;
	height: 100%;
	background: var(--secondary);
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

#mobile_navbar .navbar-nav .nav-item .nav-link {
	border-radius: 4px;
	padding: 18px 24px;
}

#mobile_navbar .navbar-nav .nav-item .nav-link:focus {
	outline: 2px solid #ffffff;
}

/* 
    Mobile navbar collapse styles 
*/
#mobile_navbar .navbar-nav .nav-collapse .collapse-toggle {
	cursor: pointer;
	position: relative;
	color: #ffffff;
	border-radius: 4px;
	padding: 0.75rem 1rem;
}

#mobile_navbar .navbar-nav .nav-collapse .collapse-toggle:focus {
	border-radius: 4px;
	outline: 2px solid #ffffff;
}

#mobile_navbar .navbar-nav .nav-collapse .collapse-toggle::after {
	content: none;
}

#mobile_navbar .navbar-nav .nav-collapse .collapse-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.375rem 0.5rem;
}

#mobile_navbar
	.navbar-nav
	.nav-collapse
	.collapse-toggle.collapsed
	.collapse-header
	.collapse-link {
	display: none;
}

#mobile_navbar
	.navbar-nav
	.nav-collapse
	.collapse-toggle
	.collapse-header
	.collapse-link:focus {
	border-radius: 4px;
	outline: 1px solid #ffffff;
	outline-offset: 4px;
}

#mobile_navbar
	.navbar-nav
	.nav-collapse
	.collapse-toggle:not(.collapsed)
	.collapse-header
	.collapse-title {
	display: none;
}

#mobile_navbar .navbar-nav .nav-collapse .collapse-body {
	padding: 0px 1px;
}

#mobile_navbar .navbar-nav .nav-collapse .collapse-body::before {
	content: "";
	display: block;
	margin-top: 0.5rem;
	margin-bottom: 0.625rem;
	border-top: 1px solid #4d5f72;
}

#mobile_navbar .navbar-nav .nav-collapse .collapse-body .nav-link {
	padding: 8px 7px;
	margin-bottom: 3px;
}

#mobile_navbar .navbar-nav .nav-collapse .collapse-body .nav-link.active,
#mobile_navbar .navbar-nav .nav-collapse .collapse-body .nav-link:focus {
	outline: 1px solid #ffffff;
}

/* Mobile menu modal language dropdown styles */
#mobile_menu_modal .language-dropdown .dropdown-toggle {
	display: block;
	text-align: center;
	padding: 18px 24px;
	border: 1px solid #323f4d;
	border-radius: 4px;
}

#mobile_menu_modal .language-dropdown .dropdown-toggle::after {
	content: none;
}

#mobile_menu_modal .language-dropdown .dropdown-toggle:focus {
	outline-color: #ffffff;
}

#mobile_menu_modal .language-dropdown .dropdown-toggle:hover .arrow-container,
#mobile_menu_modal .language-dropdown .dropdown-toggle:focus .arrow-container {
	background: #323f4d;
	box-shadow: 0px 0px 0px 5px #323f4d;
}

#mobile_menu_modal .language-dropdown .dropdown-menu {
	width: 100%;
	min-width: initial;
}

#mobile_menu_modal .language-dropdown .dropdown-menu .dropdown-item {
	padding: 10px 24px 10px 12px;
}

@media (max-width: 575px) {
	#mobile_menu_modal .language-dropdown .dropdown-toggle {
		padding: 8px 20px;
	}

	#mobile_menu_modal .language-dropdown .dropdown-menu .dropdown-item {
		padding: 6px 24px 6px 12px;
	}
}

/* Mobile menu modal user panel dropdown styles */
#mobile_menu_modal .user-panel-dropdown .dropdown-toggle {
	padding: 2px 10px 0px 10px;
	font-size: 0.625rem;
	flex-direction: column;
}

#mobile_menu_modal .user-panel-dropdown .dropdown-toggle::after {
	display: none;
}

#mobile_menu_modal .user-panel-dropdown .dropdown-toggle:focus {
	outline-color: #ffffff;
}

#mobile_menu_modal .user-panel-dropdown .dropdown-menu {
	width: 140px;
	min-width: initial;
	top: calc(100% + 0.25rem);
	left: -50px;
}

/* 
    Body styles
*/
body {
	min-height: 100vh;
    display: flex;
    flex-direction: column;
	font-family: "DM Sans", sans-serif;
  	background-color: #ffffff;
  	color: var(--gray-900);
}

body a {
	color: var(--gray-900);
}

/* 
    Main styles
*/
main {
	flex: 1;
	padding-top: 140px;
}

main a:hover {
	color: var(--secondary);
	text-decoration: none;
}

main a:focus {
	outline: 2px solid var(--secondary);
	border-radius: 2px;
}

@media (max-width: 991px) {
	main {
		padding-top: 120px;
	}
}

@media (max-width: 575px) {
	main {
		padding-top: 110px;
	}
}

/* 
    Footer styles
*/

footer {
  margin-top: 2rem;  
	background-color: #f1f0f0;
}

footer a {
  color: #656769;
	font-size: 0.875rem;
}

footer a:focus {
	outline: 2px solid var(--secondary);
	border-radius: 2px;
}

footer .navbar-nav {
	width: 100%;
	flex-direction: row;
	justify-content: flex-end;
}

footer .navbar-nav li {
	padding-left: 2rem;
}

@media (max-width: 1199px) {
	footer .navbar-nav {
		flex-wrap: wrap;
	}

	footer .navbar-nav li {
		width: 50%;
		padding-left: 0;
		padding-right: 1rem;
	}
}

@media (max-width: 575px) {
	footer a {
		font-size: 0.75rem;
	}

	footer .navbar-nav li {
		width: 100%;
		padding-right: 0;
	}
}

/**Go back / go forward button styles */
.btn.go-back,
.btn.go-forward {
	font-weight: 300;
	display: inline-flex;
	align-items: center;
	border: none;
	overflow: hidden;
}

.btn.go-back {
	padding: 0px 1rem 0px 0px;
	border-radius: 0.5rem 0px 0px 0px;
}

.btn.go-forward {
	padding: 0px 0px 0px 1rem;
	border-radius: 0px 0.5rem 0px 0px;
}

.btn.go-back .color-box,
.btn.go-forward .color-box {
	background-color: var(--light);
	padding: 22px 26px;
}

.btn.go-back .color-box {
	margin-right: 1rem;
}

.btn.go-forward .color-box {
	margin-left: 1rem;
}

.btn.go-back .color-box::after,
.btn.go-forward .color-box::after {
	content: "";
	display: block;
	height: 16px;
	width: 9px;
	background-size: 9px 15px;
	background-repeat: no-repeat;
}

.btn.go-back .color-box::after {
	background-image: url("../img/icons/icon_back.svg");
}

.btn.go-forward .color-box::after {
	background-image: url("../img/icons/icon_forward.svg");
}

.btn.go-back:hover,
.btn.go-forward:hover {
	color: var(--info);
	text-decoration: underline;
}

.btn.go-back:not(:disabled):not(.disabled).focus,
.btn.go-forward:not(:disabled):not(.disabled).focus,
.btn.go-back:not(:disabled):not(.disabled):focus,
.btn.go-forward:not(:disabled):not(.disabled):focus,
.btn.go-back:not(:disabled):not(.disabled).active,
.btn.go-forward:not(:disabled):not(.disabled).active,
.btn.go-back:not(:disabled):not(.disabled):active,
.btn.go-forward:not(:disabled):not(.disabled):active {
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
}

.btn.go-back.disabled,
.btn.go-forward.disabled,
.btn.go-back:disabled,
.btn.go-forward:disabled {
	color: #8d8d8d;
	box-shadow: none;
	outline: none;
	text-decoration: none;
	opacity: 1;
}

.btn.go-back.disabled .color-box::after,
.btn.go-back:disabled .color-box::after {
	background-image: url("../img/icons/icon_back_grey.svg");
}

.btn.go-forward.disabled .color-box::after,
.btn.go-forward:disabled .color-box::after {
	background-image: url("../img/icons/icon_forward_grey.svg");
}

@media (max-width: 991px) {
	.btn.go-back,
	.btn.go-forward {
		font-size: 0.875rem;
	}

	.btn.go-back {
		padding: 0px 0.75rem 0px 0px;
	}

	.btn.go-forward {
		padding: 0px 0px 0px 0.75rem;
	}

	.btn.go-back .color-box,
	.btn.go-forward .color-box {
		padding: 18px 20px;
	}

	.btn.go-back .color-box {
		margin-right: 0.75rem;
	}

	.btn.go-forward .color-box {
		margin-left: 0.75rem;
	}

	.btn.go-back .color-box::after,
	.btn.go-forward .color-box::after {
		height: 12px;
		width: 8px;
		background-size: 8px 12px;
	}
}

@media (max-width: 575px) {
	.btn.go-back,
	.btn.go-forward {
		font-size: 0.75rem;
	}

	.btn.go-back {
		border-radius: 0px 0px 0.25rem 0px;
	}

	.btn.go-forward {
		border-radius: 0px 0px 0px 0.25rem;
	}
}

/**Go home button styles**/
.btn.go-home {
	font-weight: 300;
	font-size: 0.75rem;
	color: var(--gray-dark);
	display: flex;
	align-items: center;
	padding: 0px 0.75rem 0px 0px;
	border: none;
	border-radius: 0px 0px 0.25rem 0px;
}

.btn.go-home .colored-box {
	background-color: #f1f0f0;
	padding: 18px 20px;
	margin-right: 0.75rem;
}

.btn.go-home .colored-box::after {
	content: "";
	display: block;
	height: 12px;
	width: 8px;
	background-image: url("../img/icons/icon_back_grey.svg");
	background-repeat: no-repeat;
	background-size: 8px 12px;
}

.btn.go-home:hover {
	color: var(--info);
	text-decoration: underline;
}

.btn.go-home:not(:disabled):not(.disabled).focus,
.btn.go-home:not(:disabled):not(.disabled):focus,
.btn.go-home:not(:disabled):not(.disabled).active,
.btn.go-home:not(:disabled):not(.disabled):active {
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
}

.btn.go-home.disabled,
.btn.go-home:disabled {
	color: #8d8d8d;
	box-shadow: none;
	outline: none;
	text-decoration: none;
	opacity: 1;
}

/* 
  Filter button styles 
*/
.filter-button {
	z-index: 1;
	position: relative;
	white-space: nowrap;
	padding: 5px 14px;
	font-size: 0.875rem;
	color: var(--primary);
	border: 1px solid #ece9e9;
	background-color: #ffffff;
	border-radius: 16px;
}

.openlayers-map .filter-button {
	padding: 5px 18px;
	margin: 0px 8px;
}

.filter-button:hover {
	box-shadow: 0 4px 8px 0 rgba(27, 52, 57, 0.1);
}

.filter-button:not(:disabled):not(.disabled).focus,
.filter-button:not(:disabled):not(.disabled):focus,
.filter-button:not(:disabled):not(.disabled).active,
.filter-button:not(:disabled):not(.disabled):active {
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
	border-radius: 16px;
}

.filter-button.disabled,
.filter-button:disabled {
	background-color: #ededed;
	border-color: #c6c6c6;
	color: #8d8d8d;
	box-shadow: none;
	outline: none;
	opacity: 1;
}

@media (max-width: 575px) {
	.filter-button {
		font-size: 0.75rem;
		padding: 5px 12px 5px 10px;
	}
}

/* 
  Custom pagination styles
*/

.custom-pagination {
	border: 1px solid #ece9e9;
}

.custom-pagination ul {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding-left: 0px;
	list-style: none;
	margin-bottom: 0px;
}

.custom-pagination .page-link {
	width: 44px;
	padding: 0.875rem 0.5rem;
	font-size: 0.75rem;
	text-align: center;
	border: none;
}

.custom-pagination .page-item:first-child .page-link,
.custom-pagination .page-item:last-child .page-link {
	border-radius: 0px;
}

.custom-pagination .page-link:focus {
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
}

.custom-pagination .page-item:first-child .page-link:focus,
.custom-pagination .page-item:last-child .page-link:focus {
	border-radius: 2px;
}

.custom-pagination .page-link.disabled {
	pointer-events: none;
}

.custom-pagination .page-link.disabled:focus {
	box-shadow: none;
	outline: none;
}

.custom-pagination .page-link.previous,
.custom-pagination .page-link.next {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0px;
}

.custom-pagination .page-link.previous {
	border-right: 1px solid #ece9e9;
	border-top-left-radius: 4px;
	border-bottom-left-radius: 4px;
}

.custom-pagination .page-link.next {
	border-left: 1px solid #ece9e9;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
}

.custom-pagination .page-link.previous::after,
.custom-pagination .page-link.next::after {
	content: "";
	display: block;
	height: 12px;
	width: 7px;
	background-image: url("../img/icons/icon_back.svg");
	background-repeat: no-repeat;
	background-size: cover;
}

.custom-pagination .page-link.next::after {
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
	transform: rotate(180deg);
}

.custom-pagination .page-link.previous.disabled::after,
.custom-pagination .page-link.next.disabled::after {
	background-image: url("../img/icons/icon_back_grey.svg");
}

.custom-pagination .page-item.current .page-link::after {
	content: "";
	position: absolute;
	border-top: 4px solid var(--info);
	height: 4px;
	width: 14px;
	top: 0px;
	left: calc(50% - 7px);
}

@media (max-width: 575px) {
	.custom-pagination .page-link {
		width: 34px;
	}
}

/* Modal */
.modal-open:not(.fullscreen) {
	overflow: inherit !important;
}

.modal {
	scrollbar-width: none;
	-ms-overflow-style: none;
}

.modal::-webkit-scrollbar {
	display: none;
}

.modal .modal-header button.close {
	font-weight: 300;
	font-size: 2.5em;
	line-height: 0.5;
}

/* 
    fullscreen modal
*/
.modal.fullscreen {
	z-index: 5000;
	padding: 0 !important;
}

.modal.fullscreen .modal-dialog {
	width: 100%;
	max-width: none;
	height: 100%;
	margin: 0;
}

.modal.fullscreen .modal-content {
	height: 100%;
	border: 0;
	border-radius: 0;
}

.modal.fullscreen .modal-body {
	overflow-y: auto;
}

/*cookie modal styles*/
#cookieModal {
	z-index: 3147483640;
}

#cookieModal.show {
	transform: translate3d(0, 0, 0);
	transition-duration: 0.7s;
	transition-timing-function: ease;
}

#cookieModal .modal-dialog {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	max-width: 100%;
	margin: 0;
}

#cookieModal.fade .modal-dialog {
	transform: translate3d(0, 0, 0);
	transition-duration: 0.7s;
	transition-timing-function: ease;
}

#cookieModal .modal-dialog .modal-content {
	border-radius: 0rem;
	border-bottom: none;
	border-left: none;
	border-right: none;
	background-color: rgb(0, 0, 0, 0.6);
	opacity: 1;
	outline: 0;
	color: #ffffff;
}

.no-opacity .modal-backdrop {
	opacity: 0;
}

/* Openlayers map */
.openlayers-map {
	position: relative;
}
.openlayers-map:-webkit-full-screen {
	height: 100%;
	margin: 0;
}

.openlayers-map:-ms-fullscreen {
	height: 100%;
}

.openlayers-map:fullscreen {
	height: 100%;
}

.openlayers-map .ol-full-screen {
	top: auto;
	bottom: 5.4em;
	right: 1em;
}

.openlayers-map .ol-touch .ol-full-screen {
	bottom: 6.4em;
}

.openlayers-map .ol-zoom {
	top: auto;
	left: auto;
	bottom: 1em;
	right: 1em;
}

.openlayers-map .ol-control {
	background-color: var(--light);
}

.openlayers-map .ol-control button {
	background-color: var(--light);
	font-weight: 300;
}

.openlayers-map .ol-control button:focus,
.openlayers-map .ol-control button:hover {
	background-color: lightgrey;
}

/**Openlayers popover styles */
.map-popover {
	font-family: "Lexend";
	width: 260px;
	border: none;
	z-index: 1;
}

.map-popover .popover-body {
	padding: 0px;
}

.popover-lg {
	z-index: 9999;
	max-width: 97%;
	min-width: 230px;
}

.close-popover {
	position: absolute;
	top: 4px;
	right: 9px;
	cursor: pointer;
	color: red;
}

/* Sweet alert */
.swal2-shown {
	overflow: inherit !important;
}

.swal2-title {
	color: var(--primary);
	font-weight: 400;
	margin-bottom: 0.5rem;
}

.swal2-content {
	color: var(--primary);
	font-weight: 300;
}

.swal2-icon {
	margin-bottom: 1rem;
}

.swal2-image {
	height: 50px;
	margin-bottom: 10px;
}

.swal2-close:hover {
	color: var(--primary);
}

.swal2-close:focus {
	outline: 2px solid var(--primary);
	border-radius: 4px;
}

@media (max-width: 575px) {
	.swal2-popup {
		padding: 1rem;
	}

	.swal2-title {
		font-size: 1.25rem;
		margin-bottom: 4px;
	}

	.swal2-content {
		font-size: 0.875rem;
	}

	.swal2-image {
		height: 36px;
	}
}

/* E-silva scroll */
.e-silva-scroll {
	overflow-y: auto;
	overflow-x: auto;
}

.e-silva-scroll::-webkit-scrollbar-track {
	-webkit-box-shadow: inset 0 0 6px rgb(0, 0, 0, 0.3);
	box-shadow: inset 0 0 6px rgb(0, 0, 0, 0.3);
	border-radius: 10px;
	background-color: #f5f5f5;
}

.e-silva-scroll::-webkit-scrollbar {
	height: 6px;
	width: 6px;
	background-color: #f5f5f5;
}

.e-silva-scroll::-webkit-scrollbar-thumb {
	border-radius: 10px;
	-webkit-box-shadow: inset 0 0 6px rgb(0, 0, 0, 0.3);
	box-shadow: inset 0 0 6px rgb(0, 0, 0, 0.3);
	background-color: var(--primary);
}

/*Loading icons styles*/
#loading {
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	position: fixed;
	opacity: 1;
	background-color: #fff;
	z-index: 9999999;
	text-align: center;
}

#loading_image {
	display: none;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateX(-50%);
	-webkit-transform: translateX(-50%);
	-moz-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	-o-transform: translateX(-50%);
	z-index: 100;
}

/** Custom warning */
.custom-warning-wrapper .custom-warning {
	display: flex;
	align-items: start;
	font-weight: 500;
	font-size: 0.875rem;
	line-height: 1.3;
	padding: 6px 12px 6px 6px;
	border: 1px solid var(--warning);
	border-radius: 8px;
}

.custom-warning-wrapper.warning-danger .custom-warning {
	border: 1px solid var(--danger);
}

.custom-warning-wrapper.warning-info .custom-warning {
	border: 1px solid var(--info);
}

.custom-warning-wrapper.warning-success .custom-warning {
	border: 1px solid var(--success);
}

.custom-warning-wrapper .custom-warning .icon-container {
	padding: 9px;
	border-radius: 8px;
	margin-right: 10px;
	background-color: var(--warning);
}

.custom-warning-wrapper.warning-danger .custom-warning .icon-container {
	background-color: var(--danger);
}

.custom-warning-wrapper.warning-info .custom-warning .icon-container {
	background-color: var(--info);
}

.custom-warning-wrapper.warning-success .custom-warning .icon-container {
	background-color: var(--success);
}

.custom-warning-wrapper .custom-warning .icon-container .icon {
	font-weight: 600;
	background-color: #ffffff;
	border-radius: 100%;
	padding: 0px 7px;
}

.custom-warning-wrapper .custom-warning .warning-text {
	align-self: center;
}

/* 
  Custom control button
*/

.custom-control-button {
	width: 100%;
	font-weight: 500;
	text-align: left;
	color: var(--primary);
	background-color: #ffffff;
	position: relative;
	padding: 16px 20px 16px 60px;
	border: 1px solid #ece9e9;
	border-radius: 8px;
}

.custom-control-button:hover {
	box-shadow: 0 4px 55px 0 rgba(27, 52, 57, 0.1);
}

.custom-control-button:not(:disabled):not(.disabled):focus,
.custom-control-button:not(:disabled):not(.disabled):active {
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
}

.custom-control-button:disabled {
	opacity: 0.8;
	color: var(--dark);
	text-decoration: line-through;
}

.custom-control-input + .custom-control-button:before {
	content: "";
	position: absolute;
	left: 23px;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	background: #fff;
	border: 2px solid var(--primary);
	width: 22px;
	height: 22px;
}

.custom-control-input.custom-radio + .custom-control-button:before {
	border-radius: 50%;
}

.custom-control-input:checked + .custom-control-button:before {
	background-color: var(--primary);
}

.custom-control-input:checked + .custom-control-button:after {
	content: "";
	position: absolute;
	left: 26px;
	top: 0;
	bottom: 0;
	margin-top: auto;
	margin-bottom: auto;
	background-image: url("../img/check_white.svg");
	background-size: 15px 15px;
	height: 15px;
	width: 15px;
}

@media (max-width: 991px) {
	.custom-control-button {
		padding: 14px 16px 14px 54px;
	}

	.custom-control-input + .custom-control-button:before {
		left: 18px;
	}

	.custom-control-input:checked + .custom-control-button:after {
		left: 21px;
	}
}

@media (max-width: 575px) {
	.custom-control-button {
		font-size: 0.875rem;
	}
}

/* Other styles */
#chat-widget-container {
	z-index: 2500 !important;
}

.text-underline {
	text-decoration: underline !important;
}

.no-arrows::-webkit-outer-spin-button,
.no-arrows::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.no-arrows {
	-moz-appearance: textfield;
}

.reverse {
	unicode-bidi: bidi-override;
	direction: rtl;
}

hr.article-divider {
	margin-top: 0;
	border-top: 1px solid #cccccc;
}

.noselect {
	user-select: none;
}

/* 
  SLICK CAROUSEL STYLES
*/

.custom-carousel {
	overflow: hidden;
	margin: 0px -4px;
	padding: 0px 4px;
}

.custom-carousel .slick-list {
	margin: 0px -8px;
}

.custom-carousel .slick-list .slick-track {
	display: flex;
	margin-left: unset;
}

.custom-carousel .slick-list .slick-track .slick-slide {
	margin: 4px 8px 10px 8px;
}

.custom-carousel .estate-card-container .estate-card:hover,
.custom-carousel .procurement-card-container .procurement-card:hover,
.custom-carousel .acceptance-point-card-container .acceptance-point-card:hover {
	box-shadow: 0 4px 8px 0 rgba(27, 52, 57, 0.1);
}

/* 
  SLICK CAROUSEL NAVIGATION
*/

.slick-nav {
	white-space: nowrap;
}

.slick-nav .slide-arrow {
	border: 1px solid #e1e1e1;
	padding: 0px;
	border-radius: 100%;
}

.slick-nav .slide-arrow:not(.slick-disabled) {
	background-color: #ffffff;
}

.slick-nav .slide-arrow:hover {
	box-shadow: 0 4px 8px 0 rgba(27, 52, 57, 0.1);
}

.slick-nav .slide-arrow:focus {
	box-shadow: 0px 0px 0px 2px var(--primary);
	outline: 2px solid transparent;
}

.slick-nav .slide-arrow.slick-disabled {
	opacity: 0.65;
	border-color: #c6c6c6;
	pointer-events: none;
	outline: none;
	box-shadow: none;
}