html {
    font-size: 16px;
}

body {
    font-family: 'Lobster Two', sans-serif;
    font-weight: 400;
    padding: 1rem;
    height: 97vh;
    background-size: cover;
    background-repeat: no-repeat;
    width: 100% !important;
}

#main {
    background-color: transparent;
    border: none;
}

h1 {
    font-size: 28px;
    text-align: center;
    margin: 0 0 1rem;
    color: #d94b1c;
}

h2 {
    font-size: 2em;
    text-align: center;
    line-height: 3rem;
    color: #636363;
}

h3 {
    color: #636363;
    margin-top: 2rem;
}

.calendar {
    position: relative;
    width: 100vw;
    max-width: 1280px;
    margin: 3rem auto;
}

#wrapper {
    position: relative;
    display: flex;
    flex-flow: row wrap;
    justify-content: space-evenly;
    align-content: space-evenly;

}


.calendar .day {
    margin: 2.1rem;
}

.calendar .day span {
    position: relative;
    display: inline-block;
    margin: auto;
    font: normal 2rem 'Lobster Two', sans-serif;
    width: 7rem;
    line-height: 7rem;
    text-align: center;
    color: #f7f7f7;
    color: rgba(255, 255, 255, .9);
    background: rgba(0, 0, 0, .2);
    transition: .3s;
    border-radius: 3px;
    border: 3px solid #bbb;
    border: 3px solid rgba(0, 0, 0, .1);
    -webkit-background-clip: padding-box;
    background-clip: padding-box;
}

.day#day_6 span {
    font-size: 2.7rem;
    padding: 0.5rem;
    top: -0.25rem;
}

.day#day_24 span {
    font-size: 3rem;
    padding: 1rem;
    top: -.35rem;
}

.day#day_5 span,
.day#day_12 span,
.day#day_19 span {
    font-size: 2.5rem;
    padding: 0.3rem;
    top: -0.125rem;
}

.day.active {
    cursor: pointer;
}

.day.active span:hover {
    background: rgba(255, 255, 255, .6);
    color: #000 !important;
}

.day .check {
    display: none;
}

.day.visited .check {
    display: block;
}

.day .check {
    background-image: url(images/outline_done_black_24dp.png);
    background-size: contain;
    position: absolute;
    bottom: 2px;
    right: 2px;
    width: 24px;
    height: 24px;
    color: white;
    filter: invert(1);
}

.part {
    /*width: 90%;*/
    max-width: 800px;
}

.part.show {
    z-index: 1;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border: 2px solid lightsteelblue;
    padding: 20px;
    overflow: auto;
    background-color: white;
    box-shadow: 10px 10px 10px #ccc;
    font-family: 'Open Sans', sans-serif;
    font-weight: 400;
    opacity: 0;
    top: 15px;
}

.close-part {
    color: red;
    position: absolute;
    width: 16px;
    height: 16px;
    font-family: arial, sans-serif;
    font-weight: 500;
    right: 0px;
    top: 2px;
    cursor: pointer;
}

.part .video2 {
    width: 600px;
}

#calendar_fond {
    position: fixed;
    top: 0;
    margin: 0 0 0 -16px;
    background-color: white;
    opacity: 0;
    height: 100%;
}

/** Media **/
[id*=day] audio {
    margin: auto;
    display: block;
}

/** Podcast **/
.podcast-widget {
    margin: auto;
    max-width: 415px;
}

.podcast-widget h2 {
    font-size: 1.4rem;
}

@media screen and (max-width: 600px) {
    html {
        font-size: 10px;
    }

    body {
        padding: 0;
    }

    .part.show {
        top: 0px;
        position: fixed;
        overflow: scroll;
        left: 0;
        transform: inherit;
        height: 100%;
    }

    .close-part {
        right: 5px;
    }

    #logo {
        display: none;
    }

    .podcast-widget h2 {
        font-size: 2rem;
    }

    .podcast-widget p {
        line-height: 16px;
    }
}

body {
    background-image: url(images/calendar/calendar_background.jpg);
    background-size: cover;
}

#wrapper {
    background-image: url(images/calendar/sapin_bleu.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-color: #044587;
}

h1 {
    font-size: 2.3rem;
    color: #9F0055;
}

h2 {
  color: #295CAB;
}
h3 {
    color: #295CAB
}

.calendar .day span {
    color: rgba(255, 255, 255, .9);
    background: rgba(255, 255, 255, 0.5);
}

.day .check {
    filter: none;
}

.part.show h1 {
    font-family: 'Lobster Two', sans-serif;
}