.locator { position: relative; }

.locator div:nth-child(1) .content aside.plaque, .locator div:nth-child(1) .content aside.plaque p { height: auto; }

.locator .menu {
  position: absolute;
  top: 503px;
}
.locator  .menu {
  background: url("/sites/jomalone/themes/jm_base/img/trans-333333-60.png") repeat scroll 0 0 transparent;
  left: 0;
  margin: 10px 0 0;
  height: 36px;
  padding: 12px 0;
  position: absolute;
  width: 100%;
  z-index: 60;
  text-align: center;
}
.locator .menu li {
  text-align: center;
  font-size: 11px;
  padding: 0 12px 11px;
  cursor: pointer;
  display: inline-block;
  padding: 0 12px;
}
.locator .menu li a { color: #FFFFFF; text-transform: uppercase; }
.locator .menu li a.active { text-decoration: underline; }

.locator .menu .menu-mail-order { display: none; }

/* content tabs */
.locator .boutique_tab  { text-align: center; padding: 40px 0; margin: 0 auto; background-color: #fff; }
.locator .boutique_tab h3 { border-bottom: solid 1px #ccc; padding: 15px; }
.locator .boutique_tab .at-h3 { border-bottom: none; padding: 0px; }
/*.boutique_tab  p { text-align: justify; }*/
.locator .panel_2  img, .panel_3  img, .panel_4  img, { padding: 10px 0; }
.locator .panel_2, .panel_3, .panel_4 {
  width: 620px;
}
.locator .panel_1_1 { max-width: 920px; }
div.locator.details { background-image: url('/media/export/images/boutique_details_bg.jpg'); }
div.locator.details  .menu { display: none; }
div.locator.details  .boutique_tab  { padding: 0; }
.section-jo-malone-boutique-finder .detail-hero {
  max-width: 920px;
  background-color: #ccc;
  height: 520px;
  background-position: 50% center;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden;
  position: relative;
}
.section-jo-malone-boutique-finder .detail-hero .plaque { width: 390px; margin-top:60px; height: auto; }
.section-jo-malone-boutique-finder .detail-hero .plaque p { height: auto; }

.locator .hero-plaque-video-background { display: none; }




/* LOCATOR
------------------------------*/

.locator div.locator_content {
  background: #fff;
  margin: 0 auto;
  position: relative;
  max-width: 860px;
  padding: 0;
}

.locator .location_info { position: relative; }
.locator .location_info img { position: absolute; top: 0; left: 0; }
.locator .info_content { text-align: left; padding-left: 34px; }
.locator .info_content a { padding: 0 14px 10px 0; text-decoration: underline; display: block; float: left; }
.locator .info_content input[type="text"] { width: 130px; padding: 3px 10px; margin-right: 10px }
.locator .info_content input[type="submit"] { color: #fff; }
.locator .info_content p.door-link { overflow:hidden; }

.locator .location_info img.icon-cal { position: relative; top: 0; left: 0; margin-right:10px; float:left; }


.locator .locator_content .hide, .neither { display: none; }
.locator .local_country_container.state { display: none; }
.locator .state_container.country { display: none; }

.locator .zip_section_container .zip_container { width: 20%; }
.locator .zip_section_container .zip_container input { width: 90%; height: 23px; }
.locator .or { width: 5%; text-transform: uppercase; }
.locator .address_section_container .form_element { width: 25%; text-align: right; }
.locator .form_element.zip_container label { margin: 0 0 10px; display: block; }
.locator .address_section_container .form_element.distance_container label { text-align: left; width: 90%; display: block; padding: 0 0 0 10%; margin: 0 0 10px; }
.locator .address_section_container .form_element select { width: 90%; }
/* .address_section_container .selectBox { width: 180px; } */

.intl_search .address_section_container {}

.locator div.locator_content .banner img { width: 100%; }
.locator div.locator_content .banner p.map_ipad { display: none; }

/* PANELS
--------------------*/
.locator_content #locator_directions_panel { display: none; }
.locator_content .locations_form_panel,
.locator_content .directions_form_panel { clear: both; width: 100%; text-align: left; font-family: Helvetica,Arial,"Lucida Grande",sans-serif; }
.locations_map_panel {
  float: left;
  width: 100%;
}
.landing_promos {
  float: left;
  padding: 0 20px 0 20px;
  width: 460px;    
}
.locations_table_panel {
    clear: both;
}

/* MAP
---------------------*/
.locator div.map {
  margin-bottom: 50px;
  height: 430px;
  display: none;
}

/* SEARCH FORM
---------------------*/
div.locator_content h3, div.locator_content h4, div.directions_form h4, fieldset.locator div.form_element label {
  font-size: 11px;
  color: #010101;
  border-top: solid 1px #ccc;
  border-bottom: none;
  font-family: inherit;
  text-transform: uppercase;
}
div.locator_content h3, div.locator_content h4, div.directions_form h4 { 
  margin-bottom: 15px;
  padding: 10px 0;
  text-transform: none;
  font-size: 16px;
  font-family: "NewtextITCStd-Regular";
}

div.locator_content h3.store_locator {
  font-family: Helvetica,Arial,"Lucida Grande",sans-serif;
  font-size: 11px;
  font-weight: normal;
  cursor: pointer;
  font-variant: normal;
  text-transform: uppercase;
}

div.directions_form h4 { border: none; }
.boutique_tab .directions_form  { text-align: left; }
div.directions_form h4 { text-align: left; padding-left: }
div.locator_content h3.linked { border-bottom: 0; }
div.locator_content h3 a { text-decoration: none; }
/*div.locator_content input,
div.locator_content select,
div.directions_form input,
div.directions_form select { color: #010101; font: 12px Times,Georgia,Arial,sans-serif !important; padding: 3px; }*/
div.directions_form input { width: 200px; height: 25px; vertical-align: top; margin: 0 10px; }
div.locator_content .selectBox,
div.directions_form .selectBox {
  height: 21px;
}
.selectBox-options {
  overflow: auto !important; /* IE 8 */
  top: 0;
}
div.locator_content fieldset, div.directions_form fieldset { border: none !important; margin: 10px 0; }
div.locator_content fieldset.intl_search { padding-top: 45px; margin-top: 0; }
div.locator_content fieldset.intl_search .state_container { margin-bottom: 20px; }
div.locator_content fieldset.locator { font-size: 12px; padding: 0; }

div.locator_content fieldset.locator div.form_element { margin: 0 0 10px; float: left; }
div.locator_content fieldset.intl_search div.form_element { text-align: left; }

fieldset.locator div.form_element label { 
  border: none;
}

.locator_content fieldset.fs div.form_element input,
.locator_content fieldset.fs div.form_element select,
.directions-left fieldset.fs div.form_element input,
.directions-left fieldset.fs div.form_element select {
  float: none;
  border: solid 1px #aaa;
}

.locator_content fieldset.fs div.form_element input,
.locator_content fieldset.fs div.form_element select {
  /*float: left;*/
}

.locator_content .search_button_boutiq_intl { padding-top: 8px; }

fieldset.locator div.zip_container { margin-bottom: 6px; }
fieldset.locator div.state_container, fieldset.locator div.city_container { padding-top: 10px; }
fieldset.locator div.distance_container { margin-bottom: 12px; }

.locator_content div.or {
  float: left;
  line-height: 22px;
  text-align: center;
}

.locator_content div.or .label_spacer {
  font-size: 12px;
  line-height: normal;
  margin: 0 0 10px;
}

fieldset.locator a.search_button,
fieldset.locator a.directions_submit,
.store_directions .search_button,
a.close_directions,
a.directions_button,
a.appt_book_button {
  background: none repeat scroll 0 0 black;
  border: solid 1px #ccc;
  color: white;
  cursor: pointer;
  display: inline-block;
  font-size: 12px;
  line-height: 18px;
  padding: 3px 10px;
  text-align: center;
  text-decoration: none;
  text-shadow: none;
  text-transform: uppercase;
  float: right;
  *padding: 1px 10px;
}
a.appt_book_button { float:left;}

.locator a.directions_button {
  float: none;
  margin: 10px auto 15px;
}

fieldset.locator a.directions_submit { float: none; vertical-align: top; }
.store_directions .search_button,
.store_directions .appt_book_button {
  float: left;
  clear: both;
  display: block;
  font-size: 11px;
  line-height: 15px;  
}

.locator_content .locations_table_panel .store_directions a.search_button {
  max-width: 190px;
  min-width: 182px;
  padding: 8px 45px;
  width: 80%;
}

.locator_content .locations_table_panel .store_directions a.appt_book_button {
  margin-top: 10px;
  max-width: 190px;
  min-width: 182px;
  padding: 8px 19px;
  width: 80%;
}

.locator_content .locations_table_panel .store_directions a.store-locator_book-appointment span.icon { 
  background-image: url("/media/export/cms/appointment_booking/locator/calendar_store_cta_white.png");
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-position: 0px 0px;
  background-color: #000000 ;
  float: left;
  height: 27px;
  margin-top: 1px;  
  width: 30px;
}

.accord_state { font-size: 16px; }

/* STORE RESULTS
-----------------------*/
.results-count {
  color: #000000;
  font-family: "NewtextITCStd-Regular";
  font-variant: small-caps;
  font-weight: 900;
  letter-spacing: 2px;
  display: none;
  font-size: 17px;
  padding: 0 0 15px;
  margin: 19px 0 30px;
  border-bottom: solid 1px #ccc;
}
table.doors_results {
  border-collapse: collapse;
  border: none;
  border-bottom: 1px solid #aaa;
  width: 100%;
}
table.doors_results th {
  font-size: 12px;
  text-transform: uppercase;
  font-weight: normal;
  padding-bottom: 10px;
}

table.doors_results th.ttl_store { 
  /* width: 104px; */
  background: url('/media/images/locator/store.gif') no-repeat 0 22px;

}

table.doors_results th.ttl_event { 
  /* width: 104px; */
  background: url('/media/images/locator/event.gif') no-repeat 0 22px;

}

table.doors_results th.ttl_distance { 
  /* width: 104px; */
  background: url('/media/images/locator/distance.gif') no-repeat 0 22px;

}

table.doors_results thead {  }
table.doors_results tbody { border: none; border-width: 0; }

table.doors_results td {
  font-size: 12px;
  padding-bottom: 20px;
  padding-top: 20px;
  border-top: 1px solid #ccc;
  border-width: 1px 0 0 0;
}
table.doors_results td.marker {
    padding-left: 10px;
}
table.doors_results td.event_name { display:none; }
table.doors_results td.store_name { text-transform: uppercase; }
table.doors_results td.store_address div.store-hours { margin-top: 0.5em; }
div.locations_form_panel a.close_directions { display: block; margin: 20px auto 0; width: 185px; float: none; }

/* DIRECTIONS FORM
--------------------------*/
#foreground-node .close-link {
  position: absolute;
  right: 20px;
  top: 20px;
  background: url("../../../lm_product/libraries/products/spp-help-close.png") no-repeat scroll 0 0 transparent;
  width: 9px;
  height: 9px;
  text-indent: -9999px;
  overflow: hidden;
  margin: 0;
  padding: 0;
  cursor: pointer;
}
#locator_directions_panel { margin: 0; }
.locator h2.directions-header {
  font-size: 13px;
  font-weight: normal;
  text-transform: uppercase;
  margin: 0;
  padding: 0;
}
.locator .directions_panel h2 { clear: both; }
.locator .directions_results { width: 600px; margin: 0 auto; border-top: 1px solid #ccc; }

.locator .destination_container, .directions_form fieldset { width: 50%; float: left; padding-left: 130px; }
.locator .destination_container { padding-left: 10px; margin: 10px 0; }
.locator .destination_container .destination_address_container ,
.locator .destination_container .destination_address_container img{ float: left; }
.locator .destination_container .destination div { margin: 0 0 4px; }
.locator .destination_container .destination { margin: 0 0 10px; padding-left: 35px; }


.locator .directions_map_container { height: 330px; }

table.adp-placemark, table.adp-placemark td { border: none; background-color: #fff; }
table.adp-directions { border-left: none; width: 90%; margin: 0 0 0 10%; border-top: solid 1px #ccc; border-bottom: solid 1px #ccc; }
table.adp-directions td { border-right: none; }

.adp-step, .adp-substep { border: none; }
.classic img.adp-marker { display: none; }
.adp-placemark .adp-text { background: url("/sites/jomalone/themes/jm_base/img/locator/map-marker-B.png") no-repeat 0 0; padding-left: 30px; height: 40px; }
#adp-placemark .adp-text { background: url("/sites/jomalone/themes/jm_base/img/locator/map-marker-A.png") no-repeat 0 0; }
.adp-summary { text-align: right; padding-bottom: 10px; }
.adp-step, .adp-substep { padding: 6px 3px; }

/* E-MAIL SIGN-UP
-------------------------*/
fieldset.email {
  width: 460px;
}
fieldset.email div.form_element {
  clear: both;
}
fieldset.email div.submit_container {
  text-align: right;
  width: 279px;
}

fieldset.email div.submit_container input.submit {
  border: 0;
  display: inline;
  width: 79px;
  height: 18px;
}

.locator .directions_submit { 
  color:#ED1C24; 
  font-weight: bold; 
  text-decoration: none;    
}

.directions_submit:hover { text-decoration:underline; }

.door_row .red, .door_row a { color:#ED1C24; font-weight: bold; }
.door_row a { text-decoration:none; }
.door_row a:hover { text-decoration:underline; }
.door_row td { vertical-align:text-top; }
.door_row .marker { width: 50px; }
.door_row .store { width: 330px; }
.door_row .distance { width: 225px; }
.door_row .store h3 { font-size:14px; color:black; font-weight:bold; margin-bottom:5px; }
.door_row .event_name h4 { font-size:12px; color:black; }
.door_row .directions { padding-top:5px; }

.locator_content ul.error_messages { padding:0px; color: #B50404; background: transparent; }
.locations_form_panel ul.error_messages { text-align: center; padding:0px; color: #B50404; background: transparent; }

.locations_form_panel .directions_form ul.error_messages { text-align: left; }

#foreground-node { z-index: 402; }
#overlay-background { z-index: 400; }


.locator .section-header {
  background: none repeat scroll 0 0 #000000;
  color: #FFFFFF;
  font-size: 17px;
  height: 37px;
  line-height: 39px;
  margin: 0;
  text-align: center;
}

.locator .section-header.active a {
  background-position: right -77px;
  cursor: default;
}
.locator .section-header.active a:hover { text-decoration: none; }
.locator .section-header a {
  background: url("/media/export/images/accordion-ui-controls2.png?1372119180") no-repeat scroll right 15px #000000;
  color: #FFFFFF;
  display: inline-block;
  height: 37px;
  line-height: 39px;
  padding-right: 30px;
}

/* detail bottom copy */
.locator .detail_copy_section {
  background: url("/media/export/images/hr-double-border.png?1366128733") repeat-x scroll 0 top transparent;
  padding: 35px 150px 0px;
  text-align: center;
  margin: 30px 0;
}

.locator .panel_3 .events_img01 {
  display: block;
  padding-bottom: 25px;
}

.locator .panel_3 .events_img02 {
  display: block;
  padding-top: 25px;
}

.locator  .address_section_container .selectBox-dropdown { width: 194px !important; }
.selectBox-dropdown-menu {
  z-index: 900;
  width: 194px !important;
}

.locator .directions_form {
  overflow: hidden;
}

@media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait) {
  .locator div.locator_content .banner p.map { display: none; }
  .locator div.locator_content .banner p.map_ipad { display: block; }
}

@media screen and (max-width: 1024px){
  .touch .address_section_container .form_element select {
    width: 194px !important;
  }
}

@media (max-width: 859px){
  .locator_content {
    min-width: 768px;
    width: auto !important;
    width: 768px;
  }

  .address_section_container .selectBox-dropdown { width: 173px !important; }
  .selectBox-dropdown-menu {
    width: 173px !important;
  }

  .touch .address_section_container .form_element select {
    width: 173px !important;
  }
}
div.locator_content fieldset.intl_search div.form_element .error,
.locator_content fieldset.fs div.form_element input.error {
  border: 1px solid red;
}
select.city.js-city.error {
  border:1px solid red !important;
}
