
/* -- LOCATIONS LIST STYLES -- */

.content .locations_lists.fullsize {
    display: block;
    float: left;
    width: 40%;
    box-sizing: border-box;
    padding-right: 20px;
    margin-bottom: 0;
}

.content .locations_lists.fullsize .locations_list {
    display: block;
    float: none;
    width: auto;
    box-sizing: border-box;
}

.content .locations_lists.fullsize .list_item {
    display: block;
    padding: 5px 10px 10px 0;
    margin: 0;
    font-size: 100%;
    line-height: 120%;
}
.content .locations_lists.fullsize .list_item.pending {

}
.content .locations_lists.fullsize .list_item.recent {

}

.content .locations_lists.fullsize:not(.nomap) .list_item:not(.item_group) {

}
.content .locations_lists.fullsize:not(.nomap) .list_item:not(.item_group):hover {
    background-color: rgba(255, 255, 255, 0.3);
}
.content .locations_lists.fullsize:not(.nomap) .list_item:not(.item_group).focus {
    background-color: rgba(255, 255, 255, 0.6);
}

.content .locations_lists.fullsize .list_item.item_group {
    padding-top: 0;
}
.content .locations_lists.fullsize .list_item:not(.item_group) + .list_item.item_group {
    padding-top: 10px;
}
.content .locations_lists.fullsize .list_item.item_group .name {
    display: block;
    margin: 0;
    padding: 0;
    font-size: 110%;
}
.content .locations_lists.fullsize .list_item.item_group[data-depth="0"] .name:before {
    content: "\00bb";
    padding-right: 6px;
    color: #969696;
}
.content .locations_lists.fullsize .list_item.item_group[data-depth="1"] .name:before {
    content: "\00bb";
    padding-right: 6px;
    color: #969696;
    font-size: 80%;
}

.content .locations_lists.fullsize .list_item .title {
    display: block;
    float: left;
    font-size: 100%;
    font-weight: bold;
    margin-bottom: 4px;
    margin-left: 10px;
}
.content .locations_lists.fullsize .list_item .title a {
    text-decoration: none;
}
.content .locations_lists.fullsize .list_item .title a:hover {
    text-decoration: underline;
}
.content .locations_lists.fullsize .list_item.pending .title a,
.content .locations_lists.fullsize .list_item.pending .title a:hover {
    text-decoration: none;
}

.content .locations_lists.fullsize .list_item .flags {
    display: block;
    float: left;
    font-size: 80%;
    margin-bottom: 0;
    margin-left: 10px;
}
.content .locations_lists.fullsize .list_item .flags .flag {
    display: inline-block;
    font-weight: normal;
    line-height: 100%;
    padding: 2px 3px;
    margin-right: 6px;
    margin-bottom: 4px;
    border: 1px solid #969696;
    background-color: #CACACA;
    color: #FFFFFF;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.6);
    border-radius: 3px;
}
.content .locations_lists.fullsize .list_item .flags .flag.pending {
    background-color: #F9C669;
    border-color: #E2B158;
}
.content .locations_lists.fullsize .list_item .flags .flag.recent {
    background-color: #46C0FF;
    border-color: #37A0D6;
}
.content .locations_lists.fullsize .list_item .flags .flag.alcohol {
    background-color: #AB5ED2;
    border-color: #904AB3;
}

.content .locations_lists.fullsize .list_item .address {
    font-size: 80%;
    margin-left: 10px;
    clear: both;
}
.content .locations_lists.fullsize .list_item .region {
    font-size: 80%;
    margin-left: 10px;
    clear: both;
}
.content .locations_lists.fullsize .list_item .phone {
    font-size: 80%;
    font-weight: bold;
    margin-left: 10px;
    clear: both;
}
.content .locations_lists.fullsize .list_item .social {
    font-size: 100%;
    font-weight: normal;
    margin-left: 10px;
    margin-bottom: 4px;
    clear: both;
}
.content .locations_lists.fullsize .list_item .social .social_icon {
    margin-right: 6px;
}
.content .locations_lists.fullsize .list_item .social .social_icon:hover {
    position: relative;
    bottom: 2px;
}
.content .locations_lists.fullsize .list_item .social .icon_span {
    text-align: left;
}

.content .locations_lists.fullsize .list_item .hours {
    display: none;
    font-size: 80%;
    margin-left: 10px;
    clear: both;
}
.content .locations_lists.fullsize .list_item .hours .block_info_hours {
    margin: -2px auto 4px 0;
    padding: 0;
}
.content .locations_lists.fullsize .list_item .hours .block_info_hours .text_list {
    margin: 0 auto 0 0;
}
.content .locations_lists.fullsize .list_item .hours .block_info_hours .list_item {
    display: table-row;
    margin: 0 auto 0 0;
    padding: 0;
}
.content .locations_lists.fullsize .list_item .hours .block_info_hours .list_item,
.content .locations_lists.fullsize .list_item .hours .block_info_hours .list_item:hover {
    background-color: transparent;
}
.content .locations_lists.fullsize .list_item .hours .block_info_hours .list_item .item_label,
.content .locations_lists.fullsize .list_item .hours .block_info_hours .list_item .item_value {
    line-height: 1.6;
}

.content .locations_lists.fullsize .list_item .link,
.content .locations_lists.fullsize .list_item .mapit {
    display: inline-block;
    font-size: 80%;
    margin-top: 4px;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 100%;
    margin-left: 10px;
}
.content .locations_lists.fullsize .list_item .link a {
    text-decoration: none;
}
.content .locations_lists.fullsize .list_item .link a:hover {
    text-decoration: underline;
}
.content .locations_lists.fullsize .list_item .mapit {
    display: block;
}
.content .locations_lists.fullsize .list_item .mapit:before {
    content: "\f041";
    margin-right: 6px;
    font: normal normal normal 14px/1 FontAwesome;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    /* Better Font Rendering =========== */
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 100%;
    color: #E01616;
}
.content .locations_lists.fullsize .list_item .mapit .view {
    display: inline-block;
    margin: 0;
    font-size: 100%;
}
.content .locations_lists.fullsize .list_item .mapit .dist {
    display: inline-block;
    margin: 0 0 0 10px;
    font-size: 90%;
    color: #FF9800;
}
.content .locations_lists.fullsize .list_item .mapit .dist:empty {
    display: none;
}

.content .locations_lists.fullsize .list_item .links {
    margin-left: 10px;
    margin-bottom: 6px;
    clear: both;
}
.content .locations_lists.fullsize .list_item .links .link {
    margin: 0 6px 0 0;
}
.content .locations_lists.fullsize .list_item .links .link a {
    color: inherit;
}

.content .locations_lists.fullsize .list_item[data-depth="0"] {
    padding-left: 0;
}
.content .locations_lists.fullsize .list_item[data-depth="1"] {
    padding-left: 15px;
    font-size: 90%;
}
.content .locations_lists.fullsize .list_item[data-depth="2"] {
    padding-left: 30px;
    font-size: 85%;
}
.content .locations_lists.fullsize .list_item[data-depth="3"] {
    padding-left: 45px;
    font-size: 80%;
}


/* -- LOCATIONS FLOAT STYLES -- */

.content .locations_float {
    display: block;
    float: right;
    width: 60%;
    box-sizing: border-box;
    border: 0 none transparent;
    background-color: transparent;
    overflow: hidden;
}


/* -- LOCATIONS MAP STYLES -- */

.content .locations_map {
    display: block;
    float: none;
    clear: both;
    width: auto;
    box-sizing: border-box;
    border: 1px solid #ABABAB;
    background-color: rgba(0, 0, 0, 0.1);
    box-shadow: inset 1px 1px 6px rgba(0, 0, 0, 0.1);
    overflow: hidden;
}
.content .locations_map > .wrapper {
    display: block;
    width: auto;
    height: 0;
    margin: 0;
    padding: 0;
    overflow: visible;
    position: relative;
    /* 4:3 */
    padding-bottom: 75%;
    padding-bottom: calc((3 / 4) * 100%);
}

.content .locations_map .block_contact_dynamicmap {
    margin: 0;
    padding: 0;
    position: absolute;
    height: auto;
    width: auto;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}


/* -- LOCATIONS FILTER STYLES -- */

.content .locations_filter {
    display: block;
    float: none;
    clear: both;
    width: auto;
    box-sizing: border-box;
    border: 0 transparent none;
    background-color: transparent;
    overflow: hidden;
    text-align: center;
    margin: 5px 0 0;
}
.content .locations_filter .title,
.content .locations_filter .inputs {
    display: block;
    font-size: 80%;
    line-height: 120%;
    vertical-align: middle;
    clear: both;
}

.content .locations_filter .title {
    float: right;
    text-align: right;
    width: auto;
}
.content .locations_filter .title .label {
    display: inline-block;
    font-weight: normal;
    padding: 5px 0;
}

.content .locations_filter .inputs {
    float: right;
    text-align: right;
    width: 75%;
}
.content .locations_filter .inputs input[name="user_address"],
.content .locations_filter .inputs input[name="user_submit"] {
    display: inline-block;
    vertical-align: middle;
    border: 1px solid #DEDEDE;
    border-radius: 3px;
    padding: 4px;
}
.content .locations_filter .inputs input[name="user_address"] {
    width: 210px;
    width: calc(100% - 80px);
    text-align: center;
    border-color: #CACACA;
}
.content .locations_filter .inputs input[name="user_submit"] {
    margin-left: 5px;
    width: 75px;
    text-align: center;
    border-color: #ABABAB;
    background-color: #D0D0D0;
    cursor: pointer;
}
.content .locations_filter .inputs input[name="user_submit"]:hover {
    background-color: #DFDFDF;
}

.content .locations_filter.loading .inputs input[name="user_address"],
.content .locations_filter.loading .inputs input[name="user_submit"] {
    opacity: 0.6;
}
.content .locations_filter.loading .inputs input[name="user_address"] {
    color: transparent;
    background-color: #D0D0D0;
    background-position: center center;
    background-repeat: no-repeat;
    background-image: url(TEMPLATE_BASE_WEBSITES_URL/images/ajax-loader.gif);
}
.content .locations_filter.loading .inputs input[name="user_submit"] {
    cursor: default;
}

.content .locations_filter.error .inputs input[name="user_address"] {
    background-color: #f7cccc;
    border-color: #bd0000;
}


/* -- LOCATIONS CONTENT STYLES -- */

.content .locations_content {

}

.content .locations_content .topbar {
    display: block;
    overflow: hidden;
    text-align: left;
    margin: 0 auto 10px 0;
    overflow: hidden;
    padding: 6px 12px;
    background-color: rgba(0, 0, 0, 0.15);
}
.content .locations_content .topbar .address {
    float: left;
    margin-bottom: 3px;
}
.content .locations_content .topbar .address span:after {
    content: ", ";
}
.content .locations_content .topbar .address span:last-child:after {
    content: "" ;
}
.content .locations_content .topbar .contact {
    clear: left;
    float: left;
    margin-bottom: 3px;
}
.content .locations_content .topbar .contact a {
    text-decoration: none;
}
.content .locations_content .topbar .contact a:hover span {
    text-decoration: underline;
}
.content .locations_content .topbar .contact a:after {
    content: " | ";
    color: rgba(0, 0, 0, 0.3);
}
.content .locations_content .topbar .contact a:last-child:after {
    content: "";
}
.content .locations_content .topbar .links {
    float: right;
}
.content .locations_content .topbar .links a {
    text-decoration: none;
}
.content .locations_content .topbar .links a:hover span {
    text-decoration: underline;
}
.content .locations_content .topbar .links a.index:before {
    content: "\0ab";
    padding-right: 4px;
}
.content .locations_content .topbar .social {
    float: right;
}
.content .locations_content .topbar .social .social_icon {
    margin-left: 6px;
}
.content .locations_content .topbar .social .social_icon:hover {
    position: relative;
    bottom: 2px;
}
.content .locations_content .topbar .social .icon_span {
    font-size: 100%;
    font-weight: normal;
}

.content .locations_content .navbar {
    display: block;
    overflow: hidden;
    text-align: center;
    margin: 0 auto 20px 0;
    padding: 6px 12px;
    background-color: rgba(0, 0, 0, 0.05);
    box-shadow: inset 1px 1px 6px rgba(0, 0, 0, 0.1);
}
.content .locations_content .navbar a {

}
.content .locations_content .navbar a {
    text-decoration: none;
}
.content .locations_content .navbar a:hover span,
.content .locations_content .navbar a.active span {
    text-decoration: underline;
}
.content .locations_content .navbar a:after {
    content: " | ";
    padding: 0 4px;
    color: rgba(0, 0, 0, 0.3);
}
.content .locations_content .navbar a:last-child:after {
    content: "";
}

.content .locations_content .subpage {
    display: block;
    overflow: hidden;
    clear: both;
    margin: 0 auto 10px 0;
}

.content .locations_content .sublogo {
    display: block;
    overflow: hidden;
    box-sizing: border-box;
    margin: 0 auto 6px 0;
    padding-bottom: 6px;
}
.content .locations_content .sublogo img {
    display: block;
    border: 0 none transparent;
    margin: 0;
    width: auto;
    float: left;
    max-width: 60%;
}

.content .locations_content[data-sub="reservations"] .sublogo {
    text-align: center;
    margin-bottom: 12px;
}
.content .locations_content[data-sub="reservations"] .sublogo img {
    max-width: 36%;
    margin: 0 auto;
    float: none;
}
.content .locations_content[data-sub="reservations"] .subbody .subtitle {    
    text-align: center;
}

.content .locations_content .subbody {
    display: block;
    box-sizing: border-box;
}
.content .locations_content .subbody.full {
    text-align: left;
    clear: left;
}
.content .locations_content .subbody.desc {
    float: left;
    text-align: left;
    width: 60%;
    padding-right: 20px;
    clear: left;
}
.content .locations_content .subbody.maps {
    float: right;
    text-align: right;
    width: 40%;
}

.content .locations_content .subbody .subtitle {
    display: block;
    margin: 0 auto 6px 0;
    padding-bottom: 6px;
    font-size: 110%;
}
.content .locations_content .subbody .subtitle.multi span:after {
    content: "\00bb";
    padding: 0 3px 0 6px;
    color: #969696;
}
.content .locations_content .subbody .subtitle.multi span:last-child:after {
    content: "";
}


.content .locations_content .subbody .socialvine {
    display: block;
    margin: 0 auto 6px 0;
    padding-bottom: 6px;
}
.content .locations_content .subbody .socialvine .social_block {
    display: block;
    margin: 0 auto;
    padding: 0 0 5px;
}
.content .locations_content .subbody .socialvine:empty {
    display: none;
}

.content .locations_content .subbody .description,
.content .locations_content .subbody .subtext {
    display: block;
    margin: 0 auto 6px 0;
    padding-bottom: 6px;
}
.content .locations_content .subbody .description p,
.content .locations_content .subbody .subtext p {
    font-size: 90%;
    line-height: 160%;
}

.content .locations_content .subbody.maps .block_contact_staticmap {
    padding-bottom: 75%;
    width: auto;
    height: 0;
}
.content .locations_content .subbody .subtext .block_contact_dynamicmap  {
    min-height: 300px;
}


.content .locations_content[data-sub="home"] {

}



/* -- RESPONSIVE ADJUSTMENTS -- */

@media (max-width: 640px){

    .content .locations_map {
        float: none;
        width: auto;
        margin-bottom: 20px;
    }
    .content .locations_lists.fullsize {
        float: none;
        width: auto;
        padding-right: 0;
    }
    .content .locations_lists.fullsize .list_item {
        padding-right: 0;
    }
    .content .locations_lists.fullsize .list_item .title,
    .content .locations_lists.fullsize .list_item .links,
    .content .locations_lists.fullsize .list_item .address,
    .content .locations_lists.fullsize .list_item .region,
    .content .locations_lists.fullsize .list_item .phone,
    .content .locations_lists.fullsize .list_item .link.mapit {
        margin-left: 0;
    }

}