:root
{
    --fs-xl: 2rem;
    --fs-700: 1.6rem;
    --fs-600: 1.3rem;
    --fs-500: 1.1rem;
    --fs-400: 1rem;
    --fs-300: 0.8rem;

    --guesscontainer-default-width: 35vw;
    --guesscontainer-expanded-width: 50vw;
    --guesscontainer-minimised-width: 15vw;
    --guesscontainer-max-height: 95vh;

    --makeGuess-Button-Height: 4vh;

    --guessImageButtonCircle: 26px;
    --guessImageButtonSize: 24px;

    --placedPinSize: 42px;
}

html,body 
{
    overflow: hidden;
    height: 100vh;
    top:0;
    margin: 0;
    padding: 0;
    background-color: #000000;
    font-family: "Roboto", sans-serif;
    font-weight: 400;
    font-size: calc(16px + .7vmin);
    color: #ffffff;
}

p,h1, h2, h3, h4, h5, h6 {
    margin: 0;
}

.navbar 
{
    display: flex;
    align-items: center;
    overflow: hidden;
    background-color: #000000; 
    position: fixed; 
    width: 100vw; 
    height: 10vh;
}

.navbar a
{
    display: inline-block;
}

#website-logo
{
    display: block;
    pointer-events: none;
    padding: 1%;
    height: auto;
    width: min(60vw,45vw);
    max-width: 250px;
    min-width: 130px;
    box-sizing: border-box;
}

.main-page-content
{
    position: relative;
    overflow: hidden;
    display: block;
    margin-top: 10vh;
    height: 100%;
    width: 100%;
}
#openseadragon
{
    overflow: hidden;
    height: 100%;
    width: 100%; 
}

.round-info-container
{
    display: flex;
    flex-direction: column;
    overflow: hidden;
    flex: 0 0 40%; 
    background-color: lightgreen; 
    justify-content: flex-start;
    flex-wrap: nowrap;
}
#round-info-tab
{
    display: flex;
    flex-direction: row;
    align-items: center;
    position: fixed;
    top: 12%;
    right: 0;
    width: auto;
    height: auto;
    background-color: #333333c9;
    padding: 0.1rem 0.5rem 0.1rem 0.3rem;
    border: 0.2rem solid #333333;
    border-right: none;
    border-top-left-radius: 1rem;
    border-bottom-left-radius: 1rem;
}
.round-info-tab-item
{
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-right: 5px;
    padding: 5px;
}

.round-info-tab-item-header
{
    font-size: var(--fs-400);
}

#round-info-tab-round-info
{
    font-size: var(--fs-600);
}
#round-info-tab-score-info
{
    font-size: var(--fs-600);
}

#guess-image-container
{
    height: auto;
}

#guessImage
{
    height: auto;
     width: 100%;
    box-sizing: border-box;
    border: 2px solid #000000;
    box-shadow: 0px 0px 5px 2px rgba(0, 0, 0, 0.39);
    transition: transform 0.3s ease-in-out;
}


#guessContainer
{
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;

    width: auto;
    height: auto;
    
    max-width: var(--guesscontainer-default-width);
    max-height: var(--guesscontainer-max-height);

    padding-right: 0.4%;
    padding-bottom: 0.4%;
    background-color: rgba(255, 0, 0, 0);
    transition: all 0.3s ease;
    transform-origin: bottom right; 
}

#guessContainer.expanded
{
    width: auto;
    height: auto;
    max-width: var(--guesscontainer-expanded-width);
    max-height: var(--guesscontainer-max-height);
    overflow: auto;
}

#guessContainer.minimised
{
    width: auto;
    height: auto;
    max-width: var(--guesscontainer-minimised-width);
    max-height: var(--guesscontainer-max-height);
}


#guessImageSizeControlsParent
{
    position: absolute;
    top: 0;
    left: 0;
    background-color: #2e2e2e2d;
    width: fit-content;
    display: flex;
    margin: 2px 0 0 2px;
}

#makeGuess
{
    display: flex;
    justify-content: center;
    align-items: center;
    height: var(--makeGuess-Button-Height);
    width: 100%;
    padding: 1%;
    background-color: rgb(0, 0, 0);
    border-radius: 10px;
    border: none;
    color: #ffffff;
    pointer-events: none;
    box-sizing: border-box;
    text-wrap: nowrap;

    text-align: center;
    white-space: nowrap;
    overflow: hidden;

    font-size: var(--fs-400);
}

#makeGuess.pinHasBeenPlaced
{
    background-color: rgb(0, 255, 13);
    cursor: pointer;
    pointer-events: auto;
    color: #000000;
}

.guessImageSizeControls
{
    position: relative;
    height: var(--guessImageButtonCircle);
    width: var(--guessImageButtonCircle);
    background: none;
    background-color: #ffffff;
    border-radius: 50%;
    border: none;
    cursor: pointer;
    outline: none;
    margin: 2px 0.5px 0 3px; 
    padding: 0;

    display: flex;
    align-items: center;
    justify-content: center;
}

.guessImageSizeControls img
{
    height: var(--guessImageButtonSize);
    width: var(--guessImageButtonSize);
}

.dotted-line
{
    background-color: brown;
}

#timer-container
{
    position: absolute;

    width: auto;
    height: auto;

    margin-top: 15px;
    left: 50%;
    transform: translateX(-50%);

    pointer-events: none;

    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

#daily-id
{
    font-size: var(--fs-300);
    font-style: italic;
}

#round-timer
{
    border-radius: 5px;
    box-sizing: border-box;
    background-color: rgba(0, 0, 0, 0.425);
}

#round-timer-svg
{
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

#round-timer-path
{
    stroke-width: 10px;
    stroke-dasharray: 10 5;
    stroke-dashoffset: 0;
    stroke: rgb(255, 0, 0);
}

#round-timer-text
{
    padding: .25rem;
    font-size: var(--fs-500);
}


#guess-interface
{
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    z-index: 3;
}

#guess-interface.hidden
{
    top: 0;
    left: 0;
    position: absolute;
    width: 100%;
    padding-top: 10vh;
}

#round-end-interface
{
    z-index: 3;
    top: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    height: 100%;
    width: 100%;
    pointer-events: none;
}

#round-end-bottom-bar
{
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 15%;
    pointer-events: auto;

    display: flex;
    flex-direction: row;
    align-content: center;
    justify-content: center;
    align-items: center;
    background-color: rgb(0, 0, 0);
    color: white;
}

#round-end-bottom-bar-left-spacer
{
    flex: 1; 
    height: 100%;
    width: auto;
}

#round-end-info
{
    flex: 1; 
    display: flex;
    justify-content: space-evenly;
    background-color: rgb(0, 0, 0); 
    height: 100%;
}


.round-info-box
{
    flex: 1;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

#round-end-distance-from-target
{
    white-space: nowrap;
    font-size: var(--fs-600);
}

#btn-next-round
{
    width:50%;
    height: 60%;
    background-color: rgba(0, 128, 0, 0.822);
    color: #ffffff;
    border: none;
    box-sizing: border-box;
    border: 2px solid #3cff00;
    border-radius: 20px;
    box-shadow: 0px 0px 5px 2px rgba(94, 255, 0, 0.39);
    cursor: pointer;
    text-align: center;
    font-size: var(--fs-400);
}

#btn-view-results
{
    width:50%;
    height: 60%;
    margin-right: 7.5%;
    background-color: rgba(0, 128, 0, 0.822);
    color: #ffffff;
    border: none;
    box-sizing: border-box;
    border: 2px solid #3cff00;
    border-radius: 20px;
    box-shadow: 0px 0px 5px 2px rgba(94, 255, 0, 0.39);
    cursor: pointer;
    text-align: center;
    font-size: var(--fs-400);
}

#round-end-action-container
{
    flex: 1;
    display: flex;
    height: 100%; 
    width: auto;
    justify-content: center;
    align-items: center;
}

#round-end-round-number-display
{
    position: absolute;
    width: auto;
    height: auto;

    margin-top: 15px;
    padding: 0.4%;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.425);
    pointer-events: none;
    border-radius: 5px;
    box-sizing: border-box;
    font-size: var(--fs-400);
}

.hidden
{
    display: none !important;
}

footer
{
    display: flex;
    font-size: var(--fs-300);
    position: absolute;
    bottom: 0;
    text-wrap: nowrap;
}

footer a 
{
    font-size: var(--fs-300);
    color: #428bca;
    text-decoration: underline;
    cursor: pointer;
}

#footer-info-container
{
    padding: 0.3%;
    background-color: rgba(0, 0, 0, 0.308);
    border-top-right-radius: 20px;
    border: 1px;
}

#fullscreenGuessImageBackround:not(.hidden) {
    opacity: 1; 
}
#fullscreenGuessImageBackround
{
    overflow: hidden;
    position: absolute;
    width: 100vw;
    height: 100vh;
    background-color: #000000f5;
    z-index: 50;

    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0; 
}

#fullscreenGuessImageContainer
{
    width: 85%;
    height: 85%;
    position: relative;
    overflow: auto;
    transform-origin: center;
}

#fullscreenGuessImage
{
    width: 100%;
    height: 100%;
    position: absolute;
    object-fit: contain;
    transform-origin: right;
}

#gameDataStatusMessageContainer
{
    position: absolute; 
    top: 42%; 
    left: 50%; 
    transform: translate(-50%, -50%);
    font-size: var(--fs-400);
    display: flex;
    flex-direction: column;
    align-items: center;
    min-width: 80vw;
    gap: 1rem;
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

@keyframes fadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
#fullscreenGuessImageBackround.hidden {
    animation: fadeOut 0.1s ease forwards; 
}

#fullscreenGuessImageBackround:not(.hidden) {
    animation: fadeIn 0.1s ease forwards; 
}

.loader {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: inline-block;
    border-top: 3px solid #FFF;
    border-right: 3px solid transparent;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
  }
  
  @keyframes rotation {
    0% {
      transform: rotate(0deg);
    }
    100% {
      transform: rotate(360deg);
    }
  } 

 
 @keyframes dots-7ar3yq {
    20% {
       background-position: 0%   0%, 50%  50%,100%  50%;
    }
 
    40% {
       background-position: 0% 100%, 50%   0%,100%  50%;
    }
 
    60% {
       background-position: 0%  50%, 50% 100%,100%   0%;
    }
 
    80% {
       background-position: 0%  50%, 50%  50%,100% 100%;
    }
 }
 



/* Smartphones. */
@media only screen and (max-width: 700px) 
{
    :root
    {
        --guesscontainer-default-width: 40vw;
        --guesscontainer-expanded-width: 90vw;
        --guesscontainer-minimised-width: 20vw;
        --guesscontainer-max-height: 90vh; 
    }
    #round-end-bottom-bar
    {
        height: 20%; 
        flex-direction: column; 
        align-items: stretch;
    }
    #round-end-bottom-bar-left-spacer
    {
        flex: 0;
    }

    footer
    {
        display: none;
    }

    #makeGuess
    {
        font-size: var(--fs-300);
    }
}

@media only screen and (max-width: 767px) and (orientation: landscape)
{
    :root
    {
        --guesscontainer-default-width: 30vw;
        --guesscontainer-expanded-width: 45vw;
        --guesscontainer-minimised-width: 20vw;
        --guesscontainer-max-height: 90vh; 

        --makeGuess-Button-Height: 8vh;
    }

    #round-end-bottom-bar
    {
        height: 30%; 
    }
}

@media only screen and (min-width: 768px) and (max-width: 1023px)
 {
    :root
    {
        --guesscontainer-default-width: 35vw;
        --guesscontainer-expanded-width: 75vw;
        --guesscontainer-minimised-width: 20vw;
    }  
}
@media only screen and (min-width: 768px) and (max-width: 1023px) and (orientation: landscape)
 {
    :root
    {
        --guesscontainer-default-width: 30vw;
        --guesscontainer-expanded-width: 45vw;
        --guesscontainer-minimised-width: 18vw;
    }  
}

@media only screen and (min-width: 1200px) 
{
    :root
    {
        --guesscontainer-expanded-width: 55vw;
        --guesscontainer-default-width: 30vw;
        --guesscontainer-minimised-width: 15vw;
    }
}

@media only screen and (min-width: 1925px) 
{
    :root
    {
        --guessImageButtonCircle: 52px;
        --guessImageButtonSize: 42px;
    }
    #website-logo
    {
        max-width: 420px;
    }
}

@media screen and (min-width: 2560px) 
{
    :root
    {
        --fs-xl: 3rem;
        --fs-700: 2.5rem;
        --fs-600: 2rem;
        --fs-500: 1.7rem;
        --fs-400: 1.3rem;
        --fs-300: 1rem;

        --guesscontainer-expanded-width: 60vw;
        --guesscontainer-default-width: 20vw;
        --guesscontainer-minimised-width: 10vw;
    }
}