.skeleton_button,
.skeleton_option,
.skeleton_block,
.skeleton_image,
.skeleton_title,
.skeleton_more,
.skeleton_line {
    animation: skeleton-loading 1s linear infinite alternate;
}

@keyframes skeleton-loading {
    0%   { background-color: hsl(200, 20%, 80%); }
    100% { background-color: hsl(200, 20%, 95%); }
}

.skeleton_title {
    float: left;
    width: 24%;
    height: 3rem;
    margin-bottom: 1%;
}

.skeleton_more {
    float: right;
    width: 15%;
    height: 3rem;
    margin-bottom: 1%;
}

.skeleton_button {
    width: 50%;
    height: 3rem;
    margin-bottom: 1rem;
    border-radius: 0.25rem;
}

.skeleton_option {
    width: 50%;
    height: 2rem;
    margin-bottom: 3rem;
}
.skeleton_option.long {
    width: 80%;
}

.skeleton_line {
    width: 100%;
    height: 2rem;
    margin-bottom: 1rem;
}
.skeleton_line.short {
    width: 80%;
}

.skeleton-wrapper {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 1%;
}

.skeleton_block {
    width: 24%;
    flex: 0 0 24%; 
    height: 20em;
    background-color: hsl(200, 20%, 85%);
    border-radius: 4px;
}


.skeleton_block.long {
    height: 25em;
}


@media only screen and (max-width: 600px){
    .skeleton_block {
        flex: 0 0 48%;
        margin-bottom: 2%;
    }
}

.loading_area {
    width: 100%;
    position: absolute;
    top: 10%;
    z-index: 99;
}

.loading_area .loader {
    margin: 0 auto;
    border: 8px solid #f3f3f3;
    border-radius: 50%;
    border-top: 8px solid #015FB9;
    width: 6em;
    height: 6em;
    animation: spin 2s linear infinite;
}

@keyframes spin {
    0%   { transform: rotate(0); }
    100% { transform: rotate(360deg); }
}

@media only screen and (max-width: 600px){
    .loading_area .loader {
        width: 5em;
        height: 5em;
    }
}

select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.modal {
    inset: 0%;
}