/*
 * Custom code goes here.
 * A template should always ship with an empty custom.css
 */

.product-customization {
    box-shadow: none;
    margin: 0;
}

.product-actions .product-variants .control-label {
    width: 130px !important;
}

.product-actions .product-customizations .control-label {
    width: 130px !important;
}

.topbar-group-line.options-location {
    display: none;
}

.DorTestimonial {
    display: none;
}

.product-description ul {
    list-style: square;
}

.product-additional-info .social-sharing {
    display: none;
}

.product-add-to-cart {
    width: 100%
}

.product-actions .product-add-to-cart .control-label {
    float: left;
    width: 130px !important;
    padding-top: 10px;
}

.product-quantity .add {
    margin-top: 3rem;
}

#dor-breadcrumb a {
    font-size: 20px !important;
    font-weight: bold;
    text-decoration: underline;
}

#cms .page-cms li {
    width: 24% !important;
    display: inline-block !important;
    height: 320px !important;
}

#cms .page-cms ul {
    margin-left: 30px;
}

/**
 * Tooltip Styles
 */

/* Base styles for the element that has a tooltip */
[data-tooltip],
.tooltip {
  position: relative;
  cursor: pointer;
}

/* Base styles for the entire tooltip */
[data-tooltip]:before,
[data-tooltip]:after,
.tooltip:before,
.tooltip:after {
  position: absolute;
  visibility: hidden;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
  opacity: 0;
  -webkit-transition: 
      opacity 0.2s ease-in-out,
        visibility 0.2s ease-in-out,
        -webkit-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
    -moz-transition:    
        opacity 0.2s ease-in-out,
        visibility 0.2s ease-in-out,
        -moz-transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
    transition:         
        opacity 0.2s ease-in-out,
        visibility 0.2s ease-in-out,
        transform 0.2s cubic-bezier(0.71, 1.7, 0.77, 1.24);
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform:    translate3d(0, 0, 0);
  transform:         translate3d(0, 0, 0);
  pointer-events: none;
}

/* Show the entire tooltip on hover and focus */
[data-tooltip]:hover:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus:before,
[data-tooltip]:focus:after,
.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus:before,
.tooltip:focus:after {
  visibility: visible;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=100);
  opacity: 1;
}

/* Base styles for the tooltip's directional arrow */
.tooltip:before,
[data-tooltip]:before {
  z-index: 1001;
  border: 6px solid transparent;
  background: transparent;
  content: "";
}

/* Base styles for the tooltip's content area */
.tooltip:after,
[data-tooltip]:after {
  z-index: 1000;
  padding: 8px;
  width: auto;
  background-color: #000;
  background-color: hsla(0, 0%, 20%, 0.9);
  color: #fff;
  content: attr(data-tooltip);
  font-size: 14px;
  line-height: 1.2;
}

/* Directions */

/* Top (default) */
[data-tooltip]:before,
[data-tooltip]:after,
.tooltip:before,
.tooltip:after,
.tooltip-top:before,
.tooltip-top:after {
  bottom: 100%;
  left: 50%;
}

[data-tooltip]:before,
.tooltip:before,
.tooltip-top:before {
  margin-left: -6px;
  margin-bottom: -12px;
  border-top-color: #000;
  border-top-color: hsla(0, 0%, 20%, 0.9);
}

/* Horizontally align top/bottom tooltips */
[data-tooltip]:after,
.tooltip:after,
.tooltip-top:after {
  margin-left: -80px;
}

[data-tooltip]:hover:before,
[data-tooltip]:hover:after,
[data-tooltip]:focus:before,
[data-tooltip]:focus:after,
.tooltip:hover:before,
.tooltip:hover:after,
.tooltip:focus:before,
.tooltip:focus:after,
.tooltip-top:hover:before,
.tooltip-top:hover:after,
.tooltip-top:focus:before,
.tooltip-top:focus:after {
  -webkit-transform: translateY(-12px);
  -moz-transform:    translateY(-12px);
  transform:         translateY(-12px); 
}

/* Left */
.tooltip-left:before,
.tooltip-left:after {
  right: 100%;
  bottom: 50%;
  left: auto;
}

.tooltip-left:before {
  margin-left: 0;
  margin-right: -12px;
  margin-bottom: 0;
  border-top-color: transparent;
  border-left-color: #000;
  border-left-color: hsla(0, 0%, 20%, 0.9);
}

.tooltip-left:hover:before,
.tooltip-left:hover:after,
.tooltip-left:focus:before,
.tooltip-left:focus:after {
  -webkit-transform: translateX(-12px);
  -moz-transform:    translateX(-12px);
  transform:         translateX(-12px); 
}

/* Bottom */
.tooltip-bottom:before,
.tooltip-bottom:after {
  top: 100%;
  bottom: auto;
  left: 50%;
}

.tooltip-bottom:before {
  margin-top: -12px;
  margin-bottom: 0;
  border-top-color: transparent;
  border-bottom-color: #000;
  border-bottom-color: hsla(0, 0%, 20%, 0.9);
}

.tooltip-bottom:hover:before,
.tooltip-bottom:hover:after,
.tooltip-bottom:focus:before,
.tooltip-bottom:focus:after {
  -webkit-transform: translateY(12px);
  -moz-transform:    translateY(12px);
  transform:         translateY(12px); 
}

input[type=radio].label-radio-check {
    display: none;
}

input[type="radio"].label-radio-check:checked + label {
    border-color: #2e6da4;
    border-radius: 4px;
}

input[type="radio"].label-radio-check + label {
    border: 2px solid transparent;
}

input[type="radio"].label-radio-check + label:hover {
    cursor: pointer;
}

.prep-specific, .exchange-specific {
    display: none;
}

select.form-control:not([size]):not([multiple]) {
    height: 3.5rem;
}

.attribute-group-by-product:not(.visible) {
    display: none;
}



/* Right */
.tooltip-right:before,
.tooltip-right:after {
  bottom: 50%;
  left: 100%;
}

.tooltip-right:before {
  margin-bottom: 0;
  margin-left: -12px;
  border-top-color: transparent;
  border-right-color: #000;
  border-right-color: hsla(0, 0%, 20%, 0.9);
}

.tooltip-right:hover:before,
.tooltip-right:hover:after,
.tooltip-right:focus:before,
.tooltip-right:focus:after {
  -webkit-transform: translateX(12px);
  -moz-transform:    translateX(12px);
  transform:         translateX(12px); 
}

/* Move directional arrows down a bit for left/right tooltips */
.tooltip-left:before,
.tooltip-right:before {
  top: 14px;
}

/* Vertically center tooltip content for left/right tooltips */
.tooltip-left:after,
.tooltip-right:after {
  margin-left: 0;
  margin-bottom: -16px;
}

#module-subcustomer-manage .subcustomers-footer a i {
    font-size: 1rem;
}

#customer-form .form-group:nth-child(8) {
    margin-bottom: 35px !important;
}

#notifications .alert-success {
    margin-top: 20px;
    font-size: 1.5rem;
}

#notifications .alert-danger {
    margin-top: 20px;
    font-size: 1.5rem;
}

.page-identity #customer-form > section > div:nth-child(11) {
    margin-top: 50px;
}

.page-identity #customer-form > section > div:nth-child(11):before {
    content: "Informations de connexion";
    margin-left: 15px;
    text-decoration: underline;
    font-size: 14px;
}
[lang="en"] .page-identity #customer-form > section > div:nth-child(11):before {
    content: "Login Information";
}
[lang="de"] .page-identity #customer-form > section > div:nth-child(11):before {
    content: "Anmeldeinformationen";
}

.page-authentication #customer-form > section > div:nth-child(10) {
    margin-top: 50px;
}

.page-authentication #customer-form > section > div:nth-child(10):before {
    content: "Informations de connexion";
    margin-left: 10%;
    text-decoration: underline;
}
[lang="en"] .page-authentication #customer-form > section > div:nth-child(10):before {
    content: "Login Information";
}
[lang="de"] .page-authentication #customer-form > section > div:nth-child(10):before {
    content: "Anmeldeinformationen";
}

form:not(#login-form) [pattern=".{5,}"] + span {
    display: block !important;
    position: relative;
}
form:not(#login-form) [pattern=".{5,}"] + span button {
    display: none !important;
}

form:not(#login-form) [pattern=".{5,}"] + span:before {
    content: "5 caractères minimum";
    display: block;
    position: absolute;
    bottom: -60px;
    left: 17px;
    width: 250px;
    height: 23px;
    font-size: 11px;
}
[lang="en"] form:not(#login-form) [pattern=".{5,}"] + span:before {
    content: "Minimum length : 5 characters";
}
[lang="de"] form:not(#login-form) [pattern=".{5,}"] + span:before {
    content: "Mindestlänge: 5 Zeichen";
}

.control-line-cart.disabled {
    display: none;
}

#cart .cart-grid-right > a.label {
    background: #fff none repeat scroll 0 0;
    border: 1px solid #ddd;
    border-radius: 25px;
    color: #333;
    display: inline-block;
    font-size: 14px;
    font-weight: 400;
    padding: 12px 25px 9px;
    text-transform: uppercase;
    margin: 0 21%;
}

body#checkout #header .header-nav .logo {
    max-width: 175px;
    padding: 20px 0;
}

#form-external_reference label {
    font-size: 1.5rem;
    text-align: left;
    width: auto;
}

#dor-breadcrumb {
    height: 100px !important;
    padding: 50px 0 150px !important;
}

.loader {
    position: relative;
}

.loader::before {
    content: " ";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10;
}

.loader::after {
    content: " ";
    position: absolute;
    width: 48px;
    height: 48px;
    top: calc(50% - 24px);
    left: calc(50% - 24px);
    border: 5px solid #FFF;
    border-bottom-color: #FF3D00;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotation 1s linear infinite;
    z-index: 10;
}

@keyframes rotation {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg);
    }
}