.custom-calendar-wrap {
    margin: 2px auto;
    position: relative;
    overflow: hidden;
}

.fc-calendar-container {
    min-height: 400px;
    width: auto;
    /*padding: 30px;*/
    background: #f6f6f6;
    box-shadow: inset 0 1px rgba(255,255,255,0.8);
}

.custom-header {
    height: 50px;
    position: relative;
}

    .custom-header h2,
    .custom-header h3 {
        text-align: center;
        text-transform: uppercase;
    }

    .custom-header h2 {
        color: #495468;
        font-weight: 300;
        font-size: 18px;
        margin-top: 10px;
    }

    .custom-header h3 {
        font-size: 10px;
        font-weight: 700;
        color: #b7bbc2;
    }

    .custom-header nav span {
        position: absolute;
        top: 17px;
        width: 30px;
        height: 30px;
        color: transparent;
        cursor: pointer;
        margin: 0 1px;
        font-size: 20px;
        line-height: 30px;
        -webkit-touch-callout: none;
        -webkit-user-select: none;
        -khtml-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }

        .custom-header nav span:first-child {
            left: 5px;
        }

        .custom-header nav span:last-child {
            right: 5px;
        }

        .custom-header nav span:before {
            font-family: 'fontawesome-selected';
            color: #119DDF;
            position: absolute;
            text-align: center;
            width: 100%;
        }

        .custom-header nav span.custom-prev:before {
            content: '\25c2';
        }

        .custom-header nav span.custom-next:before {
            content: '\25b8';
        }

        .custom-header nav span:hover:before {
            color: #495468;
        }


.fc-calendar {
    background: rgba(255,255,255,0.1);
    width: auto;
    top: 10px;
    bottom: 20px;
    left: 20px;
    right: 20px;
    height: auto;
    border-radius: 20px;
    position: absolute;
}

    .fc-calendar .fc-head {
        background: rgba(255,255,255,0.2);
        color: rgba(255,255,255,0.9);
        box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
        border-radius: 20px 20px 0 0;
        height: 40px;
        line-height: 40px;
        padding: 0 20px;
    }

        .fc-calendar .fc-head > div {
            font-weight: 300;
            text-transform: uppercase;
            font-size: 14px;
            letter-spacing: 3px;
            text-shadow: 0 1px 1px rgba(0,0,0,0.4);
            color: #686A6E;
        }

    .fc-calendar .fc-row > div > span.fc-date {
        top: 16%;
        left: 16%;
        text-align: center;
        margin: -10px 0 0 -15px;
        color: #686a6e;
        font-weight: 400;
        pointer-events: none;
    }

    .fc-calendar .fc-body {
        /*border: none;
        padding: 20px;*/
    }

    .fc-calendar .fc-row {
        box-shadow: -1px 0 0 rgba(210, 210, 210, 1);
        /*border: none;*/
    }

        .fc-calendar .fc-row:last-child {
            box-shadow: none;
        }

        .fc-calendar .fc-row:first-child > div:first-child {
            border-radius: 10px 0 0 0;
        }

        .fc-calendar .fc-row:first-child > div:last-child {
            border-radius: 0 10px 0 0;
        }

        .fc-calendar .fc-row:last-child > div:first-child {
            border-radius: 0 0 0 10px;
        }

        .fc-calendar .fc-row:last-child > div:last-child {
            border-radius: 0 0 10px 0;
        }

        .fc-calendar .fc-row > div {
            box-shadow: -1px 0 0 rgba(210, 210, 210, 1);
            border: none;
            padding: 0px;
            cursor: pointer;
        }

            .fc-calendar .fc-row > div:first-child {
                box-shadow: none;
            }

            .fc-calendar .fc-row > div.fc-today {
                background: #119DDF;
                box-shadow: inset 0 -1px 1px rgba(0,0,0,0.1);
            }

                .fc-calendar .fc-row > div.fc-today > span.fc-date {
                    color: #fff;
                    text-shadow: 0 1px 1px rgba(0,0,0,0.1);
                }

            .fc-calendar .fc-row > div > div {
                padding-top: 47px;
                background-color: rgb(213, 252, 222);
                line-height: 13px;
            }

                .fc-calendar .fc-row > div > div a,
                .fc-calendar .fc-row > div > div span {
                    font-size: 12px;
                    text-transform: uppercase;
                    display: inline-block;
                    padding: 3px 5px;
                    border-radius: 3px;
                    white-space: nowrap;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    max-width: 100%;
                    margin-bottom: 1px;
                    background: rgba(255,255,255,0.1);
                }

.no-touch .fc-calendar .fc-row > div > div a:hover {
    background: rgba(255,255,255,0.3);
}

@media screen and (max-width: 880px), screen and (max-height: 450px) {
    html, body, .container {
        height: auto;
    }

    .fc-calendar .fc-row > div > div {
                padding-top: 17px;
                background-color:rgb(213, 252, 222);
                line-height:13px;
            }

    .fc-calendar .fc-row > div > div a,
                .fc-calendar .fc-row > div > div span {
                    font-size: 12px;
                    text-transform: uppercase;
                    /*display: inline;*/
                    padding: 3px 5px;
                    border-radius: 3px;
                    overflow: hidden;
                    text-overflow: ellipsis;
                    width: 100%;
                    margin-bottom: 1px;
                    background: rgba(255,255,255,0.1);
                    white-space:normal;
                }

    .custom-header,
    .custom-header nav,
    .custom-calendar-full,
    .fc-calendar-container,
    .fc-calendar,
    .fc-calendar .fc-head,
    .fc-calendar .fc-row > div > span.fc-date {
        position: relative;
        top: 10pt;
        left: auto;
        bottom: auto;
        right: auto;
        height: auto;
        width: auto;
    }

    .fc-calendar {
        margin: 0 20px 20px;
    }

    .custom-header h2,
    .custom-header h3 {
        float: none;
        width: auto;
        text-align: left;
        padding-right: 100px;
        padding-left: 57px;
    }

    .fc-calendar .fc-row,
    .ie9 .fc-calendar .fc-row > div,
    .fc-calendar .fc-row > div {
        height: auto;
        width: 100%;
        border: none;
    }

        .fc-calendar .fc-row > div {
            float: none;
            min-height: 50px;
            box-shadow: inset 0 -1px rgba(255,255,255,0.2) !important;
            border-radius: 0px !important;
        }

            .fc-calendar .fc-row > div:empty {
                min-height: 0;
                height: 0;
                box-shadow: none !important;
                padding: 0;
            }

    .fc-calendar .fc-row {
        box-shadow: none;
    }

    .fc-calendar .fc-head {
        display: none;
    }

    .fc-calendar .fc-row > div > div {
        margin-top: 0px;
        /*padding-left: 10px;*/
        min-width: 100%;
        display: inline-block;
        text-align:center;
    }

    .fc-calendar .fc-row > div.fc-today {
        background: #119DDF;
    }

        .fc-calendar .fc-row > div.fc-today:after {
            display: none;
        }

    .fc-calendar .fc-row > div > span.fc-date {
        width: 40px;
        display: inline-block;
        text-align: right;
    }

    .fc-calendar .fc-row > div > span.fc-weekday {
        display: inline-block;
        width: 40px;
        color: #686A6E;
        font-size: 10px;
        text-transform: uppercase;
    }
}

.custom-content-reveal {
    background: #f6f6f6;
    background: rgba(246, 246, 246, 0.9);
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0px;
    text-align: center;
    -webkit-transition: all 0.6s ease-in-out;
    -moz-transition: all 0.6s ease-in-out;
    -o-transition: all 0.6s ease-in-out;
    -ms-transition: all 0.6s ease-in-out;
    transition: all 0.6s ease-in-out;
}

    .custom-content-reveal span.custom-content-close {
        position: absolute;
        top: 15px;
        right: 10px;
        width: 20px;
        height: 20px;
        text-align: center;
        background: #119DDF;
        box-shadow: 0 1px 1px rgba(0,0,0,0.1);
        cursor: pointer;
        line-height: 13px;
        padding: 0;
    }

        .custom-content-reveal span.custom-content-close:after {
            content: 'x';
            font-size: 18px;
            color: #fff;
        }

    .custom-content-reveal a,
    .custom-content-reveal span {
        font-size: 22px;
        padding: 10px 30px;
        display: block;
    }

    .custom-content-reveal h4 {
        text-transform: uppercase;
        font-size: 13px;
        font-weight: 300;
        letter-spacing: 3px;
        color: #777;
        padding: 20px;
        background: #fff;
        border-bottom: 1px solid #ddd;
        border-top: 5px solid #119DDF;
        box-shadow: 0 1px rgba(255,255,255,0.9);
        margin-bottom: 30px;
    }

    .custom-content-reveal span {
        color: #888;
    }

    .custom-content-reveal a {
        color: #119DDF;
    }

        .custom-content-reveal a:hover {
            color: #333;
        }
