/*------------------------------------------------------------------------------ opening hours */
#opening-hours {
    background: #fff;
    position: relative;
    max-height: 365px;
}

#opening-hours .opening-hours-container h3 {
    margin-bottom: 15px;
}

/*------------------------------------------------------------------------------ opening-hours-table */
#opening-hours table.opening-hours-table {
    border-spacing: 0;
    border: 1px solid #ddd;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    width: 100%;
    -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.1);
    -moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.1);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.4), 0 1px 1px rgba(0, 0, 0, 0.1);
}       

#opening-hours table.opening-hours-table tr.head td:first-child {
    -webkit-border-top-left-radius: 3px;
    -moz-border-top-left-radius: 3px;
    border-top-left-radius: 3px;
}

#opening-hours table.opening-hours-table tr.head td:last-child {
    -webkit-border-top-right-radius: 3px;
    -moz-border-top-right-radius: 3px;
    border-top-right-radius: 3px;
}

#opening-hours table.opening-hours-table tr.head td {
    border-top: 1px solid #fff;
    border-bottom: 1px solid #e5e5e5;
    text-shadow: 1px 1px 0px rgba(255, 255, 255, 1);
}

#opening-hours table.opening-hours-table tr.hours-from td {
    border-top: 1px solid #fff;
}

#opening-hours table.opening-hours-table tr.hours-to td:first-child {
    -webkit-border-bottom-left-radius: 3px;
    -moz-border-bottom-left-radius: 3px;
    border-bottom-left-radius: 3px;
}

#opening-hours table.opening-hours-table tr.hours-to td:last-child {
    -webkit-border-bottom-right-radius: 3px;
    -moz-border-bottom-right-radius: 3px;
    border-bottom-right-radius: 3px;
}

#opening-hours table.opening-hours-table td {
    width: 14.28571428571729%;
}

#opening-hours table.opening-hours-table tr.head td {
    text-align: center;
    font-size: 14px;
    font-weight: 700;
    padding: 20px 0;
    background: #f5f5f5;
}

#opening-hours table.opening-hours-table tr.head td:nth-child(odd) {
    background: #eee;
}

#opening-hours table.opening-hours-table tr.hours-from td {
    background: #fefefe;
}

#opening-hours table.opening-hours-table tr.hours-from td:nth-child(odd) {
    background: #f9f9f9;
}

#opening-hours table.opening-hours-table tr.hours-to td {
    background: #fbfbfb;
}

#opening-hours table.opening-hours-table tr.hours-to td:nth-child(odd) {
    background: #f6f6f6;
}

#opening-hours table.opening-hours-table tr.hours-from td,
#opening-hours table.opening-hours-table tr.hours-to td {
    text-align: center;
    padding: 20px 0;
    font-size: 13px;
}

/*------------------------------------------------------------------------------ responsive table */
#opening-hours .opening-hours-table-mobile {
    border-spacing: 0;
    border: 1px solid #ddd;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    border-radius: 3px;
    width: 100%;
    box-shadow: 0 0 5px rgba( 0, 0, 0, 0.05 );
}

#opening-hours .opening-hours-table-mobile td {
    width: 33.3333%;
    padding: 10px 0;
    font-size: 13px;
    text-align: center;
}

#opening-hours .opening-hours-table-mobile td.head {
    font-weight: 700;
    text-shadow: 1px 1px 0px rgba(255, 255, 255, 1);
    background: #f5f5f5;
    border-right: 1px solid #e5e5e5;
}

#opening-hours .opening-hours-table-mobile tr:nth-child(odd) td.head {
    background: #eee;
}

#opening-hours .opening-hours-table-mobile td.hours-from {
    background: #fefefe;
    border-left: 1px solid #fff;
}

#opening-hours .opening-hours-table-mobile tr:nth-child(odd) td.hours-from {
    background: #f9f9f9;
}

#opening-hours .opening-hours-table-mobile td.hours-to {
    background: #fbfbfb;
}

#opening-hours .opening-hours-table-mobile tr:nth-child(odd) td.hours-to {
    background: #f6f6f6;
}

/*------------------------------------------------------------------------------ appointment button */
#opening-hours .appointment-button {
    margin-top: 20px;
    float: right;
}

/*------------------------------------------------------------------------------ responsive */
@media (max-width: 599px) {

    #opening-hours .opening-hours-container table.opening-hours-table { display: none; }
    
    #opening-hours .opening-hours-container {
        position: absolute;
        top: 7%;
        width: 80%;
        left: 10%;
    }
    
    #opening-hours .opening-hours-container h3 {
        text-align: right;
        font-size: 22px;
    }
    
    #opening-hours {
        max-height: none;
        height: 450px;
    }
    
    #opening-hours img {
        width: 45%;
        position: absolute;
        bottom: 0;
    }
}

@media (min-width: 600px) and (max-width: 849px) {

    #opening-hours img {
        font-size: 0;
    }
    
    #opening-hours .opening-hours-container {
        position: absolute;
        top: 20%;
        width: 80%;
        left: 10%;
    }
    
    #opening-hours .opening-hours-container h3 {
        text-align: right;
        font-size: 22px;
    }
    
    #opening-hours .opening-hours-container table.opening-hours-table .type {
        display: block;
    }
    
    #opening-hours .opening-hours-container table.opening-hours-table td {
        padding: 13px 0 !important;
    }
    
    #opening-hours .opening-hours-container table.opening-hours-table .responsive-name { display: block; }
    #opening-hours .opening-hours-container table.opening-hours-table .standard-name { display: none; }
    #opening-hours .opening-hours-container .opening-hours-table-mobile { display: none; }
}

@media (min-width: 850px) and (max-width: 1149px) {

    #opening-hours img {
        max-width: 30%;
        float: left;
    }
    
    #opening-hours .opening-hours-container {
        width: 445px;
        float: right;
        padding: 35px 50px 0 0;
    }
    
    #opening-hours .opening-hours-container table.opening-hours-table .type {
        display: block;
    }
    
    #opening-hours .opening-hours-container table.opening-hours-table td {
        padding: 13px 0 !important;
    }
    
    #opening-hours .opening-hours-container table.opening-hours-table .responsive-name { display: block; }
    #opening-hours .opening-hours-container table.opening-hours-table .standard-name { display: none; }
    #opening-hours .opening-hours-container .opening-hours-table-mobile { display: none; }
}

@media (min-width: 1150px) {

    #opening-hours img {
        max-width: 30%;
        float: left;
    }
    
    #opening-hours .opening-hours-container {
        width: 62%;
        float: right;
        padding: 50px 100px 0 0;
    }
    
    #opening-hours .opening-hours-container table.opening-hours-table .responsive-name { display: none; }
    #opening-hours .opening-hours-container .opening-hours-table-mobile { display: none; }
}