/*
Utility
*/

:root {
  --primary-100: #D6F3E5;
  --primary-300: #8EDBB8;
  --primary-500: #3DB377;
  --primary-700: #2E8F5E;
  --primary-900: #1E5F3F;
  --text-color: #212529;
}

.two-line-truncate {
    display: -webkit-box;
    -webkit-line-clamp: 2; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.three-line-truncate {
    display: -webkit-box;
    -webkit-line-clamp: 3; 
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
}
.gradient-icon {
    background: linear-gradient(to right, rgb(79, 172, 254), rgb(0, 242, 254));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
.standard-padding {
    padding: 35px 45px !important;
}
.btn-group-divider {
  width: 1px;
  background-color: #B7C2D2;
  margin: 0 0.4rem;
}
.text-orange {
    color: #E1712B;
}
.text-primary {
    color: var(--primary-500) !important;
}
.bg-gray {
    background-color:#F8FAFC;
}
/* Site */
.container-xxl {
    max-width: 1850px;
}
.main-container a:not(.btn):not(.nav-link):not(.page-link):not(.dropdown-item):not(.no-border-bottom) {
    color: var(--primar-700);
    text-decoration: none;
    border-bottom: 1px solid var(--primar-700);
}
.main-btn-padding {
    padding: 10px 25px;
}
.card {
    border: 1px solid rgba(0, 0, 0, .125);
}
.btn.disabled, .btn:disabled, fieldset:disabled .btn, .btn-list-control:hover  {
    border-color: rgba(0, 0, 0, 0.15) !important;
}
.badge-primary {
    background-color: var(--primary-100);
    color: var(--primary-500) !important;
}
.badge-tag {
    background-color: #E6F6FF;
    color: #0387CE !important;
    font-weight: 500;
    border-radius: 12px;
    padding: 0.5rem 0.8rem;
}
.breadcrumb {
    text-transform: uppercase;
}
.breadcrumb a {
    color: #666 !important;
    text-decoration: none;
    font-weight: 600;
}
.breadcrumb .active {
    color: var(--primary-700);
}
.pagination .page-link {
    padding: 0.25rem 0.8rem;
}
.pagination .page-item {
    margin-left: 5px;
    margin-right: 5px;
}
.pagination .page-item:not(.active) .page-link, .pagination .page-item:not(.active) .page-link:hover {
    color: #333;
}

.form-check-input:checked {
    background-color: var(--primary-500);
    border-color: var(--primary-500);
}
#main-navbar  .nav-link {
    border-radius: 0;
}
#main-navbar .nav-pills .nav-link.active, .nav-pills .show>.nav-link {
    background-color: var(--primary-100);
    border-left: 5px solid var(--primary-500);
}
#main-navbar .dropdown-menu {
    padding-top: 25px;
    padding-bottom: 35px;
}
#main-navbar .fa-stack {
    font-size: 110%;
}
.view-all-link {
    padding-left: 18px;
    padding-right: 18px;
}
.menu-thumbnail {
    width: 48px;
    height: 48px;
    background-size: cover;
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px;
}
/* 
 * Dataset Details
 */
.dataset_details .price {
    position: absolute;
    top: 0;
    right: 0;
}
.dataset_details .price i {
    font-size: 90%;
}
.resource-card .card-body {
    padding-top: 0.7rem !important;
    padding-bottom: 0.7rem !important
}
.dataset_details #map-container {
    position: relative;
}
.dataset_details #map {
    width: 100%; 
    height: calc(100vh - 86px);
}
#dataset_region_select {
    width: 250px;
}
#dataset_region_select + .select2-container .select2-selection {
    height: 25px;
}
#dataset_region_select + .select2-container .select2-selection--single .select2-selection__rendered {
    line-height: initial !important;
}
.osm-grayscale canvas,
.osm-grayscale img {
    filter: brightness(1.15) contrast(0.85) saturate(0.75);
}
.primary-card .card-header {
    border-bottom: none;
}
.btn-collapse {
    text-decoration: none;
}
.fa-solid.fa-bookmark {
    color:#F5B027;
}
.fa-solid.fa-check-circle {
    color:#329F39;
}
.toast_wrapper {
    right: 0 !important;
}
@media (min-width: 768px) { 
    .toast_wrapper {
        right: 15px !important;
    }
}
.ol-zoom {
  top: auto !important;
  bottom: 1em;
  left: 0.75em;
}

/* 
 * Area Quick Select Toolbar
 */
.area_quick_select_toolbar {
    position: absolute;
    top: 15px;
    left: 15px;
    max-width: 350px;
}
@media (max-width: 700px) { 
    .area_quick_select_toolbar {
        display: none;
    }
}

/* 
 * Custom Area Select Toolbar
 */
#custom_area_select_toolbar {
    position: absolute;
    top: 25px;
    right: 25px;
}
#map_area_select_toolbar {
    position: absolute;
    top: 15px;
    right: 15px;
} 
#map_area_select_toolbar .btn-text {
    color: #6A8175;
    width: 60px;
    font-size: 0.75em;
}
#map_area_select_toolbar button, #map_area_select_toolbar button:hover {
    background-color: #fff !important;
    border: 0;
}
#map_area_select_toolbar button img {
    width: 24px;
}
#map_area_select_toolbar .btn_map_area_select.active, .btn_map_area_select:active {
    background-color: #E8FDEF !important;
}
.region_card {
    position: relative;
    padding-bottom: 0px;
    overflow: hidden;
    background-color: #FAF6F4 !important;
    cursor: pointer;
}
.region_card .vertical_card--image_wrapper {
    position: relative;
}
.region_card .vertical_card--image_wrapper .badge {
    position: absolute;
    bottom: 10px;
    left: 10px;
    font-size: 85%;
}
.badge-location {
    background-color: rgba(255,255,255,0.8);
}
   
.region_card--image {
    height: 160px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    transition: transform 0.4s ease, filter 0.4s ease;
}
.region_card--title {
    position: absolute;
    bottom: 0;
    width: 100%;
    color: #000;
    background-color: rgba(255,255,255,0.7)
}
.region_card:hover .region_card--image {
    transform: scale(1.05)
}
.badge-tag {
    font-size: 0.85rem !important;
}
.dataset_card {
    border-radius: 5px !important;
    overflow: hidden;
}
.dataset_card:hover .dataset_card--image {
    transform: scale(1.05)
}
/* Categories */
.vertical_card {
    border-radius: 0 !important;
    cursor: pointer;
}
.vertical_card .vertical_card--image {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 260px;
    background-position: 50% 50%;
    background-size: cover;
    transition: transform 0.4s ease, filter 0.4s ease;
}
.vertical_card--image_wrapper {
    overflow: hidden;
}
.vertical_card .btn {
    text-decoration: none !important; 
    font-size: 18px;
}
.vertical_card:hover .vertical_card--image {
    transform: scale(1.05);
}
/* Badge */

.badge-lg {
    font-size: 1rem !important;
}
/* 
* Top Navbar
*/
.navbar-top .nav-item {
    padding: 0.5rem 0xp;
}
.navbar-top .nav-item .nav-link {
    text-transform: uppercase;
}
.navbar-top .dropdown {
    position: static !important;
}
.navbar-top .dropdown-menu {
    width: 100%;
    position: absolute;
    background-color: #fff;
    width: 100%;
    left: 0;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1001;
}
/* 
* Secondary Navbar
*/
.navbar-secondary {
    height: 55px;
    padding-bottom: 0;
    padding-top: 0;
    background-color: #F8FAFC;
}
.navbar-secondary .nav-item:not(:first-child) {
    padding-left: 15px;
}
.navbar-secondary .nav-item:not(:last-child) {
    padding-right: 15px;
}
.navbar-secondary .navbar-nav .nav-link {
    font-weight: 600;
    padding: 14px 10px !important;
    color: rgba(0, 0, 0, 0.55);
}
.navbar-secondary .navbar-nav .nav-link.active {
    color: var(--primary-500);
    border-bottom: 3px solid var(--primary-500);
}
.navbar-secondary .navbar-nav .nav-link:hover {
    color: var(--primary-500);
}
@media (min-width: 992px) {
    .navbar-secondary .navbar-nav .nav-link {
        padding-right: 1.5rem;
        padding-left: 1.5rem;
    }
}
/* 
* Top Banner
*/
.top-banner {
    background: linear-gradient(
        90deg, 
        var(--top-banner-bg-start-color) 0%,
        var(--top-banner-bg-end-color) 100%
    );
    border-bottom: 1px solid #3db37720; 
    overflow: hidden;
}
.top-banner .bg-icon {
    position: absolute;
    top: -20px;
    right: -20px;
    font-size: 140px; 
    opacity: 0.08; 
    color: var(--primary-500);
    pointer-events: none; 
}
.top-banner img.bg-icon {
    width: auto;
    height: 250px;
    top: 1px;
    right: 20px;
    opacity: 0.3; 
}

/*
* Bottom Navbar
*/
.navbar-bottom {
    background: none;
    background-color: rgba(255, 255, 255, 0) !important;
}
.navbar-bottom .container-fluid {
    height: 80px;
    border: 1px solid #D3DAE4;
}
body > .container-fluid.navbar-bottom-shown {
    padding-bottom: 80px;
}

/*
* Pagination
*/
.pagination {
    justify-content: center; 
}
/*
Collapse
*/
.btn-collapse {
    background: none;
    border: none;
    padding: 0;
}
/* 
Sorting & Filter
*/
.list_control {
    display: inline;
}
.list_control button, .list_control .dropdown-menu {
    font-size: 110%;
}
/* callout */
.callout {
  padding: 20px;
  margin: 20px 0;
  border: 1px solid #eee;
  border-left-width: 5px;
  border-radius: 3px;
  background-color:rgb(207, 244, 252);
  border-left-color:rgb(158, 234, 249);
}
.callout h4 {
  margin-top: 0;
  margin-bottom: 5px;
}
.callout p:last-child {
  margin-bottom: 0;
}
/* My Account */
.my_account_banner {
    height: 160px;
    color: var(--text-color);
    background-color: #fff;
}
/* Toggle switch */
.switch {
  position: relative;
  display: inline-block;
  width: 46px;
  height: px;
}
.switch input { 
  opacity: 0;
  width: 0;
  height: 0;
}
.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  -webkit-transition: .4s;
  transition: .4s;
}
.slider:before {
  position: absolute;
  content: "";
  height: 22px;
  width: 22px;
  left: 2px;
  bottom: 1px;
  background-color: white;
  -webkit-transition: .4s;
  transition: .4s;
}
input:checked + .slider {
  background-color: var(--primary-500);
}
input:focus + .slider {
  box-shadow: 0 0 1px var(--primary-500);
}
input:checked + .slider:before {
  -webkit-transform: translateX(20px);
  -ms-transform: translateX(20px);
  transform: translateX(20px);
}
.slider.round {
  border-radius: 34px;
}
.slider.round:before {
  border-radius: 50%;
}
.section_current_filter ~ .section_results {
    margin-top: 15px;
}
.badge-filter {
    background-color: #eee;
    font-size: 0.9rem;
    font-weight: 600;
}
.badge-filter i {
    cursor: pointer;
    color: var(--bs-dark-rgb);
    display: flex;
    align-items: center;
}