* {
    font-family: "DM Sans", sans-serif;
    font-style: normal;  
}

.logo-text {
    font-family: "DM Sans", sans-serif; 
    font-style: normal;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -0.03em;
    padding-left: 10px;
    margin: 0px;
    color: #202330;
}

.logo {
    padding-left: 40px;
}

.smile-pin {
    fill: #FFCF00;
}

h1 {
    font-size: 40px;
    font-weight: 500;
    letter-spacing: 0.001em;
    color: #202330;
}

h2 {
    font-size: 25px;
    font-weight: 500;
    letter-spacing: 0.001em;    
}

h3 {
    font-size: 20px;
    font-weight: 500;
    letter-spacing: 0.001em;    
}

.about {
    font-size: 16px;
    color: rgba(100, 103, 113, 1);
}

.privacy {
    color: rgba(100, 103, 113, 1);
}

.how {    
    overflow: auto;
    white-space: nowrap;
    padding: 10px;
}

.footer {
    font-size: 16px;
    color: rgba(148, 148, 148, 1);
    min-height: 50px;      
}

.policy {
    font-size: 16px;
    color: rgba(148, 148, 148, 1);
    min-height: 50px;      
}

.apps {
    border-radius: 30px;
    background: #202330;
    max-width: 1340px;
      
    margin: auto;
    margin-top: 50px;
    margin-bottom: 50px;
    margin-left: 5px;
    margin-right: 5px;
} 

.nav-smile {
    font-weight: bold;
    font-size: 16px;
    font-weight: 700;
}

.app-image{
    max-width: 100%;
    height: auto;
}

#mapdiv {
    position: relative;
    top: 0;
    bottom: 0;
    max-width: 1440px;
    height: 880px;
    /*z-index: 3;*/
}

.collectors{
    position: relative;
    top: 0px;
    bottom: 0px;
    max-width: 1440px;
    /*height: 880px;*/
    z-index: 3;
    background-color: white;
    /*display: none; */
}

.collectors_col1{
    background-color: rgba(247, 247, 247, 1);
    /*height: 860px;*/
}

ul.countries{
    list-style-type: none;
    padding: 15px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-start;
    margin: 0;
}

/* Responsive adjustments for countries list */
@media (max-width: 768px) {
    ul.countries {
        padding: 10px;
        gap: 6px;
        justify-content: center;
    }
    
    li.country {
        min-width: 100px;
        max-width: 150px;
        padding: 6px 10px;
        font-size: 14px;
    }
}

a.country_lnk{
    text-decoration: none;
    color: rgba(100, 103, 113, 1);
    font-size: 16px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    transition: color 0.2s ease;
}

a.country_lnk:hover {
    color: rgba(80, 83, 93, 1);
    text-decoration: none;
}

li.country{
    width: auto;
    min-width: 120px;
    max-width: 200px;
    padding: 8px 12px;
    margin: 4px;
    border-radius: 8px;
    transition: background-color 0.2s ease;
    border: 1px solid transparent;
}

li.country:hover {
    background-color: rgba(255, 207, 0, 0.1);
    border-color: rgba(255, 207, 0, 0.3);
}

/* Active state for selected country */
li.country.active {
    background-color: rgba(255, 207, 0, 0.2);
    border-color: rgba(255, 207, 0, 0.5);
}

img.country{
    width: 20px;
    height: 15px;
    margin-right: 8px;
    vertical-align: middle;
    border-radius: 2px;
    object-fit: cover;
}

svg.all{
    margin: 5px;
    margin-left: 10px;
    margin-right: 10px;
}

.mapshell{
    position: relative;
    top: 0;
    bottom: 0;
    max-width: 1440px;
    min-height: 880px;
}

.large-smile{
    width: 200px;
    height: 170px;
}

.smile-pop{    
    z-index: 5;
    background-color: #FFCF00;
}