/* Shared PC/Mobile layout styles
 */
html {
  overflow-y: visible;
}
html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}
body {
  background-color: white;
}
body * {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

p {
  margin: 0.5em 0 0;
}
a img {
  display: inline-block;
}
label {
  cursor: pointer;
}
h1,
.at-h1__mpp {
  margin: 0 0 20px 0;
}
h2 {
  margin: 0 0 20px 0;
}
h3 {
  margin: 0 0 15px 0;
}
h4,
.at-h4 {
  margin: 0 0 2px 0;
}
h5, h6 {
  margin: 0 0 5px 0;
}
hr {
  border: none;
  border-top: 1px solid #aaaaaa;
  height: 1px;
  padding: 0;
  margin: 20px 0;
}

.block h2.block-title {
  display: none;
  visibility: hidden;
}
.wrapper {
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-attachment: scroll;
  background-clip: border-box;
  background-origin: border-box;
}
.absolute-center-both, .giftfinder .plaque_container {
  margin: auto;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.action-button, .plaque .actions, .benefits-header-content .actions {
  padding: 4px 0;
}
.action-button .button:hover, .plaque .actions .button:hover, .benefits-header-content .actions .button:hover {
  background-color: #9d9d9d;
  border-color: #9d9d9d;
}
.button-dark {
  background-color: black;
  color: white;
}
form input[type=submit].hidden, .hidden {
  display: none;
}
form .description {
  font-size: 0.85em;
}
form .form-text {
  padding: 7px 7px;
  border: 1px solid #cccccc;
}
form input[type="button"],
form input[type="submit"] {
  background-color: black;
  color: white;
  padding: 7px 15px;
  border: 0;
  outline: 0;
  text-transform: uppercase;
}

#user-login {
  padding: 50px 20px;
}
#user-login .form-type-textfield,
#user-login .form-type-password,
#user-login .form-actions {
  padding: 10px 0;
}
.plaque {
  margin: 0 auto;
  width: 328px;
  height: 207px;
  border: 2px solid black;
  background-color: white;
  padding: 3px;
  overflow: hidden;
}
.plaque .inner {
  border: 1px solid black;
  padding: 20px;
  height: 100%;
  width: 100%;
}
.plaque .title {
  padding-bottom: 0;
}
.plaque .title span {
  display: block;
  white-space: nowrap;
}
.plaque .teaser {
  padding-bottom: 13px;
}
.plaque .actions {
  padding: 0;
}
.plaque .actions .button.color-black {
  border-color: #9d9d9d;
  background-color: black;
}
.plaque .actions .button.color-black:hover {
  background-color: #9d9d9d;
}
.plaque h2 {
  margin: 0 auto 10px;
}
.front .plaque .inner {
  display: table;
}
.front .plaque .inner .plaque_body {
  display: table-cell;
  vertical-align: middle;
  height: 100%;
}
.giftfinder .plaque_container {
  height: 212px;
  width: 300px;
}
.gift-finder-stage-4 {
  background: white;
}

#top {
  background-color: white;
}
.benefits-header-content {
  border-bottom: 1px solid #cccccc;
  position: relative;
  overflow: hidden;
  background-color: white;
}
.benefits-header-content h3 {
  margin-bottom: 0;
}
.benefits-header-content .wrapper-content {
  position: relative;
  padding: 18px 10px 20px;
}
@media screen and (min-width: 1025px) and (max-width: 1280px) {
  .benefits-header-content .wrapper-content {
    max-width: 740px;
  }
}

#benefits-close {
  background: url('../../img/close.png') no-repeat;
  width: 11px;
  height: 11px;
  position: absolute;
  display: block;
  content: "";
  top: 20px;
  right: 0;
  cursor: pointer;
}
.gnav-item-icon {
  content: "";
  display: block;
  position: absolute;
  top: -1px;
  z-index: 10;
}
.block-template-complimentary-benefits .gnav-item-icon {
  background: url('../../img/arrow-down.png') no-repeat;
  width: 17px;
  height: 8px;
  margin-left: -8.5px;
  left: 50%;
}
.expanded .gnav-item-icon {
  background: url('../../img/arrow-down-expanded.png') no-repeat;
  width: 15px;
  height: 8px;
  margin-left: -7.5px;
  left: 50%;
}
.custom-dropdown dd,
.custom-dropdown dt,
.custom-dropdown ul {
  margin: 0px;
  padding: 0px;
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
.custom-dropdown a {
  text-transform: uppercase;
}
.custom-dropdown a:visited {
  outline: none;
}
.custom-dropdown a:hover {
  color: #5d4617;
}
.custom-dropdown dt a {
  display: block;
  border: 1px solid #cccccc;
  position: relative;
}
.custom-dropdown dt a:hover, .custom-dropdown dt a:focus {
  color: #5d4617;
  border: 1px solid #cccccc;
}
.custom-dropdown dt a:after {
  content: "";
  pointer-events: none;
  position: absolute;
  right: 12px;
  top: 9px;
  display: block;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #9d9d9d;
}
.custom-dropdown dt a span {
  cursor: pointer;
  display: block;
  padding: 5px;
}
.custom-dropdown dd {
  position: relative;
}
.custom-dropdown dd ul {
  background: white;
  display: none;
  border: solid 1px #cccccc;
  border-top: none;
  left: 0px;
  padding: 5px 0px;
  position: absolute;
  top: 0;
  width: 100%;
  list-style: none;
}
.custom-dropdown dd ul li a {
  padding: 5px;
  display: block;
}
.custom-dropdown dd ul li a:hover {
  background-color: #eeeded;
}
.open dt a:after {
  border-top: none;
  border-bottom: 6px solid #9d9d9d;
}
.overlay-container {
  background-color: white;
  border: 1px solid #cccccc;
  overflow: auto;
  padding: 20px;
  width: auto;
  position: absolute;
  z-index: 2001;
}
.overlay-container .close-container {
  position: absolute;
  top: 0;
  right: 0;
  height: 11px;
  width: 11px;
}
.overlay-container a.close-link {
  background: url("/sites/jomalone/themes/jm_base/img/close.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
  border-bottom: medium none;
  display: block;
  height: 11px;
  overflow: hidden;
  position: absolute;
  right: 10px;
  text-indent: -9999px;
  top: 10px;
  width: 11px;
  cursor: pointer;
}
.overlay-background {
  background-color: black;
  left: 0;
  opacity: 0.5;
  filter: alpha(opacity=50);
  position: absolute;
  top: 0;
  z-index: 2000;
}

.overlay-container.colorbox-zentrick a.close-link {
  background: url("/sites/jomalone/themes/jm_base/img/big-close-black.png") no-repeat scroll 0 0 rgba(0, 0, 0, 0);
  position: absolute;
  cursor: pointer;
  width: 25px;
  height: 25px;
  top: 10px;
  right: 10px;
  z-index: 51;
}
.overlay-container.colorbox-zentrick .embed-container {
  width: 100%;
}
@media only screen
  and (min-device-width: 320px)
  and (max-device-width: 736px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: landscape) {
    .overlay-container.colorbox-zentrick {
      left: 0px !important;
      width: 100% !important;
      padding: 0 5% !important;
      position: fixed;
      top: 0 !important;
    }
    .overlay-background {
      width: 100% !important;
    }
}
@media only screen
  and (min-device-width: 320px)
  and (max-device-width: 480px)
  and (-webkit-min-device-pixel-ratio: 2)
  and (orientation: portrait) {
    #foreground-node.overlay-container.colorbox-zentrick {
      left: 0px !important;
      width: 100% !important;
    }
}
#max-purchase-policy {
  font-size: 20px;
  text-transform: uppercase;
}

.billing-address-notice-copy {
  margin: 15px 0;
}

.corporate-position {
  margin-bottom: 34px;
}

.br-space {
  display: block;
}

.pre_order_sold_msg, .pre_order_active_msg {
  color: #9d9d9d;
}
/*Added for the address2 */
#address-form-popover .address2_container, #address_form_container .address2_container, .address_form_container .address2_container {
  position: relative;
}
#address-form-popover .address2_container.focused label, #address_form_container .address2_container.focused label, .address_form_container .address2_container.focused label {
  top: -5px;
  background: #fff;
  color: #333;
}
#registration .address_form_container .address2_container label {
  position: initial;
}
.jm_adpl label {
  color: #666;
  position: absolute;
  left: 4px;
  font-size: 11px !important;
  top: 2px;
  padding: 0 2px;
  background: #fff;
  -webkit-transition: -webkit-transform 100ms ease;
  -moz-transition: -moz-transform 100ms ease;
  -o-transition: -o-transform 100ms ease;
  -ms-transition: -ms-transform 100ms ease;
  transition: transform 100ms ease;
  -webkit-transform: translateY(-14px);
  -moz-transform: translateY(-14px);
  -o-transform: translateY(-14px);
  -ms-transform: translateY(-14px);
  transform: translateY(-14px);
}
div#signin-block.quick_registration #return-user fieldset .form-item.jm_adpl label {
  display: block;
}
.jm_adpl label:before {
  content: "*";
}
.jm_adpl input:invalid + label, .jm_adpl input:invalid + label span {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}

.jm_adpl input:focus + label, .jm_adpl input:focus + label span {
  color: #333;
  -webkit-transform: translateY(-14px);
  -moz-transform: translateY(-14px);
  -o-transform: translateY(-14px);
  -ms-transform: translateY(-14px);
  transform: translateY(-14px);
}
form#password_reset .jm_adpl label{
  -webkit-transform: translateY(-8px);
  -moz-transform: translateY(-8px);
  -o-transform: translateY(-8px);
  -ms-transform: translateY(-8px);
  transform: translateY(-8px);

}
form#checkout_shipping .jm_adpl label,
form#checkout_shipping .address2_container.focused label,
div.address_form_container form#address .jm_adpl label,
div.address_form_container form#address .address2_container.focused label,
div.address_form_container form#address .jm_adpl span.label-content {
  top: 6px;
  padding: 0 2px;
  background: #fff;
  -webkit-transition: -webkit-transform 100ms ease;
  -moz-transition: -moz-transform 100ms ease;
  -o-transition: -o-transform 100ms ease;
  -ms-transition: -ms-transform 100ms ease;
  transition: transform 100ms ease;
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  -o-transform: translateY(-12px);
  -ms-transform: translateY(-12px);
  transform: translateY(-12px);
}
#address-form-popover label {
    text-transform: uppercase;
    width: auto;
}
form#checkout_shipping .jm_adpl input:invalid + label,
form#password_reset .jm_adpl input:invalid + label,
form#checkout_shipping .address2_container label,
div.address_form_container form#address .jm_adpl input:invalid + label,
div.address_form_container form#address .jm_adpl input:invalid + span.label-content,
div.address_form_container form#address .address2_container label {
  -webkit-transform: translateY(0);
  -moz-transform: translateY(0);
  -o-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
}
form#password_reset .jm_adpl input:focus + label {
  color: #333;
  -webkit-transform: translateY(-8px);
  -moz-transform: translateY(-8px);
  -o-transform: translateY(-8px);
  -ms-transform: translateY(-8px);
  transform: translateY(-8px);
}

form#checkout_shipping .jm_adpl input:focus + label, div.address_form_container form#address .jm_adpl input:focus + label, div.address_form_container form#address .jm_adpl input:focus + span.label-content {
  color: #333;
  -webkit-transform: translateY(-12px);
  -moz-transform: translateY(-12px);
  -o-transform: translateY(-12px);
  -ms-transform: translateY(-12px);
  transform: translateY(-12px);
}

.jm_adpl {
  position: relative !important;
}
.jm_adpl .field_password label {
  width: auto;
}
#checkout_shipping #address_form_container fieldset.address.fs label, #address_book #address-form-popover fieldset.address label, form#password_reset .label, form#password_reset #temporary_password label, form#checkout_payment .payment_method .form_element label, div.address_form_container form#address fieldset.address.fs label {
  display: block;
}
#address_book .country_container label:before, #address_book .address2_container label:before,
#address_book .default_ship_container label:before, #payment_wrapper fieldset.fs div.form_element.default_payment_container label:before, #payment_wrapper fieldset.payment_address ul.address_controls li.choose-address label:before, #myaccount-wrapper fieldset.fs div.form_element.default_payment_container label:before, #myaccount-wrapper fieldset.payment_address div.address_controls label:before, div.career_screening fieldset.profile-form-container fieldset.profile label:before {
  content: "";
  padding: 0;
}
.contact-questions .address.fs label:before {
  padding: 0;
}
#address_book div#address-form-popover fieldset.fs div.radio label {
  display: inline;
}
.contact-questions .address.fs .fieldset-style label:before,
.contact-questions .address.fs .pc_pro_email_container label:before, .address.fs .radio.ship_type_container label:before,
.address.fs .country_container label:before, .address.fs .address2_container label:before, .address.fs .phone_2_container label:before {
  content: none;
}
div#foreground-node div#address-form-popover div.address_form_container form#address fieldset.address.fs div.country_container label, #address_book div.address_form_container form#address fieldset.address.fs div.country_container label, #checkout_shipping #address_form_container fieldset.address.fs div.state_container label, #checkout_shipping #address_form_container fieldset.address.fs div.country_container label {
  display: none;
}
#address_book div.address_form_container form#address fieldset.address.fs div.phone1_container label:before {
  content: "*";
}
.registration_short-accepted_privacy_policy-error {
  outline: 2px red auto;
}
.session-idle-popup__content h1 {
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 10px;
  font-family: "NewtextITCStd-Regular";
  color: black;
  font-variant: small-caps;
  letter-spacing: 2px;
  padding-bottom: 2px;
  font-weight: normal;
  text-rendering: auto;
  margin: 0 0 20px 0;
  box-sizing: border-box;
  display: block;
  font-size: 1.5em;
  -webkit-margin-before: 0.83em;
  -webkit-margin-after: 0.83em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  text-align: center;}
.session-idle-popup__content button {
  padding: 0 14px;
  background: black;
  color: white;
  height: 23px;
  line-height: 22px;
  border: 1px solid #cccccc;
  display: inline-block;
  padding: 0 14px;
  text-align: center;
  font-size: 11px;
  white-space: nowrap;
  text-transform: uppercase;
  letter-spacing: 1px;
  -moz-transition: none;
  -webkit-transition: none;
  transition: none;
  float: right;
  margin-right:15px;
}
.session-idle-popup__content--desc {
  font-size: 1.1em;
  font-family: Helvetica, Arial, "Lucida Grande", sans-serif;
  text-align: left;
  padding-bottom: 35px;
}
.invisiblefocus {
  text-shadow: none;
  color: #333;
  text-decoration: none;
  visibility: visible;
}
.invisiblefocus.custom-outline {
    line-height: 20px;
}
.session-idle-popup__content--header {
  border-bottom: 1px solid #cccccc;
  padding-bottom: 15px;
}
legend.absolute-hidden {
    position: absolute;
    z-index:-1;
}
#billing .new_payment_method .form_element.card_number_container label,
#billing .new_payment_method .form_element.cvv_container label {
  display: block;
}
.card_number_container.jm_adpl label,
.cvv_container.jm_adpl label {
  top: 8px;
}
#payment fieldset.fs div.form_element.cvv_container {
  margin-top: 25px;
}
.form_element.radio.do_not_save_container label:before {
    content: none !important;
}
.main.has-navigation .perlgem-signup-block .close-button {
  display: none;
}
#billing #checkout_billing a.add_address:focus {
   border: 1px dotted #5e91ec;
}
@media (max-width: 700px) {
  .product-container .product-grid {
    width: 100%;
  }
}
/* Afterpay FAQ Styling */
.field-elc-nodeblock-content .afterpay-faq-container p a {
  text-decoration: underline;
  text-transform: uppercase;
  border-bottom: none;
}
.field-elc-nodeblock-content .afterpay-banner .copy {
  text-align: center;
  top: 70%;
}
.afterpay-faq-main .generic-content-carousel {
  text-align: center;
}
.afterpay-faq-main .whats-new-page-formatter,
.afterpay-faq-main .afterpay-need,
.afterpay-faq-main .afterpay-account,
.afterpay-faq-main .afterpay-faq-container {
  max-width: 1366px;
  padding: 0 10px;
  margin: 0 auto;
}
.afterpay-faq-main .afterpay-account {
  background-color: #F8F8F8;
}
@media (min-width: 1024px) {
  .afterpay-faq-main .whats-new-page-formatter-modules {
    display: flex;
    margin: 0 auto;
  }
  .afterpay-faq-main .whats-new-page-formatter-modules .generic-content-carousel {
    flex: 33.33%;
    padding: 40px;
  }
}
