* {
    font-family: 'Nunito', sans-serif;
}

body {
    margin: 0px;
}

#background {
    background-color: whitesmoke;
    background-image: url("img/ladovska_zima_background.png");
    background-position: top;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    position: fixed;
    z-index: -1;
}

input:focus {
    outline: none;
}

.display-none {
    display: none;
}

#content-container {
    background-color: whitesmoke;
    margin: auto;
    width: 600px;
    text-align: center;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.7);
    padding-left: 20px;
    padding-right: 20px;
    padding-bottom: 50px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
    margin-bottom: 50px;
}

#goback {
    padding-top: 20px;
    text-align: left;
}

#goback a {
    color: darkgreen;
    font-weight: bold;
    text-decoration: none;

    transition-property: color;
    transition-duration: 0.1s;
}

#goback i {
    margin-right: 10px;
}

#goback a:hover {
    color: darkred;
}

#days_remaining {
    display: inline-block;
    box-shadow: 0px 0px 20px black;
    background-color: rgba(139, 0, 0, 0.8);
    color: white;
    padding: 10px;
    font-weight: bold;
    border-radius: 10px;
    font-size: 1.2em;
    position: absolute;
    right: 0px;
    top: 10px;
    text-align: center;
    transform: rotate(45deg);
    transform-origin: left top;
}

#content {
    margin-top: 30px;
    margin-bottom: 50px;
}

#form-create-wishlist, #form-add-user, #form-update-wishlist {
    width: 200px;
    display: inline-block;
    text-align: left;
}

#form-create-wishlist .form-input, #form-add-user .form-input, #form-update-wishlist .form-input {
    width: 100%;
}

.form-input {
    display: block;
    margin-bottom: 20px;
    padding: 3px 5px;
    border: 1px solid darkgreen;
    border-radius: 100px;
    height: 16px;

    transition-property: border-color;
    transition-duration: 0.2s;
}

.form-input:focus {
    border-color: darkred;
}

.wishlist_invite {
    min-width: 100%;
    min-height: 100px;
    border-radius: 10px;
    outline: none;
    padding: 5px;
}

.button {
    margin-top: 20px;
    margin-bottom: 20px;
    padding: 3px 40px;
    border: none;
    border-radius: 100px;
    color: white;
    text-decoration: none;
    font-size: 1em;

    background-color: darkgreen;
    box-shadow: 2px 2px 2px #8080805e;
    transition-property: background-color, box-shadow;
    transition-duration: 0.2s;
}

button.button, input.button {
    height: 28px;
}

.button:hover {
    cursor: pointer;
    background-color: darkred;
    box-shadow: 3px 3px 3px #80805e;
}

.button:focus {
    outline: none;
}

.button-group-start {
    border-bottom-right-radius: 0px;
    border-top-right-radius: 0px;
}

.button-group-end {
    border-bottom-left-radius: 0px;
    border-top-left-radius: 0px;
}

.button-light {
    background: transparent;
    border: none;
    color: darkgreen;
    text-decoration: underline;
    font-size: 0.85em;
    padding: 0px;
    margin: 0px;

    transition-property: color, font-style, font-weight;
    transition-duration: 0.1s;
}

.button-light:hover {
    cursor: pointer;
    color: darkred;
    font-weight: bold;
    font-style: italic;
}

.button-light:focus {
    outline: none;
}

.button-light-divider {
    display: inline;
    margin-left: 10px;
    margin-right: 10px;
    height: 1em;
    border-left: 1px solid lightgray;
}

#add-wish-name, #edit-wish-name {
    display: inline-block;
    margin-bottom: 20px;
    padding: 3px 5px;
    border: 1px solid darkgreen;
    border-right: none;
    border-radius: 100px;
    border-top-right-radius: 0px;
    border-bottom-right-radius: 0px;
    height: 16px;
    width: 300px;
}

#add-wish-name:focus, #edit-wish-name:focus {
    border-color: darkred;
}

#add-wish-submit, #edit-wish-name-submit {
    display: inline-block;
    margin-bottom: 20px;
    margin-left: 0px;
    margin-right: 0px;
    padding: 3px 5px;
    padding-right: 10px;
    border: none;
    border-radius: 100px;
    border-top-left-radius: 0px;
    border-bottom-left-radius: 0px;
    height: 24px;
    color: white;
    background-color: darkgreen;

    transition-property: color;
    transition-duration: 0.2s;
}

#add-wish-submit:hover, #edit-wish-name-submit:hover {
    cursor: pointer;
    background-color: darkred;
}

.user {
    margin-top: 40px;
}

.user-name {
    margin-bottom: 0px;
    padding-left: 5px;
    text-align: left;
}

.user-name-divider {
    margin: 0px;
    padding: 0px;
    width: 100%;
    border-bottom: 1px dashed darkgray;
}

.user-wishes {
    margin-left: 35px;
    text-align: left;
    font-style: italic;
}

.user-wish {
    margin-top: 15px;
    padding-left: 5px;
    border-bottom: 1px dashed lightgray;

    transition-property: border;
    transition-duration: 0.1s;
}

.user-wish:hover {
    border-bottom: 1px solid darkred;
}

.user-wish-label {
    float: left;
    text-align: left;
}

.user-wish-actions {
    text-align: right;
    float: right;
}

.user-wish-claimed .user-wish-label {
    color: darkgray;
    text-decoration: line-through;
}

.user-wish-claimed .user-wish-label a {
    color: darkgray;
}

.user-wish-claimed-by-me .user-wish-label {
    color: darkred;
    text-decoration: line-through;
}

.user-wish-claimed-by-me .user-wish-label a {
    color: darkred;
}

.user-has-no-wishes {
    color: darkgray;
}

.user-message {
    font-style: italic;
    font-weight: lighter;
    color: rgb(53, 53, 53);
    text-align: left;
    margin: 5px 0px 5px 20px;
    font-size: 0.9em;
    word-wrap: break-word;
}

.user-my-message {
    width: 300px;
    display: inline-block;
    margin: 0px;
    word-wrap: break-word;
}

.edit-user-message {
    width: 400px;
    min-height: 100px;
    border-radius: 10px;
    outline: none;
    padding: 5px;
}

.gap {
    margin-top: 75px;
}

.wishlist-users {
    border-collapse: collapse;
    width: 100%;
    text-align: left;
}

.wishlist-user {
    border-bottom: 1px dashed lightgray;

    transition-property: border;
    transition-duration: 0.1s;
}

.wishlist-user:hover {
    border-bottom: 1px solid darkred;
}

.wishlist-user td {
    padding-top: 20px;
}

.wishlist-user td:last-child {
    width: 40px;
}

.wishlist-user-name {
    padding-left: 5px;
}

.edit-wish-image-container {
    width: calc(100% - 20px);
    background-color: white;
    border: 10px solid white;
    text-align: center;
}

.edit-wish-image-container span {
    color: darkgray;
    font-style: italic;
}

.edit-wish-image-image {
    width: 100%;
    diplay: block;
    background-color: white;
}

.edit-wish-image-delete {
    text-align: right;
    display: block;
    margin-top: 20px;
}

.edit-wish-image-upload-form {
    text-align: right;
    display: block;
    margin-top: 20px;
}

.user-wish-image, .user-wish-name, .user-wish-delete, .user-delete, .button-pictogram {
    cursor: pointer;
    color: darkgreen;
    margin-right: 5px;
    position: relative;
    top: 2px;

    transition-property: color;
    transition-duration: 0.1s;
}

.user-wish-image:hover, .user-wish-name:hover, .user-wish-delete:hover, .user-delete:hover, .button-pictogram:hover {
    color: darkred;
}

#wish-image-overlay {
    background-color: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
}

#wish-image-overlay:hover {
    cursor: url("img/close_cursor.png"), auto;
}

#wish-image-container {
    background-color: white;
    border: 10px solid white;
    max-width: calc(90% - 20px);
    max-height: calc(90% - 20px);
    display: grid;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#wish-image-image {
    width: 100%;
}

#footer {
    font-size: 0.72em;
    color: darkgray;
    width: 100%;
    border-top: 1px dashed darkgray;
    margin-top: 200px;
    padding-top: 20px;
}

#footer-left {
    float: left;
}

#footer-right {
    float: right;
}

.dialog-container {
    background-color: whitesmoke;
    border: 2px solid darkred;
    border-radius: 10px;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.8);
}

.dialog-container-image {
    background-color: white;
    box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.8);
}

.dialog-container-error {
    color: darkred;
    border-color: darkred;
}

.dialog-container .wish-name {
    font-style: italic;
}

.dialog-content {
    padding: 20px;
}

.dialog-title {
    font-weight: bold;
    font-size: 1.1em;
    border-bottom: 1px dashed darkgray;
    padding: 20px;
    padding-top: 10px;
    padding-bottom: 7px;
}

.dialog-actions {
    text-align: right;
    border-top: 1px dashed darkgray;
    padding: 20px;
    padding-top: 7px;
    padding-bottom: 7px;
}

#snow-canvas{
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}