#store-locator {
}
  #store-locator-form h2 { margin-top: 0; }

  #addressInput { margin: 1.5em 0; }
    #addressInput input { width: 100%; }

         #radiusSelect select { width: 120px; }


#stores-listing {
   clear: both;
   padding-top: 30px;
}

#stores-table {
	width: 100%;
	display: none;
	border-collapse: collapse;
}

  #stores-table .ttv_form_row, #stores-table .ttv_form_header {
    position: relative;

    font-weight: 600;

    color: #333;
    border-bottom: 1px solid #1d252d;
  }
    #stores-table .row.node > div {
      padding: 30px 20px;

      text-align: center;

      background: #f5f5f5;
      border: 1em solid #fff;
   }

    #stores-table .row.node h3 {
       margin-top: 0;
    }
    #stores-table .row.node .store-address-contact,
    #stores-table .row.node .btn-red {
       margin-top: 1em;
    }
    #stores-table .row.node .btn {
      display: inline-block;
      margin-bottom: 8px;
    }

div.store-small {
	border: 1px solid #CCC;
	padding: 5px;
	width: 200px;
	margin-bottom: 10px;
}

#map {
	width: 100%;
	height: 350px;
  margin-bottom: 30px;

  border: 1px solid #7f7571;
}

#locationSelect {
   width: 100%;
   margin: 1em 0;

	visibility: hidden;
}

#stores_loader {
	margin-left: 5px;
	display: none;
}

#stores-table > .ttv_form_row > .store-hours {
  height: auto;
  padding-top: 0;
  padding-bottom: 0;
}
#stores-table .open-until {
  margin-bottom: 0.5em;
}


#stores-table .store-number .btn-teal {
   padding: 4px 4px 0;

   font-size: 16px;
   font-height: 16px;
   font-weight: 600;
   text-align: center;

   cursor: normal;
}


#stores-table .store-hours-table td {
  width: 103px;
   height: auto;
   margin: 0;
   padding: 0;

   font-size: 14px;
   line-height: 18px;
   font-weight: 600;

   color: #64615f;
   background: url('img/cart-totals-bg.png') repeat-x 0 3px;
	border-collapse: collapse;
   border: 0;
}

   #stores-table .store-hours-table td.store-hours-time {
      width: 175px;
      text-align: right;
   }
      #stores-table .store-hours-table td.store-hours-day span { padding-right: 5px; }
      #stores-table .store-hours-table td.store-hours-time span { padding: 0 25px 0 2px; }
      #stores-table .store-hours-table td span {
         font-size: 13px;
         font-weight: 400;

         background: #fff; 
      }


.store-address-info {
   line-height: 16px;
   margin-bottom: 8px;
}

.store-address-contact {
   line-height: 16px;
   margin-top: 6px;
   margin-bottom: 4px;
}

.store-controls {
  text-align: right;
}
  .store-controls a {
    display: block;
    margin-bottom: 8px;

    font-size: 0.8em;
  }


.ttv-store > .ttv-store-events { margin-top: 60px; }
.ttv-store + .ttv-store { margin-top: -60px; }

.ttv-store-title {
   margin: 0;

   font-size: 26px;
   font-weight: 600;
   line-height: 28px;

   color: #565656;
}

.ttv-store-content {
   margin: 1.5em 0;
}

.ttv-store-hours {
   height: 260px;
   margin: 20px 0;
   box-sizing: border-box;
}
   .ttv-regular-hours {
   }

   .ttv-store-hours h2 {
      margin: 0;

      font-size: 18px;
      font-weight: 400;
      line-height: 22px;
      text-transform: uppercase;

      color: #565656;
   }

   .ttv-holiday-time {
      margin: 0 0 1em 0;

      font-size: 10px;
      line-height: 14px;
      text-transform: uppercase;
   }

   .ttv-hours {
      width: 100%;
      border-collapse: collapse;
      border-spacing: 0;
      border-padding: 0;
   }

      .ttv-hours td {
         line-height: 23px;
      }

      .ttv-hours-day,
      .ttv-hours-time {
      }

      .ttv-hours-day { width: 80px; }
      .ttv-hours-time {
         text-align: right;
      }

         .ttv-hours-day .overlay, .ttv-hours-time .overlay {  }
         .ttv-hours-day .overlay { padding-right: 2px; }
         .ttv-hours-time .overlay { padding-left: 2px; }



   .ttv-holiday-hours {
      float: right;
   }

.ttv-store-image {
   width: 100%;
   height: 300px;

   overflow: hidden;
}
   .ttv-store-image img {
      position: relative;
      width: 100%;
   }


.ttv-store-header {
   margin-bottom: 15px;
}

.ttv-store-photo, .ttv-store-buttons, .ttv-store-events {
   margin: 15px 0;
}

.ttv-store-btn {
   display: inline-block;
   padding: 5px 20px;
   
   text-decoration: none;
   text-transform: uppercase;

   color: #333;
   background: #bbb;
}


.ttv-location-map {
   width: 100%;
   height: 300px;
}

.ttv-location,
.ttv-location-contact {
   font-size: 14px;
   line-height: 18px;

   color: #565656;
}

   .ttv-location-contact .fa-instagram,
   .ttv-location-contact .fa-facebook-square {
      margin-top: 2px;
      font-size: 34px;
      color: #3b5998;
   }
      .ttv-location-contact .fa-instagram {
         color: #000;
         margin-right: 5px;
      }
   
      .ttv-location-address { display: block; }

   .ttv-contact-phone,
   .ttv-contact-email {
   }

   .ttv-contact-phone {
   }

   .ttv-contact-email {
   }


.ttv-row {
   clear: left;
}

@media (max-width:749px) {
   .ttv-store-image {
      margin: 1em 0;
   }

   .ttv-store-buttons .ttv-store-btn {
      display: block;
      text-align: center;
      margin-bottom: 5px;
   }
}

@media (min-width:750px) and (max-width:977px) {
   .ttv-row > div { float: left; }
   .ttv-row > div:first-child { margin-left: 0; }

   .ttv-col-4 { width: 44%; margin-left: 5%; }
   .ttv-row > div.ttv-col-4:first-child { width: 50%; margin-left: 0; }
   .ttv-col-8, .ttv-row > div.ttv-col-8:first-child {
      width: 100%;
      margin-left: 0;
   }

   .ttv-row.ttv-store-header { 
      float: left;
      width: 44%; 
      margin-right: 5%;
   }

   .ttv-location.ttv-col-4 {
      margin-top: 1em;
   }
   .ttv-location.ttv-col-4,
   .ttv-location-contact.ttv-col-4 { width: 100%; float: left; margin-left: 0; }
   .ttv-row.ttv-store-photo { clear: none; }
   .ttv-store-photo .ttv-col-4 {
      float: right;
      width: 50%;
   }

   .ttv-location-map {
      clear: both;
      margin: 1em 0 0;
   }

   .ttv-store-buttons .ttv-col-8 {
      width: 50%;
      text-align: right;
   }
}

@media (min-width:978px) {
   .ttv-row > div { float: left; }
   .ttv-row > div:first-child { margin-left: 0; }
   .ttv-col-4 { width: 30.1%; margin-left: 30px; }
      .ttv-row > div.ttv-col-4:first-child { width: 33.333333%; }
   .ttv-col-8 { width: 63.2%; margin-left: 30px; }
      .ttv-row > div.ttv-col-8:first-child { width: 66.666666%; }

   .ttv-row.ttv-store-header {
      float: none;
      width: 100%;
      margin-right: 0;
   }
}


form.subscribe input {
   display: block;
   width: 100%;
   margin-top: 8px;

   box-sizing: border-box;
}

.ttv-col-8 form.subscribe {
   width: 50%;
}
