@charset "UTF-8";

@import url('https://fonts.googleapis.com/css2?family=Pacifico&display=swap'); 

:root {
    --dark-pink: #BA3C5B;
    --white: #FFFAFB;
    --blue: #5EBCC9;
    --green: #3f8a82;
    --black: #000000;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Pacifico', cursive;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

body {
    background: linear-gradient(12deg, var(--green), var(--white));
    background-attachment: fixed;

    display: flex;
    justify-content: center;
    align-items: center;
}

main {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

main header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 250px;
    margin: 50px auto 25px;
    font-size: 2em;
    color: #006472;
}

main header .heart-icon {
    font-size: 1em;
    animation: heart-animation 2s ease-out infinite;
}

.heart-icon {
    color: var(--dark-pink);
}

.wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    
    width: 340px;
    height: 568px;
    
    background-color: var(--white);
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.4);
}

.wrapper .photo {
    
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;

    margin-top: 31px;

    width: 263px;
    height: 235px;

    border-radius: 2px;
}

.calendar {
    margin-top: 2px;
}

.calendar .header-calendar {
    display: flex;
    flex-direction: column;
    align-items: center;
    cursor: context-menu;
}

.calendar .header-calendar  .month{
    display: flex;
    align-items: center;
    justify-content: space-between;

    margin-top: 15px;

    width: 320px;
}

.header-calendar  .month .current-date{
    font-size: 1.3em;
    margin: 0px 12px;
}

.header-calendar .month input[type="date"] {
    margin: 0px 12px;
    padding: 8px;
    border-radius: 5px;
    width: 150px;
    border: 2px solid var(--black);
    background-color: var(--white);
    outline: none;
    display: none;
}

.header-calendar  .month .line{
    border: 0.1px solid black;
    width: 78px;
    height: 0px;
}

.header-calendar  .month .icons {
    font-size: 2em;
    cursor: pointer;
}

.header-calendar  .month .icons:hover {
    color: var(--blue);
    transition: .2s;
}

.header-calendar  .year{
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 263px;
    height: 25px;
    margin-bottom: 10px;
}

.header-calendar  .year .current-year{
    font-size: 1.2em;
}

.calendar ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;

    text-align: center;
    list-style: none;
}

.calendar ul li{
    width: calc(90%/7);
    cursor: context-menu;
}

.calendar .days-of-week{
    width: 100%;
    font-weight: bold;
}

.calendar .days li{
    position: relative;
    z-index: 0;
    cursor: pointer;
}

.calendar .days li:hover{
    color: var(--white);
}

.calendar .days li:hover::before{
    content: url(../assets/icons/heart-hover.svg);
    position: absolute;
    transform: translate(-11px, -2.5px);
    z-index: -1;
}

.calendar .today {
    position: relative;
    z-index: 0;
    color: var(--white);
}

.calendar .today:before {
    content: url(../assets/icons/heart-today.svg);
    position: absolute;
    transform: translate(-10px, -2.5px);
    z-index: -1;
}

.days .inactive {
    color: #60918C;
}

footer {
    display: flex;
    justify-content: center;
    align-items: center;

    margin-top: 13px;
    margin-bottom: 47px;
    height: 54px;
    width: 239px;
    
    font-size: 1.5em;

    color: #b13050;
}

@keyframes heart-animation {
    50% {
        transform: translateY(-10px);
    }
}