@font-face {
    font-family: "newton";
    /* src: url("./NewtonSans-2015-11-04.ttf") format("truetype"); */
    src: url("./nishiki-teki.ttf") format("truetype");
}

.merriweather {
    font-family: "Merriweather", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
      "wdth" 100;
  }


*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

html {
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

body {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100vw;
    background: #283747;
    color: #fff;

    overflow:hidden;
}

.container {
    position: relative;}

.clock {
    width: calc(var(--scale) * 550px);
    height: calc(var(--scale) * 550px);
    border-radius: 50%;
    background: #1c2833;
    border: calc(var(--scale) * 5px) solid #555e66;
    box-shadow: 0px 0px calc(var(--scale) * 15px) rgba(0, 0, 0, 0.9);

    display: flex;
    align-items: center;
    justify-content: center;

    /* transform: scale(var(--scale)); */
}

.clock .hour-label {
    position: absolute;
    transform: rotate(calc(180deg + 15deg * var(--i)));
    inset: calc(var(--scale) * 57px);
    text-align: center;
    font-size:  calc(var(--scale) * 24px);
}

.clock .minute-label {
    position: absolute;
    transform: rotate(calc(30deg * var(--i)));
    inset: calc(var(--scale) * 31px);
    text-align: center;
    font-size:  calc(var(--scale) * 15px);
}

.compass-label {
    position: absolute;
    transform: rotate(calc(-22.5deg * var(--i)));
    inset: calc(var(--scale) * 2px);
    text-align: center;
    font-size:  calc(var(--scale) * 14px);

    text-shadow: 0 0 calc(var(--scale) * 2.5px) #192029;
}

.big-label {
    inset: calc(var(--scale) * -2px);
    font-size: calc(var(--scale) * 125%);
}

.hands {
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: flex-end;
}

.hands i {
    position: absolute;
    width: calc(var(--scale) * 5px);
    border-radius: calc(var(--scale) * 70px);
    box-shadow: 0 0 calc(var(--scale) * 10px) rgba(0, 0, 0, 0.5);
}

#hour-hand i {
    background: #dea363;
    height: calc(var(--scale) * 205px)
}

#minute-hand i {
    background: #4574bc;
    height: calc(var(--scale) * 235px)
}

.minute-border{
    position:absolute;
    width: calc(var(--scale) * 450px);
    height: calc(var(--scale) * 450px);
    border-radius: 50%;
    border: calc(var(--scale) * 2px) solid #555e66;
}

.calendar-border{
    position:absolute;
    width: calc(var(--scale) * 500px);
    height: calc(var(--scale) * 500px);
    border-radius: 50%;
    border: calc(var(--scale) * 5px) solid #555e66;
    background: #1c2833;
}

.minute-face{
    position:absolute;
    width: calc(var(--scale) * 435px);
    height: calc(var(--scale) * 435px);
    border-radius: 50%;
    border: calc(var(--scale) * 2px) solid #555e66;
    background: #1c2833;
    transform: rotate(-0.66623deg)

}

.sun-times-face{
    --day-start: 75;
    --c-dawn-start: 10;
    --n-dawn-start: 20;
    --a-dawn-start: 30;
    --night-start: 180;
    --a-dusk-start: 190;
    --n-dusk-start: 200;
    --c-dusk-start: 210;

    position:absolute;
    width: calc(var(--scale) * 375px);
    height: calc(var(--scale) * 375px);
    border-radius: 50%;
    border: calc(var(--scale) * 5px) solid #555e66;
    background: #555e66;
}

.svg {
    position: absolute;
    width: 100%;
    height: 100%;
}

.hour-ticks {
    transform: rotate(0deg);
}

.minute-ticks {
    transform: rotate(3deg);
}

.minute-ticks-circle {
    fill: transparent;
    stroke: #555e66;
    stroke-width: 2.5px;
}

.solstice-ticks-circle {
    fill: transparent;
    stroke: #dea363;
    stroke-width: 0.25px;
}

.day-ticks {
    height: calc(var(--scale) * 540px);
    width: calc(var(--scale) * 540px);
}

.day-ticks-circle {
    fill: transparent;
    stroke: #555e66;
    stroke-width: 0.125px;
}

.hour-big-ticks-circle {
    fill: transparent;
    stroke: #555e66;
    stroke-width: 3.5px;
}

.hour-small-ticks-circle {
    fill: transparent;
    stroke: #555e66;
    stroke-width: 2px;
}

.moon-light {
    fill: #dceaff;
}

.moon-shadow {
    fill: #192029
}

.daySpoke {
    stroke-width: 0.5px;
    stroke: #555e66;
}

#sector-day {
    fill: #dceaff
}

#sector-night {
    fill: #192029
}

#sector-c-dawn {
    fill: #88a6d4
}

#sector-n-dawn {
    fill: #4574bc
}

#sector-a-dawn {
    fill: #213c66
}

#sector-c-dusk {
    fill: #88a6d4
}

#sector-n-dusk {
    fill: #4574bc
}

#sector-a-dusk {
    fill: #213c66
}

#spoke-midday {
    stroke: #dea363;
    stroke-width: 0.75px;
}

#spoke-midnight {
    stroke: #dea363;
    stroke-width: 0.75px;
}

.moon-frame {
    position: absolute;
    width: calc(var(--scale) * 300px);
    height: calc(var(--scale) * 300px);
    border: calc(var(--scale) * 5px) solid #555e66;
    background: #192029;
    border-radius: 50%;

    display: flex;
    align-items: center;
    justify-content: center;
}

.celestial-bodies {
    width: 100%;
    height: 100%;

    clip-path: circle(50%);
}

.moon {
    position: absolute;
    width: calc(var(--scale) * 80px);
    height: calc(var(--scale) * 80px);
    background: #555e66;
    border-radius: 50%;
    border: solid calc(var(--scale) * 5px) #555e66;

    display: flex;
    align-items: center;
    justify-content: center;
}

.celestial-obj {
    position: absolute;
    border-radius: 50%;

    width:  var(--size);
    height: var(--size);

    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: var(--size);

    background: transparent;
    color: var(--color);
    text-shadow: 0px 0px calc(var(--scale) * 15px) var(--color);

    top: calc(var(--scale) * (var(--y) * 290.0px) - var(--size)/2);
    left: calc(var(--scale) * (var(--x) * 290.0px) - var(--size)/2);

    font-family: "newton";

    transform: rotate(calc(var(--az)* -1deg));
}

.celestial-star {
    position: absolute;
    border-radius: 50%;

    width:  var(--size);
    height: var(--size);

    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: var(--size);

    background: var(--color);

    top: calc(var(--scale) * (var(--y) * 290.0px) - var(--size)/2);
    left: calc(var(--scale) * (var(--x) * 290.0px) - var(--size)/2);
}

.sun-sky {
    --size:calc(var(--scale) * 50px);
    --color: #dea363;
}

.moon-sky {
    --size:calc(var(--scale) * 25px);
    --color: #dceaff;
}

.mercury-sky {
    --size: calc(var(--scale) * 15px);
    --color: #8d7cc3;
}

.venus-sky {
    --size: calc(var(--scale) * 15px);
    --color: #6aa84f;
}

.mars-sky {
    --size: calc(var(--scale) * 15px);
    --color: #cb0000;
}

.jupiter-sky {
    --size: calc(var(--scale) * 15px);
    --color: #e69138;
}

.saturn-sky {
    --size: calc(var(--scale) * 15px);
    --color: #434343;
}

.year-arrow{
    fill: #dea363;
}