* {
    box-sizing: border-box;
}

html, body{
    width: 100%;
    height: 100%;
    min-height: 100% !important;
    background: #f4f4f4;
}

html{
    font-size: 16px;
}

body {
    margin: 0px;
    padding: 0px;
    font-family: Verdana, Arial, Helvetica;
    position: relative;
    font-size: 0.8rem;

    --html-padding: 5%;
    --header-height: 2.7rem;
}

@media screen and (max-width: 580px) {
    body
    {
        --html-padding: 0px !important;
        --header-height: 3.3rem;
    }
}
@media screen and (min-width: 580px) and (max-width: 800px) {
    body
    {
        --html-padding: 5px !important;
    }
}

#body_wrap{
    padding-bottom: 2.5rem;
    height: inherit;
    margin-left: auto;
    margin-right: auto;
    padding-top: 4rem;
}

@media screen and (max-width: 580px) {
    #body_wrap{
        padding-top: var( --header-height );
        padding-bottom: 3.5rem;
    }
}

#body_wrap.main
{
    padding-top: 0 !important;
}

@media screen and (min-width: 1600px) {
    body
    {
        --html-padding: 10% !important;
    }
}

@media screen and (min-width: 1875px) {
    body
    {
        --html-padding: calc( (100% - 1500px) / 2 ) !important;
    }
}

.err, .error{
    color: red;
}

input:-webkit-autofill {
    background-color: #FFFFFF !important;
    -webkit-box-shadow: 0 0 0px 1000px white inset;
}

a {
    color: #000000;
    text-decoration: none;
    cursor: pointer;
}

a:hover,
a:focus {
    color: #4db1e2;
    text-decoration: underline;
}

#html_wrap, #header_line, #footer_line, #a2hs_line
{
    padding-left: var( --html-padding );
    padding-right: var( --html-padding );
}

#footer_line{
    padding-bottom: 0.5rem;
}

#header_line, #html_wrap
{
    display: block !important;
}

#header_line
{
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    height: 2.5rem;
    height: var( --header-height );
    background: #3D5258;
    z-index: 10000;
    box-shadow: 0 0 5px #000;
}

@media screen and (max-width: 580px) {
    #header_line
    {
        height: 3.3rem;
        height: var( --header-height );
        padding-left: 0;
        padding-right: 0;
    }
}

#html_wrap
{
    min-height: 100%;
    position: relative;
    box-sizing: border-box;
}

#html_wrap.main {
    background: url(/static/bgr_dark.png) #3D5258;
    background-size: 70px 70px;
}

#content {
    width: 100%;
    height: inherit;
    padding-top: 0.4rem;
    padding-bottom: 0.4rem;
}

@media screen and (max-width: 580px) {
    #content {
        padding: 0.5rem;
    }
}

#topmarker{
    position: absolute;
    top: 0;
    left: 0;
    display: block;
}

/*
body.cookies_pad.main #cookies_pad{
    top: 0 !important;
}*/

body.cookies_pad #cookies_pad
{
    display: block !important;
}

body.cookies_pad #body_wrap,
body.pwa_pad #body_wrap
{
    padding-top: 5.5rem;
}

body.cookies_pad.pwa_pad #body_wrap
{
    padding-top: 7.5rem;
}

@media screen and (min-width: 580px) and (max-width: 800px) {
    body.cookies_pad.pwa_pad #body_wrap
    {
        padding-top: 7rem !important;
    }

    body.cookies_pad #body_wrap
    {
        padding-top: 4.5rem !important;
    }
}

@media screen and (max-width: 580px) {
    body.cookies_pad.pwa_pad #body_wrap
    {
        padding-top: 8.5rem !important;
    }

    body.cookies_pad #body_wrap
    {
        padding-top: 6.5rem !important;
    }
}

#cookies_pad{
    display: none;
    z-index: 990;
    padding-left: var( --html-padding );
    padding-right: var( --html-padding );
}

#cookies_pad .background{
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: #868686;

    z-index: 0;
}

#cookies_pad #cookies_desc, #cookies_pad #cookies_desc a{
    color: #FFFFFF;
}

#cookies_pad #cookies_desc{
    position: relative;
    max-width: 1500px;
    margin-left: auto;
    margin-right: auto;
    font-size: 0.8rem;
    z-index: 100;
    padding-left: 3rem;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

#cookies_pad #cookie_close{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0.8rem;
    color: #ffffff;
    z-index: 100;
    text-align: center;
    cursor: pointer;
    font-size: 1.3rem;
    line-height: 1.3rem;
}

#pad-wrapper{
    position: fixed;
    top: 2.5rem;
    left: 0;
    right: 0;
    z-index: 990;
}

#pad-wrapper #cookies_pad,
#pad-wrapper #pwa-install-pad{
    display: none;
    position: relative;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--html-padding);
    padding-right: var(--html-padding);
}

#pad-wrapper #pwa-install-pad{
    background: #4fb1df;
    color: #ffffff;
    font-size: 0.8rem;
    line-height: 1.2rem;
    text-align: center;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
    cursor: pointer;
}

#pwa-install-pad:hover #pwa-install-url-like{
    text-decoration: underline;
}

@media screen and (max-width: 580px){
    #pad-wrapper{ top: 3rem; }
}

body.cookies_pad #pad-wrapper #cookies_pad{
    display: block !important;
}

body.pwa_pad #pad-wrapper #pwa-install-pad{
    display: block !important;
}

@media screen and (max-width: 580px) {
    #pad-wrapper{
        top: 3rem;
    }

    #cookies_pad #cookie_close{
        left: 1rem;
    }

    #cookies_pad #cookies_desc{
        padding-left: 3rem;
        padding-right: 1rem;
        padding-top: 0.6rem;
        padding-bottom: 0.6rem;
    }
}

#footer_line{
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    border-top: 1px solid #FFFFFF;
    background: #3D5258;
}

#footer_line a{
    text-decoration: none;
    color: #FFFFFF;
}
#footer_line a:hover{
    text-decoration: underline;
}

#footer_title,
#footer_links{
    text-align: center;
    padding: 0.5rem;
    padding-bottom: 0;
    float: left;
}

#footer_title,
#footer_links,
#footer_title a,
#footer_links a{
    color: #dedede;
}
#footer_links a{
    white-space: nowrap;
}

#footer_links{
    float: right;
}
#footer_links .link_spacer{
    content: " :: ";

}

@media screen and (max-width: 580px) {
    #footer_title,
    #footer_links{
        float: none !important;
        width: 100%;

        padding-left: 0;
        padding-right: 0;
    }

    #footer_links a{

        padding-top: 0.2rem;
    }

    #footer_links a:first-of-type{
        padding-top: 0;
    }
}

.data-block
{
    position: relative;
    overflow: hidden;
    border: 1px solid #d3d3d3;
    border-radius: 0.2rem;
    background: #FFFFFF;
    box-shadow: 0px 0px 5px #d5d5d5;
    padding: 1rem;
}


.data-block .adsbygoogle,
.container .adsbygoogle
{
    margin-top: 1rem;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.grid-legend i.icon-clouds::before,
.grid-legend i.icon-cloud-sun::before,
.grid-legend i.icon-cloud-moon::before {
    transform: translateY(-33%);
}

.grid-legend i.icon-cloud::before {
    transform: translateY(-10%);
}

.iconCast {
    position: absolute;
    right: 2rem;
    top: -1rem;
}

.iconCast .title {
    position: absolute;
    top:100%;
    left:0;
    right:0;
    text-align:center;
    font-size:2rem;
}

@media screen and (max-width: 580px) {
    .iconCast {
        position: relative;
        right: auto;
        left: auto;
        top: auto;
        text-align: center;
    }

    .iconCast .title {
        position: relative;
    }

    .tempCast {
        position: relative;
        height: 5rem;
    }
}

/* location-weather */
.nowForecast {
    position: relative;
    min-height: 20rem;
}

.nowForecast .temperature {
    float: left;
    margin-left: 4rem;
    margin-right: 4rem;
    position: relative;
}

.nowForecast .temperature .sign {
    position: absolute;
    top: 0;
    left: -3rem;
    font-size: 5rem;
}

.nowForecast .temperature .value {
    line-height: 10rem;
    font-size: 10rem;
}

.nowForecast .temperature .degree {
    position: absolute;
    top: 0;
    right: -2rem;
    font-size: 5rem;
}

.nowForecast .feels-pad {
    float: left;
    color: gray;
}

.nowForecast .feels-temperature-box {
    font-size: 4.8rem;
    text-align: center;
    line-height: normal;
}

.nowForecast .feels {
    display: inline-block;
    position: relative;
    line-height: 4.8rem;
}

.nowForecast .feels .sign {
    position: absolute;
    top: 0;
    left: -1.5rem;
    font-size: 3rem;
    line-height: initial;
}

.nowForecast .feels .value {
    font-size: 4.8rem;
    line-height: 4.8rem;
}

.nowForecast .feels .degree {
    position: absolute;
    top: 0;
    right: -1.5rem;
    font-size: 3rem;
    line-height: initial;
}

.nowForecast .feels-pad .label {
    font-size: 2.6rem;
    padding-top: 0.5rem;
}

.nowForecast .hours-interval {
    display: inline-block;
    margin-left: 0.35rem;
}

@media (max-width: 580px) {
    .nowForecast .hours-interval {
        display: block;
        margin-left: 0;
    }

    .nowForecast > div {
        text-align: center;
    }
}

@media screen and (max-width: 580px) {
    .nowForecast .temperature {
        margin-left: 2rem;
        margin-right: 2rem;

        position: absolute;
        left: 10%;
        text-align: center;
    }

    .nowForecast .temperature .sign {
        left: -1.5rem;
        font-size: 2.5rem;
    }

    .nowForecast .temperature .value {
        line-height: 5rem;
        font-size: 5rem;
    }

    .nowForecast .temperature .degree {
        right: -1rem;
        font-size: 2.5rem;
    }

    .nowForecast .feels-temperature-box {
        font-size: 2.4rem;
    }

    .nowForecast .feels {
        line-height: 2.4rem;
    }

    .nowForecast .feels .sign {
        left: -0.75rem;
        font-size: 1.5rem;
    }

    .nowForecast .feels .value {
        font-size: 2.4rem;
        line-height: 2.4rem;
    }

    .nowForecast .feels .degree {
        right: -0.75rem;
        font-size: 1.5rem;
    }

    .nowForecast .feels-pad {
        position: absolute;
        right: 10%;
    }

    .nowForecast .feels-pad .label {
        font-size: 1.3rem;
        padding-top: 0.25rem;
    }
}

.charts-pad {
    overflow-x: auto;
    overflow-y: hidden;
}

.container.charts {
    margin-bottom: 0;
}

.hourly_view_mode {
    position: absolute;
    top: 0;
    right: 0;
    -webkit-user-select: none;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none;
    user-select: none;
    touch-action: manipulation;
    cursor: pointer;
    line-height: 1.7rem;
    text-decoration: underline;
}

.open-meteo-ads {
    text-align: right;
    padding-top: 0.4rem;
}

@media screen and (max-width: 580px) {
    .open-meteo-ads {
        text-align: center;
    }
}
/* END location-weather */

/* charts */
.grid-container {
    --grid-legend-width: 2rem;
}

.grid-container .grid-pad {
    position: relative;
}

.grid-container .grid-legend {
    width: var(--grid-legend-width);
    position: absolute;
    background: #ffffffa6;
}

.grid-container .grid-legend.left {
    left: 0;
}

.grid-container .grid-legend.right {
    right: 0;
}

.graph-pattern-precipitation-high__bg {
    fill: #00b8f1;
}

.graph-pattern-precipitation-probable__bg {
    fill: #e3e3e3;
}

.graph-pattern-precipitation-probable__fg {
    stroke: #00b8f1;
}

.graph-pattern-grid {
    stroke: #cdcdcd;
    stroke-width: 1px;
}

.graph-day-separator {
    stroke: #666464;
}
/* END charts */

/* chart legend */
.grid-container.legend {
    padding-left: var(--grid-legend-width);
}

.grid-container .legend {
    padding-left: 0;
    margin-right: 2rem;
    margin-bottom: 0.5rem;
    position: relative;
    float: left;
    height: 1rem;
    position: relative;
    padding-left: 2.5rem;
}

.grid-container .legend .legend-icon {
    display: inline-block;
    width: 2rem;
    height: 1rem;
    margin-right: 0;
    border-radius: 0.2rem;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.grid-container .legend i.demo-icon {
    display: inline-block;
    width: 1.25rem;
    text-align: center;
    margin-right: 0;
    vertical-align: middle;
    position: relative;
    left: 0.1rem;
}

@media screen and (max-width: 580px) {
    .grid-container.legend {
        padding-left: 0;
    }

    .grid-container .legend {
        margin-left: var(--grid-legend-width);
        position: relative;
        float: none;
        width: auto;
    }
}
/* END chart legend */

/* Grid styles */
.container
{
    background-color: #ffffff;
    margin-bottom: 1rem;

    padding: 1rem 0;
    box-shadow: 0px 3px 10px -2px rgba(0, 0, 0, 0.2);
}
.grid-row
{
    position: relative;
}
.grid-row:after
{
    display: table;
    clear:both;
    content: " ";
}

.grid-row .grid-col
{
    float: left;
    padding: 0 1rem;
    min-height: 1px;
}

@media screen and (max-width: 580px) {
    .grid-row .grid-col
    {
        width: 100%;
    }
}

.col-grid-12
{
    width: 100%;
}

.col-grid-11
{
    width: 91.666666667%;
}

.col-grid-10
{
    width: 83.333333333%;
}

.col-grid-9
{
    width: 75%;
}

.col-grid-8
{
    width: 66.666666667%;
}

.col-grid-7
{
    width: 58.333333333%;
}

.col-grid-6
{
    width: 50%;
}

.col-grid-5
{
    width: 41.666666667%;
}

.col-grid-4
{
    width: 33.33333333%;
}

.col-grid-3
{
    width: 25%;
}

.col-grid-2
{
    width: 16.66666667%;
}

.col-grid-1
{
    width: 8.333333333%;
}
/* END Grid styles */

h1, h2, h3
{
    font-weight: bold;
    font-size: 1.5rem;
    padding: 0;
    margin: 0;
    margin-top: 0.3rem;
    margin-bottom: 0.3rem;
    padding-left: 0.5rem;
}
h2{
    font-size: 1.125rem;
    margin: 0 0 0.5rem;
    padding: 0px 0px 5px;
    border-bottom: 1px solid #4db1e2;
    font-weight: 700;
    text-transform: uppercase;
    color: #4db1e2;
}

h3{
    font-size: 0.9rem;
    padding-top: 0rem;
    padding-bottom: 0rem;
}

p{
    padding-left: 0.5rem;
}

a.underline,
.underline
{
    text-decoration: underline;
}

.table
{
    border-spacing: 0px;
    border-collapse: collapse;
}

.table .tr
{
    display: flex;
    display: -webkit-flex;
    flex-direction: row;
    -webkit-flex-direction: row;
    flex-grow: 0;
    -webkit-flex-grow: 0;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%;
}

.table .td
{
    display: flex;
}

.table .tr
{
    border-bottom: 1px solid #f4f4f4;
}

.table .td
{
    background: #fff;
    padding: 0.5rem;
    margin: 0;
}

.width15
{
    width: 15rem;
}
.width25
{
    width: 25rem;
}
.fgrow{
    flex-grow: 1;
    -webkit-flex-grow: 1;
}

.table_form input[type=text],
.table_form input[type=email],
.table_form textarea{
    width: 100%;
    max-width: 25rem;
}

.table_form .tr{
    max-width: 41rem;
}

.table_form .tr .td:last-of-type{
    max-width: 26rem;
}

.btn_1{
    cursor: pointer;
    width: 10rem;
    background: #3D5258;
    border: 0;
    color: #ffffff;
    padding: 0.4rem;
}

.animat{
    display: none;
}

.btn_1.loading .animat{
    display: inline-block;
}

@media screen and (max-width: 580px) {
    .table_form .width15{
        width: 100% !important;
    }

    .table_form input,
    .table_form textarea{
        max-width: none !important;
    }

    .table_form .tr{
        max-width: none !important;
    }
    .table_form .td{
        max-width: none !important;
    }

    .table_form .tr .td:first-of-type{
        padding-bottom: 0;
    }

    .btn_1{
        width: 100%;
    }
}

.form_res{
    display: none;
    padding: 0.3rem;
}

.mmenu_action
{
    width: 2.7rem;
    height: 2.7rem;
    position: relative;
    float: right;
    top: 50%;
    transform: translateY(-50%);
    right: 0.5rem;
    border: 0;
    cursor: pointer;
    font-size: 2rem;
    margin-left: 0.2rem;
}

@media screen and (min-width: 581px) {
    .mmenu_action
    {
        font-size: 1.4rem;
        border: 1px solid #ced4da;
        background: #ffffff;
        border-radius: .25rem;
        width: 2rem;
        height: 2rem;
        cursor: pointer;
        position: relative;
        float: right;
        margin-left: 0.3rem;
        top: 50%;
        transform: translateY(-50%);
    }
}

@media screen and (max-width: 580px) {
    .mmenu_action.menubtn.settings {
        font-size: 2rem !important;
        line-height: normal !important;
    }
}

.mmenu_action.menubtn
{
    font-size: 0.7rem !important;
    line-height: 0.7rem !important;
    text-align: center;
}

.mmenu_action.menubtn.search {
    font-size: 1.4rem !important;
}

@media screen and (max-width: 580px) {
    .mmenu_action.menubtn.search {
        font-size: 1.6rem !important;
    }
}

.mmenu_action.menubtn .label
{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    padding-bottom: 0.1rem;
}

.mmenu_action.menubtn.settings {
    font-size: 1.4rem !important;
    line-height: 1 !important;
    vertical-align: middle !important;
}

@media screen and (max-width: 580px) {
    .mmenu_action.menubtn.settings {
        font-size: 2rem !important;
        line-height: normal !important;
    }
}

#header_pad, #footer_pad{
    position: relative;

    height: 100%;
    margin-left: auto;
    margin-right: auto;
    background: #3D5258;
}

@media screen and (max-width: 580px) {
    #header_pad{
        color: #FFFFFF;
    }
}

/* Page-header mobile popup overlay: generic arrow + dynamic title shown when any popup opens */
#popup_header_mobile {
    display: none;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    height: var(--header-height, 3.3rem);
    align-items: center;
    padding: 0 0.75rem;
    box-sizing: border-box;
    color: #ffffff;
}

#popup_header_mobile .popup-back-mobile {
    background: transparent;
    border: none;
    color: #ffffff;
    font-size: 1.6rem;
    margin-right: 0.75rem;
    height: var(--header-height, 3.3rem);
    line-height: var(--header-height, 3.3rem);
    padding: 0;
    display: inline-block;
    vertical-align: middle;
}

#popup_header_mobile .material-symbols-outlined {
    font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 48;
    font-size: 1.4rem;
    vertical-align: middle;
    line-height: normal;
}

#popup_header_mobile #popup_header_mobile_title {
    font-size: 1.5rem;
    font-weight: 600;
}

@media screen and (max-width: 580px) {
    body.popup-open .mmenu_action {
        visibility: hidden !important;
    }
    body.popup-open #header_pad > *:not(#popup_header_mobile) {
    visibility: hidden;
    }
    body.popup-open #popup_header_mobile {
        display: flex;
        visibility: visible;
        z-index: 10001;
    }
}

#header_pad a{
    text-decoration: none;
    color: #666666;
}

#dialogPad
{
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: #000000;
    opacity: 0.4;
    z-index: 9000;
}

#dialogPad.below-header {
    top: var(--header-height);
}

.settings-menu-container {
    position: fixed;
    top: var(--header-height);
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 9990;
    text-align: center;
    padding-left: var(--html-padding);
    padding-right: var(--html-padding);
    padding-top: 1.5rem;
    box-sizing: border-box;
}

.settings-menu-container > .settings-inner {
    width: 100%;
    max-width: 1500px;
    margin: 0 auto;
    padding-left: var(--html-padding);
    padding-right: var(--html-padding);
    box-sizing: border-box;
}

.settings-menu {
    max-height: 85vh;
    position: relative;
    text-align: left;
}

.modal-centered {
    width: 100%;
    max-width: 625px;
    box-sizing: border-box;
    margin: 0 auto;
    background: #ffffff;
    border: 1px solid #d3d3d3;
    box-shadow: 0 0 5px #d5d5d5;
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    padding-top: 2.5rem;
    z-index: 9999;
    border-radius: 0.25rem;
    max-height: 85vh;
    overflow-y: auto;
}

@media screen and (max-width: 580px) {
    .modal-centered {
        position: fixed;
        top: var(--header-height);
        left: 0;
        right: 0;
        bottom: 0;
        transform: none;
        width: 100%;

        height: calc(100vh - var(--header-height, 3.3rem));

    min-height: calc(100vh - var(--header-height));

        max-width: none;
        padding: 0;
        box-shadow: none;
        border-radius: 0;
        margin: 0;
    overflow: hidden;
    }

    .modal-centered > .share_content,
    .modal-centered > .settings-content {

        height: calc(100% - var(--popup-header-height, 3rem));
        min-height: 0;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
}

.settings-header {
    padding: 1rem;
    border-bottom: 1px solid #e0e0e0;
    position: relative;
}

.settings-header h3 {
    margin: 0;
    font-size: 1.2rem;
    color: #333;
}

.settings-section h4 {
    font-weight: 600;
    display: block;
}
.settings-section h4 .demo-icon {
    font-size: 1.1rem;
    width: 1.2rem;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    margin-right: 0.5rem;
}

.settings-close,
.modal-close {
    position: absolute;
    top: 0.75rem;
    right: 1rem;
    font-size: 1.5rem;
    cursor: pointer;
    color: #666;
}

.settings-content {
    padding: 1rem;
}

.settings-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem 2rem;
    align-items: start;
}

.settings-section {
    width: 100%;
    box-sizing: border-box;
}

.settings-section .settings-options {
    margin-top: 0.5rem;
}

@media screen and (max-width: 580px) {
    .settings-content {
        display: block;
        grid-template-columns: none;
        gap: 0;
    }
    .settings-section {
        margin-bottom: 2rem !important;
    }
    .settings-close,
    .modal-close {
        display: none;
    }
    .settings-footer {
        display: none;
    }
}

.settings-section {
    margin-bottom: 1rem;
}

.settings-section:last-child {
    margin-bottom: 0;
}

.settings-section h4 {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    color: #333;
}

.settings-options {
    padding-left: 1.9rem;
}

.settings-option {
    margin: 0.5rem 0;
}

.settings-option label {
    display: block;
    cursor: pointer;
}

.settings-option input {
    margin-right: 0.5rem;
}

.settings-option label span {
    display: inline-block;
    max-width: calc(100% - 2rem);
}

.settings-footer {
    padding: 1rem;
    border-top: 1px solid #e0e0e0;
    text-align: right;
}

.settings-save-btn {
    background: #3D5258;
    color: #ffffff;
    border: none;
    border-radius: 0.25rem;
    padding: 0.5rem 1rem;
    font-size: 0.9rem;
    cursor: pointer;
}

.settings-save-btn:hover {
    background: #2d3e42;
}

@media screen and (max-width: 580px) {
    .settings-menu-container {
        top: var(--header-height, 3.3rem);
        padding-left: 0;
        padding-right: 0;
        padding-top: 0;
        align-items: stretch;
    }
    .settings-menu {
        height: 100%;
        max-height: none;
        overflow-y: auto;
    }
    .settings-menu-container {
        min-height: calc(100vh - var(--header-height, 3.3rem));
    }
}

.noScroll {
    overflow: hidden !important;
}
.settings-menu-container {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
}
.settings-menu-container.visible {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
}

@media screen and (max-width: 580px) {
    .settings-menu {
        position: fixed;
        top: var(--header-height, 3.3rem);
        left: 0;
        right: 0;
        bottom: 0;
        overflow-y: auto;
    }
    .settings-menu-container {
        align-items: stretch;
        padding-top: 0;
    }

    .settings-mobile-header {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        height: var(--header-height, 3.3rem);
        background: #3D5258;
        color: #ffffff;
        z-index: 10001;
        display: flex;
        align-items: center;
        padding: 0 0.75rem;
    }

    .settings-mobile-header .settings-back {
        background: transparent;
        border: none;
        color: #ffffff;
        font-size: 1.6rem;
        margin-right: 0.75rem;
    }

    .settings-mobile-header .settings-mobile-title {
        font-size: 1.1rem;
        font-weight: 600;
    }

    .settings-menu-container.visible .settings-mobile-header {
        display: flex;
    }
}

#header_pad .logo-svg {
    position: absolute;
    top: 50%;
    left: 1rem;
    transform: translateY(-50%);
    text-decoration: none;
    height: 2rem;
    display: block;
}

#header_pad .logo-svg img {
    height: 100%;
    width: auto;
}

.grid-container .legend.legend-wind-direction .wind-direction-placeholder {
    display: none;
}
.grid-container .legend.legend-wind-direction .wind-direction {
    display: inline-block;
    vertical-align: middle;
}

@media screen and (max-width: 580px) {
    .grid-container .legend.legend-wind-direction .wind-direction {
        display: inline-block;
        vertical-align: middle;
    }
    .grid-container .legend.legend-wind-direction .wind-direction-placeholder {
        display: none;
    }
    .legend-wind-direction .legend-label {
        vertical-align: middle;
    }

    .legend-wind-direction {
        margin-left: var(--grid-legend-width);
        position: relative;
    }
    .legend-wind-direction .legend-label {
        margin-left: 0.25rem;
    }
}

@media screen and (min-width: 581px) {
    .grid-container .legend.legend-wind-direction {
        padding-left: 0;
    }
}

body.popup-open .mmenu_action {
    visibility: hidden !important;
}

@media screen and (max-width: 580px) {
    .modal-centered > .settings-content {
        height: 100%;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        box-sizing: border-box;
    }
}