:root {
    --loader-size: 120px;
    --loader-radius: calc(var(--loader-size) / 2 - 6px);
    --stroke-width: 12px;
    --circumference: calc(2 * 3.1415 * var(--loader-radius));
}
* {
    box-sizing: border-box;
}

body, html {
    width: 100%;
    height: 100%;
    min-height: 100vh;
    overflow: hidden;
    font-family: "Inter", "Roboto", sans-serif;
    margin: 0;
    padding: 0;
}

p, ul, ol {
    margin: 0;
}

.lwg_wrapper {
    z-index: 9999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    overflow: hidden;
}

.loader_wrapper {
    display: flex;
    gap: 20px;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    z-index: 999999999;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    min-height: 100vh;
    overflow: hidden;
    padding: 20px;
    text-align: center;
}

.hide { display: none; }

h1 {
    font-size: clamp(32px, 5vw, 62px);
    line-height: clamp(32px, 5vw, 54px);
}

p {
    font-size: clamp(22px, 5vw, 36px);
    line-height: clamp(26px, 5vw, 42px);
}

.loader-circle {
    width: var(--loader-size);
    height: var(--loader-size);
    transform: rotate(-90deg);
}

.loader-circle circle {
    fill: none;
    stroke-width: var(--stroke-width);
}

.loader-circle .bg { stroke: #eee; }

.loader-circle .progress {
    /*stroke: var(--accent_color);*/
    stroke-dasharray: var(--circumference);
    stroke-dashoffset: var(--circumference);
    transition: stroke-dashoffset linear;
}

.lwg_background {
    position: absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

.lwg_background-overlay {
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    pointer-events: none;
    background-color: rgba(0,0,0,0.5);
}

.lwg_inner { position:absolute; z-index:2; width:100%; height:100%; padding:20px; }
.lwg_main { max-width:700px; margin:auto; display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; height:100%; }
.lwg_text { font-size: clamp(36px, 5vw, 44px); line-height: clamp(46px,5vw,54px); text-align:center; }

.lwg_button {
    padding: 20px 60px;
    margin-top: 30px;
    font-size: 24px;
    border-radius: 30px;
    /*background: var(--btn-color);*/
    color: white;
    text-decoration: none;
    display: inline-block;
}

.city_validity-wrapper {
    margin-top: 65px;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}
.city_validity-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 15px;
    background-color: rgba(255, 255, 255, 0.65);
    border-radius: 30px;
    gap: 20px;
}
.city_validity-question {
    font-size: 18px;
    text-align: center;
}
.city_validity-buttons {
    width: 90%;
    display: flex;
    gap: 15px;
    justify-content: center;
    align-items: center;
}
.city_input {
    border: none;
    outline: none;
    background-color: rgba(128, 128, 128, 0.75);
    color: black;
    font-size: 16px;
    padding: 8px;
    border-radius: 50px;
    text-align: center;
    width: 90%;
}
.city_input::placeholder {
    color: rgba(255, 255, 255, 0.7);
}
.skip_button, .send_button{
    width: 100%;
    text-align: center;
    padding: 8px 20px;
    border-radius: 50px;
    color: #fff;
    font-size: 16px;
}

@keyframes fromLeftToRightInfinite {
    from { background-position: -1000px 0; }
    to { background-position: 0 0; }
}
