/*
Theme Name: Twenty Twenty-Five
Theme URI: https://wordpress.org/themes/twentytwentyfive/
Author: the WordPress team
Author URI: https://wordpress.org
Description: Twenty Twenty-Five emphasizes simplicity and adaptability. It offers flexible design options, supported by a variety of patterns for different page types, such as services and landing pages, making it ideal for building personal blogs, professional portfolios, online magazines, or business websites. Its templates cater to various blog styles, from text-focused to image-heavy layouts. Additionally, it supports international typography and diverse color palettes, ensuring accessibility and customization for users worldwide.
Requires at least: 6.7
Tested up to: 6.8
Requires PHP: 7.2
Version: 1.8
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive
Tags: one-column, custom-colors, custom-menu, custom-logo, editor-style, featured-images, full-site-editing, block-patterns, rtl-language-support, sticky-post, threaded-comments, translation-ready, wide-blocks, block-styles, style-variations, accessibility-ready, blog, portfolio, news
*/

* {
    margin: 0;
    padding: 0;
}

html, body {
    background-color: #fef7f3;
    font-family: "Parisienne", Helvetica, Arial, sans-serif;
    color: #111;
    min-height: 120%;
}

body.locked {
    overflow: hidden;
}

a {
    color: #0071db;
}

header {
    margin: 2em;
}

header img {
    display: block;
    margin: auto;
    width: 100%;
    max-width: 600px;
}

header h1 img {
    width: 90%;
}

.date {
    font-size: 0.8em;
    color: #888;
    display: block;
    text-align: center;
    margin-top: 2rem;
    font-weight: bold;
}

body > section {
    margin: 1em auto;
    padding: 0 1em;
    max-width: 900px;
    text-align: center;
}

p {
    margin-bottom: 1em;
}

h3 {
    margin: 2em 0 1em;
    font-size: 1.6em;
    font-weight: 600;
}

.button {
    margin-top: 1.3em;
    font-family: Mulish, Helvetica, Arial, sans-serif;
    border: 2px solid #b28b0d;
    border-radius: 0.5em;
    background-color: transparent;
    padding: 0.8em 2em;
    font-size: 1.4em;
    color: #493300;
    cursor: pointer;
}

.button:active {
    background-color: #fff3da;
    padding: 0.8em 2em;
}

input[type=file] {
    display: none;
}

.hidden {
    display: none!important;
}

#gallery {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    margin-bottom: 0.8em;
}

#gallery > li {
    height: 30vw;
    flex-grow: 1;
    position: relative;
}

#gallery li:last-child {
    max-width: 58%;
}

#gallery img {
    width: auto;
    min-width: 100%;
    height: 100%;
    max-height: 100%;
    object-fit: cover;
    vertical-align: bottom;
}

#gallery li:has([data-type="customVideo"])::after {
    display: block;
    position: absolute;
    top: 4px;
    left: 7px;
    width: 1.4em;
    height: 1.4em;
    content: '';
    background: url('../images/video-icon.svg') no-repeat center;
    background-size: contain;
}

.videoProcessingMessage {
    color: #fff;
    padding: 0 80px;
    text-align: center;
    font-size: 1.4em;
    line-height: 142%;
}

#spinner {
    display: inline-block;
    position: relative;
    width: 80px;
    height: 80px;
    transform: rotate(45deg);
    transform-origin: 40px 40px;
}

#spinner div {
    top: 32px;
    left: 32px;
    position: absolute;
    width: 32px;
    height: 32px;
    background: #ffe4d4;
    animation: heart 1.2s infinite cubic-bezier(0.215, 0.61, 0.355, 1);
}

#spinner div:after,
#spinner div:before {
    content: " ";
    position: absolute;
    display: block;
    width: 32px;
    height: 32px;
    background: #ffe4d4;
}

#spinner div:before {
    left: -24px;
    border-radius: 50% 0 0 50%;
}

#spinner div:after {
    top: -24px;
    border-radius: 50% 50% 0 0;
}

@keyframes heart {
    0% { transform: scale(0.95); }
    5% { transform: scale(1.1); }
    39% { transform: scale(0.85); }
    45% { transform: scale(1); }
    60% { transform: scale(0.95); }
    100% { transform: scale(0.9); }
}

#refreshLink {
    margin: 1.6em 0;
    font-size: 0.9em;
    line-height: 167%;
}

#refreshLink .action {
    padding: 20px;
}

#uploadFeedback {
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background-color: rgba(0,0,0,0.86);
    color: #fff;
    z-index: 9;
}

#uploadFeedback h4 {
    font-size: 1.8em;
    margin: 34vh auto 0.67em;
}

#uploadFeedbackMsg {
    font-size: 1.1em;
    margin-top: 1.2em;
}

#uploadFeedback .progress {
    width: 55%;
    height: 4.8px;
    display: inline-block;
    position: relative;
    background: rgba(255, 255, 255, 0.15);
    overflow: hidden;
}

#uploadFeedback .progress::after {
    content: '';
    width: 49%;
    height: 4.8px;
    background: #FFF;
    position: absolute;
    top: 0;
    left: 0;
    box-sizing: border-box;
    animation: progress 1.6s linear infinite;
}

@keyframes progress {
    0% {
        left: -100%;
    }
    100% {
        left: 100%;
    }
}

#cancelUpload {
    margin-top: 0.6em;
    padding: 0.5em 1.7em;
    background-color: #111;
    color: white;
}

#cancelUpload:active {
    background-color: #272218;
}

#toast {
    position: fixed;
    top: 1em;
    width: calc(100% - 3.6em);
    min-height: 3em;
    margin: 0 1em;
    padding: 0.5em 0.8em;
    border-radius: 0.4em;
    overflow: hidden;
    line-height: 150%;
    background-color: #e9e9e9;
    border: 2px solid #b28b0d;
    transform: translateY(-200%);
    transition: transform 0.5s cubic-bezier(0.68, -0.55, 0.25, 1.35);
}

#toast.active {
    transform: translateY(0);
}

#toast .message {
    position: relative;
    z-index: 9;
    overflow: hidden;
}

#toast .timer,
#toast .timer::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: inline-block;
    background: rgba(255, 255, 255, 0.15);
    overflow: hidden;
    z-index: 8;
}

#toast .timer::after {
    content: '';
    background: #ffe4d4;
}

#toast.active .timer::after {
    animation: toastTimer 3s linear;
}

@keyframes toastTimer {
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}


@media screen and (min-width: 450px) {
    .date {
        font-size: 2em;
    }
}

@media screen and (min-width: 550px) {
    #gallery > li {
        height: 25vw;
    }
}

@media screen and (min-width: 900px) {
    #gallery > li {
        height: 200px;
    }
}

input[type="file"] {
    margin: 20px 0;
}

.upload-btn {
    background: linear-gradient(180deg,rgba(231, 159, 171, 1) 0%, rgba(238, 98, 98, 1) 100%);
    color: white;
    padding: 12px 25px;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 25px;
    cursor: pointer;
    transition: background 0.2s linear;
}

.upload-btn:hover {
    background: linear-gradient(180deg,rgba(231, 159, 171, 1) 0%, rgba(238, 98, 98, 1) 20%);
}

.great-vibes-regular {
    font-family: "Great Vibes", cursive;
    font-style: normal;
}
