.carousel-caption {
    bottom: 20px;
    background-color: rgba(0, 0, 0, 0.3);
    padding: 15px;
    border-radius: 5px;
    max-width: 100%; /* Ensure full-width display on smaller screens */
}

.carousel-caption .btn {
    height: 45px; /* Decrease button height for smaller screens */
    font-size: 1rem; /* Reduce font size */
    padding: 4px; /* Reduce padding inside buttons */
    margin: 2px 0; /* Reduce space between buttons */
}

.carousel-button-group a {
    padding: 8px; /* Smaller padding for mobile */
    font-size: 0.85rem; /* Smaller font size for mobile */
}


#explore-button, #new-features-button {
    padding: 10px 40px; /* Increase padding for a wider button */
    border-width: 1px; /* Thicker border */
    min-width: 200px; /* Set a minimum width for wider appearance */
    font-weight: bold; /* Bold text for emphasis */
	font-size: 1.2rem; /* Larger font size */
}


#top-rated-container {
    background-color: transparent; /* Remove background color */
    padding: 0; /* Remove padding */
    border-radius: 0; /* Remove border radius */
    bottom: auto; /* Reset bottom alignment */
    top: 50%; /* Center vertically */
    left: 50%; /* Center horizontally */
    transform: translate(-50%, -50%); /* Center the element fully */
    max-width: 600px; /* Limit the width for consistency */
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;

}

#top-rated-list {
    background-color: rgba(255, 255, 255, 0.9);
    border-radius: 5px;
    padding: 15px;
    width: 100%;
}

.top-rated-title {
    font-size: 2rem;
    color: #ffffff;
    margin: 0; /* Remove any margin */
    padding-bottom: 10px; /* Add slight space between title and box */
}

#top-rated-title {
    background-color: #ffc107;
    border-color: #ffc107;
    border-top-left-radius: 8px;
    border-top-right-radius: 8px;
    color: #333;
    padding: 10px;
    text-align: center;
    margin: 0; /* Remove any extra margin */
}

#top-rated-rating-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin: 0; /* Ensure no extra spacing */
  justify-content: center; /* Center horizontally */

  text-align: center;     /* Align text inside centered elements */
}

#top-rated-rating-row .side_rating, 
#top-rated-rating-row .right_rating {
    flex: 0 0 15%;
}

#top-rated-rating-row .middle_rating {
    flex: 0 0 60%;
}

#top-rated-rating-row .bar-container {
    width: 100%;
    background-color: #ddd;
    height: 10px;
    border-radius: 5px;
    overflow: hidden;

}

#top-rated-rating-row .bar {
    height: 100%;
    background-color: #ffc107;
}

#top_rated .top_rate_div {
    font-size: 1.5rem;
    font-weight: bold;
    margin-top: 10px;
    color: #ffc107;
}

#top_rated .top_features_div {
    font-size: 1.2rem;
    color: #ffffff; /* Set text color to white */
    text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.8); /* Shadow for readability */
}

.featurewrapper {
    background-image: url('/images/logos/unesco_site_img.jpg'); /* Adjust path if needed */
    background-size: cover; /* Ensure the image covers the entire div */
    background-position: center; /* Center the image */
    background-repeat: no-repeat; /* Do not repeat the image */
    width: 100%; /* Full width */
    padding: 15px; /* Adds some padding around the content */
    border-radius: 5px; /* Optional: Round corners */
    color: #ffffff; /* Ensures content text stands out over the background */
    position: relative;
}

.featurewrapper {
    position: relative;
    z-index: 1;
}


#unesco_feature {
  position: relative;
  width:100%;
  height:auto;
}


.unesco_features_div a {
  color: #fff !important;
  font-size: 0.8vw;
  padding: 0.5vw 0.3vw;
  margin-top: 6px !important;
  background-color: transparent;
  border-color: #fff;
  text-shadow: -1px 0 #000, 0 2px #000, 2px 0 #000, 0 -1px #000;
  font-weight:800;
}
.unesco_features_div a:hover {
  text-shadow: none;
  border-color: #fff !important;
  background-color: #212529;
}

@media (max-width: 768px) {
    #top-rated-container {
        max-width: 90%;
        padding-left: 10px;
        padding-right: 10px;
    }

    #top-rated-rating-row .side_rating, 
    #top-rated-rating-row .right_rating {
        flex: 0 0 20%;
    }

    #top-rated-rating-row .middle_rating {
        flex: 0 0 50%;
    }

    #top_rated .top_rate_div, 
    #top_rated .top_features_div {
        text-align: center;
    }
	.unesco_features_div a {
padding: 2vw 0.5vw;
  font-size: 4vw;}
}


@media (max-width: 576px) {
#top-rated-container {
        max-width:90%;
    }	
	#top-rated-flag{
		display:none;
	}
	
	.top_features_div, .top_rate_div {
    font-size: 4vw !important;

}

#top-rated-rating-row .side_rating, 
    #top-rated-rating-row .right_rating {
        font-size:3vw !important;
    }
}

@media (max-width: 400px) {
	
	#top-rated-rating-row .bar-container {

    height: 8px;


}
	
	.top_features_div, .top_rate_div {
    font-size: 3vw !important;

}
}



@media (max-width: 360px) {
#top-rated-container {
        max-width: 100%;
        padding-left: 3px;
        padding-right: 3px;
    }	
	
	#explore-button, #new-features-button{
		font-weight:normal; font-size:3vw; min-width:50%;
	}
	.carousel-caption .row .carousel-button-group a{
		font-weight:normal; font-size:3vw;
	}
	
	.container.w-75 .carousel-caption .row .carousel-button-group a{
		font-weight:normal; font-size:3vw;
	}
	
	
}

@media (max-width: 300px) {
#top-rated-rating-row, .top_features_div, .top_rate_div{

display:none;	
	


}
}


@media (max-width: 768px) { /* Apply additional styles for small screens */
    .carousel-caption {
        padding: 10px; /* Reduce padding on smaller screens */
    }
    
    .carousel-caption .btn {
        height: 33px; /* Decrease button height further on very small screens */
        font-size: 0.8rem; /* Adjust font size for readability */
    }
    
    .carousel-caption h2 {
        font-size: 1.2rem; /* Adjust font size for smaller screens */
    }
    
    .carousel-caption p {
        font-size: 0.9rem; /* Adjust paragraph font size */
    }
}


				
		.map-item{
		border:0;
		 display: flex; /* Enable flexbox */
  align-items: center; /* Center child elements vertically */
  justify-content: center; /* Optional: Center horizontally as well */
  height: 100%; /* Ensure it uses the full height of the parent */
  position: relative; /* Ensure positioning context for its children */
  overflow: hidden;
		}

.item_parent {
    display: flex; /* Enable flexbox for alignment */
    flex-direction: column; /* Stack items vertically */
    justify-content: center; /* Vertically center items */
    height: 100%; /* Use full height of parent container */
    padding: 20px; /* Adjust padding if needed */
    background: #f5f5f5; /* Ensure background consistency (optional) */
    border: 1px solid #ddd; /* Optional for styling */
    box-sizing: border-box; /* Ensures padding doesn't overflow */
}





#category_parent,
#flags_parent {
   
    width: 100%; /* Ensure it spans the full width */
}


		

	
	.categories_flags_list{
		display: flex;
		 align-items: center;
	}
	


@media screen and (max-width: 1598px) {
  
 .flag_undertext {
	 font-size:10px !important;
 }
 .stat-number {
        font-size: 4rem !important;
}
}

@media screen and (max-width: 1420px) {


.stat-number {
        font-size: 3.5rem !important;
}
}

@media screen and (max-width: 1300px) {

 
.flag_undertext {
	 font-size:9px !important;
 } 
 

}

@media screen and (max-width: 1050px) {


.stat-number {
        font-size: 3rem !important;
}
}

@media screen and (max-width: 991px) {
 
 
.flag_undertext {
	 font-size:2vw !important;
 }
 .definition{
		 font-size:1.8vw !important;
}

.unesco_features_div a {
  color: #fff !important;
  font-size: 2.5vw !important;
  padding: 3vw 0.8vw;
}
}


@media screen and (max-width: 768px) {
  

.definition{
		 font-size:2vw !important;
}

.unesco_features_div a {
  color: #fff !important;
  font-size: 2.5vw !important;
  padding: 3vw 0.8vw;
}

.table th,
    .table td {
      
        font-size: 1rem !important;
    }

}




@media screen and (max-width: 576px) {
  
  .flag_undertext {
	 font-size:3vw !important;
 }
 .definition{
		 font-size:3.5vw !important;
}
.unesco_features_div a{
		 font-size:3vw !important;
}

#calendar-month-year{
	font-size:20px !important;
}
.table th,
    .table td {
      
        font-size: 0.8rem !important;
    }

}


@media screen and (max-width: 500px) {

.table th,
    .table td {
      
        font-size: 10px !important;
    }

}


@media screen and (max-width: 450px) {
  
  .stat-number {
        font-size: 2.2rem !important;
    }

    .stats_item {
        font-size: 1.2rem !important;
    
    }

 .table th,
    .table td {
      
        font-size: 9px !important;
    } 
}

@media screen and (max-width: 400px) {
 

.unesco_features_div a{
		 font-size:3.3vw !important;
}
#calendar-month-year{
	font-size:16px !important;
}
.carousel_buttons_battles {
    position: absolute;
    bottom: 40px !important;
}
.battles_next,
.battles_previous {
   
    width: 40px; /* Define square size */
    height: 40px !important;
    
  
   
}
.btl_n, .btl_p{
font-size:12px;	
}
.battle_text{
font-size:14px !important;	
}
 .table th,
    .table td {
      
        font-size: 8px !important;
    }

}




@media screen and (max-width: 300px) {
  
  .stat-number {
        font-size:1.5rem !important;
    }
}





#category_parent,  #battle_parent, #events_parent, #calender_parent, #calendar_parent, #event_parent, #stats_parent{border-radius: 5px;}
#flags_parent {border-radius: 5px;}




.flag_undertext {
    text-decoration: none; /* Ensures no underline for text inside links */
    margin: 0; /* Optional: Adds better spacing if needed */
	
	text-shadow: 
        -0.5px -0.5px 0 #fff, /* Top-left shadow */
         0.5px -0.5px 0 #fff, /* Top-right shadow */
        -0.5px  0.5px 0 #fff, /* Bottom-left shadow */
         0.5px  0.5px 0 #fff; /* Bottom-right shadow */
	font-weight:800;
	font-size:13px;
}


.category_img:hover{
border: 2px solid black; 	
}

.flag_img:hover{
filter: grayscale(80%);
}


#top-rated-content{
cursor:pointer;	
}

.definition{
text-shadow: 
        -0.5px -0.5px 0 #000, /* Top-left shadow */
         0.5px -0.5px 0 #000, /* Top-right shadow */
        -0.5px  0.5px 0 #000, /* Bottom-left shadow */
         0.5px  0.5px 0 #000; /* Bottom-right shadow */
		 font-size:0.9vw;
}

.battle_name{color:#fff;text-shadow:-1px 0 #000,0 2px #000,1px 0 #000,0 -1px #000}
.battle_text{font-size:18px}







.carousel_buttons_battles {
    position: absolute;
    bottom: 80px; /* Push buttons to the bottom */
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    justify-content: center;
    align-items: center;
	z-index:99 !important;
}

.battles_next,
.battles_previous {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px; /* Define square size */
    height: 50px;
    background-color: #000; /* Black background */
    color: #fff; /* White icon color */
    border-radius: 5px; /* Add some rounded corners */
    border: 2px solid #000; /* Ensure the border stands out */
    margin: 0 10px; /* Add margin between buttons */
    transition: transform 0.3s, background-color 0.3s; /* Smooth hover effect */
	padding-top:2px;
}

.battles_previous:hover,
.battles_next:hover {
    background-color: #444; /* Change background on hover */
    transform: scale(1.1); /* Slight scaling effect */
}

.battle_date{font-size:36px;font-weight:500;color:#333;text-shadow:-1px 0 #000,0 2px #000,1px 0 #000,0 -1px #000}




.event-name{
font-size:22px;
font-weight:800;
}
.event-details{
font-size:15px;	
}


/* Calendar Container */
.calendar-container, .stats-container {
    padding: 1rem;
    background-color: #fff;
border:0;
    height: auto; 

}

/* Calendar Header */
.calendar-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}

.calendar-table th {
    background-color: #f8f9fa; 
    font-weight: bold; /* Bold text */
    text-align: center; /* Center align text */

}


.calendar-header button {
    border: none;
    background-color: #f8f9fa;
    padding: 0.5rem;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s;
}

.calendar-header button:hover {
    background-color: #e2e6ea;
}

/* Calendar Table */
.calendar-table {
    width: 100%;
}

.table {
    table-layout: fixed;
    width: 100%;
    border: 1px solid #dee2e6;
    margin: 0;
}

.table th,
.table td {
    vertical-align: middle;
    height: 80px; /* Adjust cell height */
    font-size: 1.3rem;
    border: 1px solid #dee2e6;
    padding: 0;
}

.table td:hover {
    background-color: #f8f9fa;

}

/* Highlight Current Date */
.current-date {
    background-color: #007bff;
    color: white;
    border-radius: 50%;
}

/* Responsive Design */
@media (max-width: 768px) {
    .month-title {
        font-size: 1.2rem;
    }

    .table th,
    .table td {
        height: 60px;
     
    }
}

#calendar-month-year{
font-size: 24px;
text-shadow:2px 2px 4px rgba(0, 0, 0, 0.3);	
	
}

.main_background{
width:100%; overflow:hidden; height:582px; background-image:url('/images/logos/background_main.jpg'); background-repeat:no-repeat; background-size:cover;	
}



 .stat-number {
        font-size: 5rem;
        font-weight: bold;
color:#333;text-shadow:-1px 0 #000,0 2px #000,1px 0 #000,0 -1px #000;
        display: block;
    }

    .stats_item {
        font-size: 1.5rem;
        color: #6c757d;
    }

    .stats_id {
        border: none;
    }

    @media (max-width: 768px) {
        #stats_id {
        
            text-align: center;
            margin-bottom: 15px;
        }
    }
	
	#special_for_stats{
	background: 
            url('/images/logos/2.jpg') top left no-repeat, 
            url('/images/logos/1.jpg') top right no-repeat, 
            url('/images/logos/4.jpg') bottom left no-repeat, 
            url('/images/logos/3.jpg') bottom right no-repeat;
           background-size: 50% 50%;
	}
	
	#stats_parent,.stats-container {
    background-color: rgba(255, 255, 255, 0.4); /* Light transparent background */
}
#stats_parent .table {
    background-color: rgba(255, 255, 255, 0.4); /* Light transparent background */
    border-collapse: collapse; /* Ensure borders don't overlap */
}

#stats_parent .table th,
#stats_parent .table td {
    background-color: rgba(255, 255, 255, 0.4); /* Transparent cells */
    border: 1px solid #ddd; /* Optional: Add borders for better visibility */
}

.carousel-control-prev, .carousel-control-next{
z-index:99 !important;	
}




.countries_categories {
    background-image: url('/images/logos/countries_categories.jpg'); /* Replace with your image path */
    background-size: cover; /* Makes the image cover the entire area */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Ensures the image does not repeat */
    padding: 15px; /* Adjust padding for better spacing */
}


.main_page{
margin-top:-48px !important;	
}



 /* For News */
 
 
.homepage-news-list {
    display: flex;
    flex-direction: column;
    gap: 19px;
}

.homepage-news-card {
    display: flex;
    gap: 12px;
    align-items: stretch;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 12px;
    overflow: hidden;
    transition: 0.2s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.homepage-news-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
}

.homepage-news-thumb-wrap {
    flex: 0 0 110px;
    max-width: 110px;
    background: #e9ecef;
}

.homepage-news-thumb {
    width: 110px;
    height: 100%;
    min-height: 100px;
    object-fit: cover;
    display: block;
}

.homepage-news-content {
    flex: 1;
    min-width: 0;
    padding: 10px 12px 10px 0;
}

.homepage-news-date {
    font-size: 12px;
    color: #6c757d;
    margin-bottom: 6px;
    display: flex;
    align-items: center;
    gap: 6px;
}

.homepage-news-title {
    font-size: 15px;
    line-height: 1.35;
    font-weight: 600;
    color: #212529;
}

.homepage-news-preview {
    font-size: 13px;
    line-height: 1.45;
    color: #495057;
}

.homepage-news-card-ar {
    flex-direction: row;
}

.homepage-news-content-ar {
    padding: 10px 0 10px 12px;
}

@media (max-width: 575.98px) {
    .homepage-news-thumb-wrap {
        display: none;
    }

    .homepage-news-title {
        font-size: 14px;
    }

    .homepage-news-preview {
        font-size: 12px;
    }

    .homepage-news-content,
    .homepage-news-content-ar {
        padding: 10px 12px;
    }
}

/* Articles */
.homepage-articles-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.homepage-articles-card {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 12px;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-radius: 10px;
    transition: background-color 0.2s ease, box-shadow 0.2s ease;
}

.homepage-articles-card:hover {
    background-color: #f8f9fa;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.homepage-articles-thumb-wrap {
    width: 42px;
    height: 42px;
    min-width: 42px;
    border-radius: 50%;
    overflow: hidden;
    flex-shrink: 0;
    align-self: center;
    border: 2px solid #ced4da;
    background: #fff;
    box-shadow: 0 1px 4px rgba(0,0,0,0.08);
}

.homepage-articles-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.homepage-articles-thumb-icon {
    font-size: 1.25rem;
}

.homepage-articles-content {
    flex: 1;
    min-width: 0;
}

.homepage-articles-title {
    margin: 0 0 6px 0;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
    color: #212529;
}

.homepage-articles-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    margin-bottom: 6px;
    font-size: 0.85rem;
    color: #6c757d;
}

.homepage-articles-meta {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.homepage-articles-preview {
    margin: 0;
    font-size: 0.92rem;
    line-height: 1.5;
    color: #495057;
}

@media (max-width: 767.98px) {
    .homepage-articles-thumb-wrap {
        display: none;
    }

    .homepage-articles-card {
        padding: 10px;
    }

    .homepage-articles-title {
        font-size: 0.85rem;
    }

    .homepage-articles-preview {
        font-size: 0.78rem;
    }
}


/* Hide news images between 1200px and 1413px */
@media screen and (min-width: 1200px) and (max-width: 1413px) {
    .homepage-news-thumb-wrap {
        display: none;
    }

    .homepage-news-content {
        padding: 10px 12px;
    }
}







/* ===========================
   SVG Map + Quick Search
   =========================== */

#chartdiv_parent {
    position: relative;
    width: 100%;
    height: 560px;
    min-height: 560px;
    overflow: hidden;
    background: #f8f9fa;
}

/* You do not really need chartdiv anymore */
#chartdiv {
    display: none;
	
}

/* SVG viewport */
#map_viewport {
    position: absolute;
    inset: 0;
    overflow: hidden;
    touch-action: none;
    z-index: 2;
}

/* Original image before JS replacement */
#map_object {
    display: block;
}

/* Inline SVG after JS replacement */
#map_viewport svg#map_object {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    transform: translate(-50%, -50%);
    transform-origin: center center;
    cursor: default;
	object-fit: contain;
}

/* Default countries */
#map_viewport svg path,
#map_viewport svg use {
    fill: #d6d6d6;
    stroke: #ffffff;
    stroke-width: 0.4;
    transition: fill 0.2s ease, opacity 0.2s ease, stroke 0.2s ease;
}

/* Western Sahara: always visible and always middle gray */
#map_viewport svg .eh1,
#map_viewport svg .eh1 path,
#map_viewport svg path.eh1,
#map_viewport svg use.eh1 {
    display: inline !important;
    fill: #8b8b8b !important;
}

/* Keep same color on hover */
#map_viewport svg .eh1.archiqoo-hover,
#map_viewport svg .eh1.archiqoo-hover path,
#map_viewport svg path.eh1.archiqoo-hover,
#map_viewport svg use.eh1.archiqoo-hover {
    fill: #8b8b8b !important;
}

/* Included Archiqoo countries */
#map_viewport svg .archiqoo-country,
#map_viewport svg .archiqoo-country path,
#map_viewport svg .archiqoo-country use,
#map_viewport svg path.archiqoo-country,
#map_viewport svg use.archiqoo-country {
    fill: #404040 !important;
    cursor: pointer;
}

/* Hover color */
#map_viewport svg .archiqoo-country.archiqoo-hover,
#map_viewport svg .archiqoo-country.archiqoo-hover path,
#map_viewport svg .archiqoo-country.archiqoo-hover use,
#map_viewport svg path.archiqoo-country.archiqoo-hover,
#map_viewport svg use.archiqoo-country.archiqoo-hover {
    fill: #212529 !important;
}

/* Keep borders clean */
#map_viewport svg .border,
#map_viewport svg .disputed,
#map_viewport svg .outline {
    fill: none !important;
    pointer-events: none;
}

/* Tooltip */
#map-country-tooltip {
    position: fixed;
    display: none;
    z-index: 99999;
    background: #ffffff;
    color: #222;
    border: 1px solid #999;
    border-radius: 4px;
    padding: 4px 8px;
    font-size: 13px;
    pointer-events: none;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

/* Map controls */
#map-control-panel {
    position: absolute;
    right: 15px;
    top: 15px;
    z-index: 20;
    display: grid;
    grid-template-columns: 34px 34px 34px;
    gap: 6px;
    background: rgba(255, 255, 255, 0.78);
    padding: 6px;
    border-radius: 8px;
}


.map-control-button {
    width: 34px;
    height: 34px;
    border: 1px solid #6c757d;
    background: #ffffff;
    color: #212529;
    border-radius: 6px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0,0,0,0.18);
}




/* Search box */
#search_holder {
    position: absolute;
    width: 240px;
    left: 21px;
    top: 15px;
    z-index: 30;
}

#search {
    box-shadow: 0 0 0 1px #808080;
}

.search_loader_holder {
    position: relative;
}

#search_loader {
    display: none;
    position: absolute;
    top: 8px;
    right: 5px;
    z-index: 40;
}

#livesearch {
    max-height: 200px;
    overflow: auto;
    background-color: #fff;
    line-height: 2;
    padding-left: 5px;
    font-size: 14px;
    position: relative;
    z-index: 40;
}

#livesearch a {
    color: black !important;
    text-decoration: none !important;
    font-weight: normal;
}

#livesearch a:hover {
    color: black !important;
    text-decoration: none !important;
    font-weight: bold;
}

/* Tooltip */
#map-country-tooltip {
    position: fixed;
    display: none;
    z-index: 9999;
    pointer-events: none;
    background: rgba(33, 37, 41, 0.92);
    color: #fff;
    padding: 6px 10px;
    border-radius: 6px;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0,0,0,0.2);
}

/* ===========================
   Responsive SVG Map
   =========================== */

/* Very small phones: gradual every 50px */

/* 0–249px */
@media screen and (max-width: 249.98px) {
    #chartdiv_parent {
        height: 160px;
        min-height: 160px;
    }

    #search_holder {
        width: 100px;
        left: 6px;
        top: 6px;
    }

    #search {
        font-size: 8px;
        height: 18px;
    }

    #livesearch {
        max-height: 110px;
        font-size: 10px;
    }

    #map-control-panel {
        right: 6px;
        top: 6px;
        grid-template-columns: 18px 18px 18px;
        gap: 1px;
        padding: 1px;
    }

    .map-control-button {
        width: 18px;
        height: 18px;
        font-size: 8px;
    }
}

/* 250–299px */
@media screen and (min-width: 250px) and (max-width: 299.98px) {
    #chartdiv_parent {
        height: 175px;
        min-height: 175px;
    }

    #search_holder {
        width: 105px;
        left: 7px;
        top: 7px;
    }

    #search {
        font-size: 8px;
        height: 18px;
    }

    #livesearch {
        max-height: 120px;
        font-size: 10px;
    }

    #map-control-panel {
        right: 7px;
        top: 7px;
        grid-template-columns: 18px 18px 18px;
        gap: 1px;
        padding: 1px;
    }

    .map-control-button {
        width: 18px;
        height: 18px;
        font-size: 8px;
    }
}

/* 300–349px */
@media screen and (min-width: 300px) and (max-width: 349.98px) {
    #chartdiv_parent {
        height: 190px;
        min-height: 190px;
    }

    #search_holder {
        width: 112px;
        left: 8px;
        top: 8px;
    }

    #search {
        font-size: 9px;
        height: 20px;
    }

    #livesearch {
        max-height: 135px;
        font-size: 11px;
    }

    #map-control-panel {
        right: 8px;
        top: 8px;
        grid-template-columns: 19px 19px 19px;
        gap: 2px;
        padding: 1px;
    }

    .map-control-button {
        width: 19px;
        height: 19px;
        font-size: 9px;
    }
}

/* 350–399px */
@media screen and (min-width: 350px) and (max-width: 399.98px) {
    #chartdiv_parent {
        height: 200px;
        min-height: 200px;
    }

    #search_holder {
        width: 120px;
        left: 10px;
        top: 10px;
    }

    #search {
        font-size: 9px;
        height: 20px;
    }

    #livesearch {
        max-height: 150px;
        font-size: 12px;
    }

    #map-control-panel {
        right: 10px;
        top: 10px;
        grid-template-columns: 20px 20px 20px;
        gap: 2px;
        padding: 1px;
    }

    .map-control-button {
        width: 20px;
        height: 20px;
        font-size: 9px;
    }
}

/* Phones: gradual every 50px */

/* 400–449px */
@media screen and (min-width: 400px) and (max-width: 449.98px) {
    #chartdiv_parent {
        height: 220px;
        min-height: 220px;
    }

    #search_holder {
        width: 150px;
        left: 10px;
        top: 10px;
    }

    #search {
        font-size: 10px;
        height: 24px;
    }

    #livesearch {
        max-height: 150px;
        font-size: 12px;
    }

    #map-control-panel {
        right: 10px;
        top: 10px;
        grid-template-columns: 24px 24px 24px;
        gap: 3px;
        padding: 3px;
    }

    .map-control-button {
        width: 24px;
        height: 24px;
        font-size: 10px;
    }
}

/* 450–499px */
@media screen and (min-width: 450px) and (max-width: 499.98px) {
    #chartdiv_parent {
        height: 235px;
        min-height: 235px;
    }

    #search_holder {
        width: 165px;
        left: 11px;
        top: 11px;
    }

    #search {
        font-size: 11px;
        height: 26px;
    }

    #livesearch {
        max-height: 155px;
        font-size: 12px;
    }

    #map-control-panel {
        right: 11px;
        top: 11px;
        grid-template-columns: 26px 26px 26px;
        gap: 4px;
        padding: 4px;
    }

    .map-control-button {
        width: 26px;
        height: 26px;
        font-size: 11px;
    }
}

/* 500–549px */
@media screen and (min-width: 500px) and (max-width: 549.98px) {
    #chartdiv_parent {
        height: 250px;
        min-height: 250px;
    }

    #search_holder {
        width: 180px;
        left: 12px;
        top: 12px;
    }

    #search {
        font-size: 12px;
        height: 30px;
    }

    #livesearch {
        max-height: 165px;
        font-size: 13px;
    }

    #map-control-panel {
        right: 12px;
        top: 12px;
        grid-template-columns: 28px 28px 28px;
        gap: 4px;
        padding: 4px;
    }

    .map-control-button {
        width: 28px;
        height: 28px;
        font-size: 12px;
    }
}

/* 550–575px */
@media screen and (min-width: 550px) and (max-width: 575.98px) {
    #chartdiv_parent {
        height: 260px;
        min-height: 260px;
    }

    #search_holder {
        width: 200px;
        left: 12px;
        top: 12px;
    }

    #search {
        font-size: 13px;
        height: 32px;
    }

    #livesearch {
        max-height: 170px;
        font-size: 13px;
    }

    #map-control-panel {
        right: 12px;
        top: 12px;
        grid-template-columns: 30px 30px 30px;
        gap: 5px;
        padding: 5px;
    }

    .map-control-button {
        width: 30px;
        height: 30px;
        font-size: 13px;
    }
}

/* Large phones / small tablets */
@media screen and (min-width: 576px) and (max-width: 767.98px) {
    #chartdiv_parent {
        height: 320px;
        min-height: 320px;
    }

    #search_holder {
        width: 220px;
        left: 14px;
        top: 14px;
    }

    #map-control-panel {
        right: 14px;
        top: 14px;
        grid-template-columns: 32px 32px 32px;
    }

    .map-control-button {
        width: 32px;
        height: 32px;
    }
}

/* Tablets */
@media screen and (min-width: 768px) and (max-width: 991.98px) {
    #chartdiv_parent {
        height: 430px;
        min-height: 430px;
    }

    #search_holder {
        width: 230px;
        left: 15px;
        top: 15px;
    }

    #map-control-panel {
        right: 15px;
        top: 15px;
    }
}

/* Small laptops */
@media screen and (min-width: 992px) and (max-width: 1199.98px) {
    #chartdiv_parent {
        height: 500px;
        min-height: 500px;
    }

    #search_holder {
        width: 240px;
        left: 15px;
        top: 15px;
    }

    #map-control-panel {
        right: 15px;
        top: 15px;
    }
}

/* Large screens: gradual every 50px */

/* 1200–1249px */
@media screen and (min-width: 1200px) and (max-width: 1249.98px) {
    #chartdiv_parent {
        height: 450px;
        min-height: 450px;
    }

    #search_holder {
        width: 230px;
        left: 15px;
        top: 15px;
    }

    #map-control-panel {
        right: 15px;
        top: 15px;
    }
}

/* 1250–1299px */
@media screen and (min-width: 1250px) and (max-width: 1299.98px) {
    #chartdiv_parent {
        height: 480px;
        min-height: 480px;
    }

    #search_holder {
        width: 235px;
        left: 15px;
        top: 15px;
    }

    #map-control-panel {
        right: 15px;
        top: 15px;
    }
}

/* 1300–1349px */
@media screen and (min-width: 1300px) and (max-width: 1349.98px) {
    #chartdiv_parent {
        height: 500px;
        min-height: 500px;
    }

    #search_holder {
        width: 240px;
        left: 15px;
        top: 15px;
    }

    #map-control-panel {
        right: 15px;
        top: 15px;
    }
}

/* 1350–1399px */
@media screen and (min-width: 1350px) and (max-width: 1399.98px) {
    #chartdiv_parent {
        height: 500px;
        min-height: 500px;
    }

    #search_holder {
        width: 240px;
        left: 15px;
        top: 15px;
    }

    #map-control-panel {
        right: 15px;
        top: 15px;
    }
}

/* Extra large screens: gradual every 50px */

/* 1400–1449px */
@media screen and (min-width: 1400px) and (max-width: 1449.98px) {
    #chartdiv_parent {
        height: 500px;
        min-height: 500px;
    }

    #search_holder {
        width: 245px;
        left: 16px;
        top: 16px;
    }

    #map-control-panel {
        right: 16px;
        top: 16px;
    }
}

/* 1450–1499px */
@media screen and (min-width: 1450px) and (max-width: 1499.98px) {
    #chartdiv_parent {
        height: 520px;
        min-height: 520px;
    }

    #search_holder {
        width: 250px;
        left: 17px;
        top: 17px;
    }

    #map-control-panel {
        right: 17px;
        top: 17px;
    }
}

/* 1500–1549px */
@media screen and (min-width: 1500px) and (max-width: 1549.98px) {
    #chartdiv_parent {
        height: 540px;
        min-height: 540px;
    }

    #search_holder {
        width: 255px;
        left: 18px;
        top: 18px;
    }

    #map-control-panel {
        right: 18px;
        top: 18px;
    }
}

/* 1550px and above */
@media screen and (min-width: 1550px) {
    #chartdiv_parent {
        height: 600px;
        min-height: 600px;
    }

    #search_holder {
        width: 260px;
        left: 18px;
        top: 18px;
    }

    #map-control-panel {
        right: 18px;
        top: 18px;
    }
}









