* {
    font-family: 'Lato', Open Sans, Roboto;
}

.flex{
    display: -webkit-box;      /* OLD - iOS 6-, Safari 3.1-6 */
    display: -moz-box;         /* OLD - Firefox 19- (buggy but mostly works) */
    display: -ms-flexbox;      /* TWEENER - IE 10 */
    display: -webkit-flex;     /* NEW - Chrome */
    display: flex;             /* NEW, Spec - Opera 12.1, Firefox 20+ */;
}

body {
    margin: 0;
    height: 100vh;
    color: #666666;
    background-color: #efefef;
}

#calendar-app {
    padding: 30px 10px;
    margin: auto;
    text-align: center;
}

#calendar-app h1{
    text-align: center;
    font-weight: 300;
}

#weekly{
    margin-top: 50px;
    display: inline-block;
    transition: all .3s;
}

.cal__day {
    flex-direction: column;
    float: left;
    min-width: 150px;
    min-height: 180px;
    margin: 5px;
    border-radius: 3px;
    border: 1px solid rgba(171, 160, 236, 0.27);
    border-top: 0;
    overflow: hidden;
    transition: all .3s;
}

.cal__day_header{
    background-color: #aba0ec;
    text-align: end;
    color: #fff;
    padding: 10px;
    text-transform: uppercase;
}

.cal__day_content{
    display: inline-block;
    height: 160px;
    width: 160px;
    background-color: #fff;
    /* box-sizing: border-box; */
}

.day__person{
    float: left;
    color: #fff;
    display: flex;
    box-sizing: border-box;
    align-items: center;
    text-transform: uppercase;
    justify-content: center;
    background-color: #333;
}

.cal__day.day--empty .cal__day_content {
    background: url('/icons/confused.svg') no-repeat;
    background-color: #cfcfcf;
    background-size: 50% 50%;
    background-position: center;
}

.input-wrapper{
    display: inline-block;
    margin: 5px;
    margin-top: 50px;
}

.input-wrapper .right-content{
    float: right;
    text-align: left;
    margin-left: 30px;
}

textarea{
    border: 1px solid #cccccc;
    padding: 10px;
}

.year {
    flex-direction: column;
}
#year_field{
    padding: 10px;
    border: 1px solid #cccccc;
}

#update-btn {
    width: 120px;
    text-transform: uppercase;
    background-color: #0a8bf1;
    color: #fff;
    border: 0;
    cursor: pointer;
    padding: 10px;
    border-radius: 2px;
    margin-top: 30px;
    transition: all .3s;
}

#update-btn:hover{
    box-shadow: 5px -5px rgba(10, 141, 241, 0.612);
}

#error-msg {
    color: red;
    margin-top: 10px;
}

@media all and (max-width: 1250px) {
    #weekly {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
}

@media all and (max-width: 1024px) {
    .input-wrapper .right-content{
        margin-left: 0;
        margin-top: 10px;
        float: none;
        padding-bottom: 60px;
    }
}

@media all and (max-width: 768px) {

    #calendar-app{
        padding: 5px;
    }

    textarea {
        width: calc(100vw - 35px);
    }
    .input-wrapper{
        margin: 0;
    }

    .input-wrapper .right-content{
        margin-left: 0;
        margin-top: 10px;
        float: none;
        padding-bottom: 60px;
    }

    #update-btn {
        width: 100%;
        position: fixed;
        bottom: 0;
        left: 0;
        border-radius: 0;
    }

}