body {
    color: #f2f5f4;
    background: #161618;
    font-family: Lucida Console, Consolas, monospace !important;
    -webkit-tap-highlight-color: rgba(210, 60, 34, 0.3);
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    margin: 0;
    padding: 0;
}

.container {
    text-align: center;
    margin: 3vh 0;
}

.headline {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 1.4vw;
    width: auto;
    margin: 0 auto;
}

.icon {
    display: inline-block;
    width: 1.9vw;
    height: 1.9vw;
    background-image: url('../favicon.svg');
    background-size: contain;
    background-repeat: no-repeat;
    margin-right: 0.5vw;
    vertical-align: middle;
}

.note-id-input {
    display: flex;
    width: 6.66em;
    padding: 0;
    margin: 0 auto;
    justify-content: center;
    align-items: center;
}

.note-id-input button {
    width: auto;
    padding: 0;
    margin: 0;
    border: none;
    cursor: pointer;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
}

.note-id-input button img {
    width: 1.9vw;
    height: 1.9vw;
}

.note-id-input button:hover {
    border: none;
}

.note-id-input button:active {
    border: none;
    top: 1.4px;
}

.note-id-input input {
    flex: 1;
    width: 6.66em;
    max-width: 6.66em;
    padding: 0.5vh;
    margin-left: 0.5vw;
    border: 1px solid #888888;
    border-radius: 5px;
    font-family: Lucida Console, Consolas, monospace !important;
    font-size: 1.1vw;
    color: #f2f5f4;
    background-color: #212121;
    box-sizing: border-box;
}

.note-id-input input:focus {
    border-color: #ee4d2e;
    outline: none;
}

#noteIdInput::placeholder {
    color: #ee4d2e;
    opacity: 1;
}

#noteIdInput {
    color: #f2f5f4;
}

h1 {
    font-size: 1.42vw;
    color: #f2f5f4;

}

h2 {
    font-size: 1.30vw;
    margin: 2vh 0;
    color: #f2f5f4;
}

h3 {
    font-size: 1.17vw;
    margin: 2vh 0;
    color: #f2f5f4;
}

h4 {
    font-size: 1.09vw;
    margin: 2vh 0;
    color: #f2f5f4;
}

ul {
    font-size: 0.85vw;
    margin: 1vh 0;
    padding-left: 20px;
    color: #f2f5f4;
}

li {
    margin: 0.5vh 0;
}

p {
    font-size: 0.9vw;
}

a:link,
a:visited {
    color: #f2f5f4;
    text-decoration: underline #ee4d2e;
    cursor: pointer;
}

a:hover {
    color: #ee4d2e;
}

a:active {
    color: #888888;
}

.message {
    color: #ee4d2e;
    font-weight: bold;
    font-size: 0.9vw;
    margin: 1.5vh auto 0 auto;
    text-align: center;
}

.countdown {
    font-size: 1.1vw;
    color: #f2f5f4;
}

.form-element {
    width: 60%;
    padding: 1vh;
    border: 1px solid #888888;
    border-radius: 5px;
    background-color: #212121;
    color: #f2f5f4;
    font-size: 0.9vw;
}

.checkbox-container {
    width: 60%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 1.5vh auto;
}

.checkbox-container label {
    margin: 0 1vh;
}

label {
    width: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #888888;
    font-size: 0.9vw;
    cursor: pointer;
    margin: 0 auto;
}

.custom-checkbox {
    position: absolute;
    left: -9999px;
}

.checkbox-custom {
    display: inline-block;
    cursor: pointer;
    width: 0.6vw;
    height: 0.6vw;
    border: 2px solid #f2f5f4;
    border-radius: 50%;
    background-color: #212121;
    margin-right: 1vh;
    position: relative;
}

.custom-checkbox:checked+.checkbox-custom {
    border: 2px solid #ee4d2e;
    background-color: #ee4d2e;
}

/* .custom-checkbox:focus+.checkbox-custom {
    border: 2px solid #ee4d2e;
}
*/
label:focus-within {
    text-decoration: underline #ee4d2e;
}



.inline-inputs {
    display: flex;
    justify-content: space-between;
    width: 60%;
    margin: 0 auto 1.5vh auto;
}

.duration-select {
    width: 49%;
    cursor: pointer;
    padding: 1vh;
    border: 1px solid #888888;
    border-radius: 5px;
    background-color: #212121;
    font-family: Lucida Console, Consolas, monospace !important;
    font-size: 0.9vw;
    box-sizing: border-box;
}

.duration-select:focus {
    border-color: #ee4d2e;
    outline: none;
}

.password-input {
    width: 49%;
    border: 1px solid #888888;
    border-radius: 5px;
    background-color: #212121;
    font-family: Lucida Console, Consolas, monospace !important;
    color: #f2f5f4;
    font-size: 0.9vw;
    padding: 1vh;
    box-sizing: border-box;
}

.password-input:focus {
    border-color: #ee4d2e;
    outline: none;
}

.button-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 2vh;
}

button {
    background-color: #212121;
    border: 1px solid #888888;
    color: #f2f5f4;
    width: 60%;
    padding: 1vh;
    margin: 1.5vh auto;
    border-radius: 5px;
    font-family: Lucida Console, Consolas, monospace !important;
    cursor: pointer;
    position: relative;
}

button:hover {
    border: 1px solid #ee4d2e;
    color: #ee4d2e;
}

button:focus {
    border: 1px solid #ee4d2e;
    color: #ee4d2e;
    outline: none;
}

button:active {
    border: 1px solid #ee4d2e;
    color: #ee4d2e;
    top: 1.4px;
}

.open-note-form {
    display: flex;
    justify-content: space-between !important;
    width: 60%;
    margin: 0 auto 1.5vh auto;
}

.password-confirm {
    width: 49%;
    margin: 2vh 0;
    border: 1px solid #888888;
    border-radius: 5px;
    background-color: #212121;
    font-family: Lucida Console, Consolas, monospace !important;
    color: #f2f5f4;
    font-size: 1.1vw;
    padding: 1.4vh;
    box-sizing: border-box;
}

.password-confirm:focus {
    border-color: #ee4d2e;
    outline: none;
}

.open-pw {
    width: 49%;
    margin: 2vh 0;
    background-color: #212121;
    border: 1px solid #888888 !important;
    border-radius: 5px;
    color: #f2f5f4;
    font-family: Lucida Console, Consolas, monospace !important;
    font-size: 1.1vw;
    cursor: pointer;
    padding: 1.4vh;
    box-sizing: border-box;
}

.open {
    width: 100%;
    background-color: #212121;
    color: #f2f5f4;
    font-family: Lucida Console, Consolas, monospace !important;
    font-size: 1.1vw;
    cursor: pointer;
    padding: 1.4vh;
    margin: 2vh auto;
    position: relative;
}

.open:hover,
.open-pw:hover {
    background-color: #212121;
    border-color: #ee4d2e !important;
    color: #ee4d2e;
}

.open:focus,
.open-pw:focus {
    background-color: #212121;
    border-color: #ee4d2e !important;
    color: #ee4d2e;
    outline: none;
}

.open:active,
.open-pw:active {
    background-color: #212121;
    border-color: #ee4d2e !important;
    color: #ee4d2e;
    top: 1.4px;
}

.cancel {
    background-color: #212121;
    color: #888888;
    font-family: Lucida Console, Consolas, monospace !important;
    font-size: 1.1vw;
    cursor: pointer;
    padding: 1.4vh;
    margin: 2vh auto;
    position: relative;
}

.cancel:hover {
    background-color: #212121;
    color: #ee4d2e;
}

.cancel:focus {
    background-color: #212121;
    color: #ee4d2e;
    outline: none;
}

.cancel:active {
    background-color: #212121;
    color: #ee4d2e;
    top: 1.4px;
}

.view-copy {
    background-color: #212121;
    border: 1px solid #888888;
    text-decoration: underline #ee4d2e;
    color: #f2f5f4;
    border-radius: 5px;
    margin: 1vh 1vw 1vh 1vw;
    padding: 0.7vh;
    cursor: pointer;
    font-family: Lucida Console, Consolas, monospace !important;
    font-size: 0.9vw;
    font-weight: normal;
    position: relative;
    display: inline-block;
    width: auto;
}

.view-copy:hover {
    background-color: #212121;
    border: 1px solid #ee4d2e;
    color: #f2f5f4;
}

.view-copy:focus {
    background-color: #212121;
    border: 1px solid #ee4d2e;
    color: #f2f5f4;
    outline: none;
}

.view-copy:active {
    background-color: #212121;
    border: 1px solid #ee4d2e;
    color: #ee4d2e;
    top: 1.4px;
}

.note-links {
    margin: 1.4vh auto 0 auto;
    text-align: center;
}

.delete {
    background-color: #212121 !important;
    border: 1px solid #888888 !important;
    color: #888888 !important;
    text-decoration: none !important;
    border-radius: 5px;
    margin: 0px 1vw 1vh 1vw;
    padding: 0.7vh;
    cursor: pointer;
    font-family: Lucida Console, Consolas, monospace !important;
    font-size: 0.9vw;
    font-weight: normal;
    position: relative;
    display: inline-block;
    width: auto;
}

.delete:hover {
    background-color: #212121 !important;
    border: 1px solid #ee4d2e !important;
    color: #f2f5f4 !important;
}

.delete:focus {
    background-color: #212121 !important;
    border: 1px solid #ee4d2e !important;
    color: #f2f5f4 !important;
    outline: none;
}

.delete:active {
    background-color: #212121 !important;
    border: 1px solid #ee4d2e !important;
    color: #ee4d2e !important;
    top: 1.4px;
}

textarea {
    width: 60%;
    margin: 1.4vw auto 0 auto;
    padding: 1vh;
    border: 1px solid #ee4d2e;
    border-radius: 5px;
    background-color: #212121;
    font-size: 0.9vw;
    box-sizing: border-box;
    resize: vertical;
}

textarea:focus {
    border-color: #ee4d2e;
    outline: none;
}

.note {
    width: 60%;
    padding: 1vh;
    border: 1px solid #ee4d2e;
    border-radius: 5px;
    background-color: #212121;
    color: #f2f5f4;
    font-size: 0.9vw;
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
    margin: 1.4vw auto 1.5vh auto;
    box-sizing: border-box;
    white-space: pre-wrap;
    overflow-wrap: break-word;
    position: relative;
}

.code {
    width: 60%;
    padding: 1vh 0vw;
    border: 1px solid #ee4d2e;
    border-radius: 5px;
    background-color: #212121;
    color: #f2f5f4;
    font-size: 0.9vw;
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
    margin: 1.4vw auto 1.5vh auto;
    box-sizing: border-box;
    text-align: left;
    overflow: auto;
    white-space: pre-wrap;
    position: relative;
}

.content {
    width: 60%;
    padding: 2vh;
    border: 1px solid #ee4d2e;
    border-radius: 5px;
    background-color: #212121;
    color: #f2f5f4;
    -webkit-user-select: text;
    -moz-user-select: text;
    user-select: text;
    margin: 1.4vw auto;
    box-sizing: border-box;
    position: relative;
}

.code-content {
    padding-left: 5px;
    padding-right: 5px;
    counter-reset: line;
}

.code-content>div {
    display: flex;
    /*    align-items: center;  Center align items vertically */
    margin-bottom: 5px;
    border-bottom: 1px dotted #888888;
    padding-bottom: 2px;
}

.code-content>div::before {
    content: counter(line);
    counter-increment: line;
    width: auto;
    text-align: right;
    color: #888888;
    user-select: none;
    pointer-events: none;
}

.code-content>div span {
    margin-left: 10px;
}

.expiration-date,
.not-self-destruct {
    color: #888888;
    font-size: 0.7vw;
    text-align: center;
}

.self-destruct {
    color: #f2f5f4;
    font-size: 0.7vw;
}

.footer-content h2 {
    text-align: center;
}

.footer-content p {
    text-align: center;
}

.footer-content {
    z-index: 9999;
    display: none;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    /*    height: 50%;  set fixed height */
    background: #161618;
    border-top: 1px solid #888888;
    padding: 20px;
    transform: translateY(100%);
    /* Start off-screen */
}

#ftr:target {
    display: block;
    transform: translateY(0);
}

.footer,
.footer-open {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    text-align: center;
    background: #161618;
    color: #888888;
    display: flex;
    justify-content: space-between;
    padding: 0.8vh;
}

.footer {
    border-top: 1px solid #888888;
}

.footer-open {
    z-index: 10000;
}

.footer-menu a {
    color: #888888;
    text-decoration: underline #ee4d2e;
    cursor: pointer;
    text-align: center;
    padding: 0.8vh 0.33vw;
    transition: color 0.3s ease;
}

.footer-menu a:hover {
    color: #f2f5f4;
}

.footer-menu a:active {
    color: #ee4d2e;
    transition: color 0s ease;
}

.footer-menu a:visited {
    color: #888888;
}

.footer-date,
.footer-menu,
.footer-time {
    flex: 1;
    font-size: 0.9vw;
}

.footer-date {
    text-align: left;
}

.footer-menu {
    text-align: center;
}

.footer-time {
    text-align: right;
}



@media (orientation: portrait) {
    body {
        font-size: 3vw;
    }

    .container {
        margin: 3vh 0;
    }

    .headline {
        height: 3.5vw;
    }

    .icon {
        width: 5.5vw;
        height: 5.5vw;
    }

    h1 {
        font-size: 4.2vw;
    }

    h2 {
        font-size: 3.5vw;
        margin: 2vh 0;
    }

    h3 {
        font-size: 3.2vw;
        margin: 2vh 0;
    }

    h4 {
        font-size: 3.1vw;
        margin: 2vh 0;
    }

    ul {
        font-size: 2.9vw;
        margin: 1vh 0;
        padding-left: 20px;
    }

    li {
        margin: 0.5vh 0;
    }

    p {
        font-size: 3vw;
    }

    .message {
        font-size: 2.9vw;
    }

    .form-element {
        width: 90%;
        font-size: 3vw;
        padding: 0.7vh;
    }

    .checkbox-container {
        width: 90%;
        margin: 1vh auto;
/*        flex-direction: column;  Stack checkboxes vertically */
/*        align-items: center;  Center items */
    }

    .checkbox-container label {
        margin: 0.5vh 0;
    }

    .checkbox-custom,
    .custom-checkbox:checked+.checkbox-custom {
        width: 1.6vw;
        height: 1.6vw;
        margin-right: 0.8vh;
    }

    label {
/*        width: 100%; for column layout on portrait-mode within checkbox-container */
        font-size: 2.9vw;
    }

    .inline-inputs {
        width: 90%;
        margin: 0 auto 1.5vh auto;
    }

    .duration-select {
        width: 49%;
        padding: 0.7vh;
        font-size: 3vw;
    }

    .password-input {
        width: 49%;
        padding: 0.7vh;
        font-size: 3vw;
    }

    .button-container {
        margin-top: 0.7vh;
    }

    button {
        width: 90%;
    }

    button,
    .view-copy,
    .delete {
        font-size: 3vw;
        padding: 0.7vh;
    }

    .open-note-form {
        width: 90%;
        margin: 0 auto 1.5vh auto;
    }

    .password-confirm {
        width: 49%;
        font-size: 3.2vw;
        padding: 1.4vh;
    }

    .open-pw {
        width: 49%;
        font-size: 3.2vw;
        padding: 1.4vh;
    }

    .open,
    .cancel {
        font-size: 3.2vw;
    }

    textarea {
        width: 90%;
        font-size: 3vw;
        padding: 0.7vh;
        margin: 3.5vw auto 0 auto;
    }

    .note,
    .code,
    .content {
        width: 90%;
        font-size: 3vw;
        padding: 0.7vh 1vw;
        margin: 3.5vw auto 0.5vh auto;
    }

    .expiration-date,
    .self-destruct,
    .not-self-destruct {
        font-size: 1.9vw;
    }

    .note-id-input {
        padding: 0 1vh;
        margin: 0 auto;
    }

    .note-id-input input {
        padding: 0.5vh;
        margin-left: 0.5vw;
        font-size: 3.2vw;
    }

    .note-id-input button {
        font-size: 3vw;
        padding: 0.7vh 0;
        margin: 0;
    }

    .note-id-input button img {
        width: 5.5vw;
        height: 5.5vw;
    }

    .footer-date,
    .footer-menu,
    .footer-time,
    .close-footer {
        font-size: 2.4vw;
    }
}