.gm-style .gm-style-iw { overflow: visible;}
.gm-style .gm-style-iw-chr .gm-ui-hover-effect{position: absolute!important;top: -12px;right: -12px;width: 24px!important;height: 24px!important;display: flex;align-items: center;justify-content: center;background: var(--color-secondry--40)!important;opacity: 1;border-radius: 50%;}
.gm-style .gm-style-iw-chr .gm-ui-hover-effect>span{margin: 2px!important;background-color: #fff;width: 20px!important;height: 20px!important; }


#map_canvas { border-bottom: none;   } 
 
.opt { position: relative; margin-top: 30px; }
.opt header { margin-bottom: 15px; }
.opt h3 {float: left;width: 100%;font-size: 2.2rem;font-weight: 500;color: var(--color-primary--100);}
.opt .disclaimer {float: left;width: 100%;font-size: 1.6rem;font-weight: 300;color: var(--color-secondry--20);margin-top: 5px;}


.opt label { float: left; width: 100%; border-bottom: 1px solid #ddd; height: 100%; background: none; }
.opt label:last-child { border-bottom: none; }
.opt label span {float: left;font-size: 1.5rem;padding: 18px 10px;font-weight: 300;color: var(--color-secondry--20);text-align: left;text-transform: capitalize;width: 100%;}
.opt label span i {color: var(--color-primary--100);padding-right: 10px;float: left;width: 30px;text-align: center;}

.opt label input { display: none; }
.opt label.hovered span {cursor: pointer;background: #f4f4f4;color: var(--color-secondry--40);}
.opt label.hovered span i {color: var(--color-secondry--40);}
.opt label input[type=checkbox]:checked + span { background: #f6f6f6; }
.opt label input[type=checkbox]:checked + span i {color: var(--color-secondry--40);}

@media (max-width: 980px) {
    .opt label span { font-size: 1.2rem; }
}

@media (max-width: 800px) {
    .opt { height: auto; }
    .opt header { margin-bottom: 25px; }
    .opt label {float: left;width: 50%; border-right: 1px solid #ddd;}
    .opt label span { font-size: 1.4rem; } 
    .opt label:nth-child(odd) { border-right: none; }
    .opt label:last-child { border-bottom: none; border-right: 1px solid #ddd; }
}

@media (max-width: 480px) { 
    .opt h3{ font-size: 1.8rem;}
    .opt .disclaimer{ font-size: 1.4rem;}
    .opt label span {font-size: 1.5rem;padding: 12px 10px;} 
    #map_canvas {height: 300px;margin-top: 20px!important;}
}

@media (max-width: 400px) {  
    .opt label {float: left;width: 100%; border-right: none;}
    .opt label:last-child { border-right: none; }
}