html, body {
    margin: 0;
    padding: 0;
    height: 100%;
    font-family: 'IBM Plex Mono', monospace;
}

#language-selection {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: center; /* Align vertically center */
    align-items: center; /* Align horizontally center */
    height: 100vh; /* Take full height of the viewport */
    text-align: center;
}

#intro-text {
    margin-bottom: 20px; /* Space between text and flags */
    color: #333; /* Text color, adjust as needed */
}

#tribute-text {
    position: fixed;
    right: 24px; /* Same distance from the left as the image from the right */
    bottom: 24px; /* Same distance from the bottom as the image */
    color: #333; /* Adjust the color as needed */
    font-size: 12px; /* Adjust the font size as needed */
    text-align:right;
}
#tribute-text a{
    color: #333; /* Adjust the color as needed */
}

.flags-container {
    display: flex;
    flex-direction: row; /* Align the flags in a row */
    justify-content: center; /* Center flags row horizontally */
    margin-bottom: 20px; /* Ensure space between the flags and the info box */
}

.language-flag {
    margin: 0 5px; /* Space between flags */
    cursor: pointer;
    height: auto; /* Maintain aspect ratio */
}

#info-text{
    text-align: center;
    font-size: 10px;
    margin-top: 4px;
}

#content {
    display: none;
    justify-content: center; /* Center horizontally */
    align-items: center; /* Center vertically */
    height: 100vh;
    width: 100vw;
    box-sizing: border-box; /* Include padding and borders in the width/height */
    position: relative; /* Needed for absolute positioning within */
    background-color: #3C70AB; /* Windows-ish blue background */
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -o-user-select: none;
    user-select: none;
}

#screen {
    white-space: pre;
    position: relative;
    font-family: Liberation Mono, DejaVu Sans Mono, Courier New, monospace;
    font-weight: bold;
    font-size: 15px;
    line-height: normal;
}

#vga {
    display: none; /* hide during language selection */
    @media only screen and (min-width: 700px){
        max-width: calc(100% - 24px); /* Reduces the maximum width by 48px to account for padding */
        max-height: calc(100vh - 24px); /* Reduces the maximum height by 48px to account for padding */
    }
    @media only screen and (max-width: 700px){
        max-width: 100%; /* Reduces the maximum width by 48px to account for padding */
        max-height: calc(100vh - 24px); /* Reduces the maximum height by 48px to account for padding */
    }
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    border: 2px solid rgba(0,0,0,.1); /* keeping the border smoother */
    border-radius: 4px; /* for smoother corners */
    width: auto; /* Adjusts width automatically to maintain aspect ratio */
    height: auto; /* Adjusts height automatically to maintain aspect ratio */
    aspect-ratio: 4 / 3; /* Maintains 4:3 aspect ratio */
    touch-action: none; /* Prevent panning on touch devices */
}

#screen_container:fullscreen {
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: auto !important;
    height: 100% !important;
}

#logo {
    position: fixed; /* Fixed position relative to the viewport */
    bottom: 24px; /* 24px from the bottom */
    right: 24px; /* 24px from the right */
    width: 56px; /* Width of the image */
    height: 56px;
}

#action-pane {
    @media only screen and (max-width: 700px){
        display:none;
    }
    position: absolute;
    right: 24px; /* 24px from the right */
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 56px; /* Width of the image */
    height: 56px;
    gap: 10px; /* Adjust the gap between items as needed */
}

.action-icon {
    cursor: pointer;
    width: 40px; /* Adjust based on your icon size */
    height: 40px; /* Adjust based on your icon size */
}

.tooltip {
    position: relative;
    display: inline-block;
    vertical-align: middle;
}

.tooltip .tooltiptext {
    font-size:11px;
    visibility: hidden;
    width: 150px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    /* Position the tooltip to the left of the image */
    position: absolute;
    z-index: 1;
    top: 50%;
    right: 100%; /* Aligns tooltip to the left of the image */
    margin-right: 10px; /* Add some space between the tooltip and the image */
    transform: translateY(-50%); /* Center vertically */
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}

#keyboardIcon{
    position: fixed;
    display: none; /* Initially hidden */
    bottom: 24px; /* Adjust as needed */
    left: 24px; /* Adjust as needed */
    width: 56px; /* Adjust based on the size of your icon */
    height: 56px; /* Adjust based on the size of your icon */
    cursor: pointer;
}

.phone_keyboard {
    width: 0;
    height: 0;
    resize: none;
    position: absolute;
    opacity: 0;
    left: -9999em;
    top: 0;
    z-index: -10;
    white-space: nowrap;
    overflow: hidden;
}

#spinner, #end {
    display: none;
}

#football {
    max-width:84px;
    /* visibility: hidden; Initially hidden */
}

@-moz-keyframes spin {
    from { -moz-transform: rotate(0deg); }
    to { -moz-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
    from { -webkit-transform: rotate(0deg); }
    to { -webkit-transform: rotate(360deg); }
}
@keyframes spin {
    from {transform:rotate(0deg);}
    to {transform:rotate(360deg);}
}

#football.start-animation {
    animation: spin 3s infinite linear; /* Apply the animation */
}
