/*
* Prefixed by https://autoprefixer.github.io
* PostCSS: v8.3.6,
* Autoprefixer: v10.3.1
* Browsers: last 4 version
*/


html {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    scroll-behavior:smooth;
}

*, *:before, *:after {
    -webkit-box-sizing: inherit;
            box-sizing: inherit;
}

body {
    font-family: 'Roboto', sans-serif;
}

.fix-width {
    /* width: 1035px;
    margin: 0 auto; */
    min-width: 1092px;
    max-width: 1575px;
    margin: 0 auto;
}

.top-nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 1px solid #cee0f5;
    border-bottom: none;
    padding: 10px;
}

.logo {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    padding-top: 8px;
}

.top-nav .nav {
    -webkit-box-flex: 2;
        -ms-flex-positive: 2;
            flex-grow: 2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}

.top-nav .nav li, .footer ul li {
    list-style: none;
}

.top-nav .nav li a, .footer ul li a, .sub-nav a {
    padding-left: 10px;
    padding-right: 10px;
    color: #0072bc;
    text-decoration: none;
}

.top-nav .nav li a:hover {
    color: #ed1c24;
}

.sub-nav {
    background-color: rgba(244,244,244,.4);
    border: 1px solid #cee0f5;
    margin-bottom: 10px;
    text-align: right;
    border-top: 1px solid #f4f4f4;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 9fr 2fr;
    grid-template-columns: 9fr 2fr;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 5px;
}

.sub-nav .builder-logo {
    text-align: center;
}

.sub-nav .builder-logo img {
    width: 18%;
    margin-top: 5px;
}


.sub-nav .builder-qty {
    cursor: pointer;
}

/* .sub-nav  a {
   margin-top: 15px;
} */

.layout {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 2fr 1fr;
    grid-template-columns: 4fr 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
}

.room-region { 
    display: -ms-grid; 
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    position: relative;
}

.room-region img {
    width: 100%;
    grid-column: col 1 / span 1;
    grid-row: row 1;
}

.listing-region {
    -ms-grid-row: 1;
    -ms-grid-column: 2;
}

.listing-region ul { 
    list-style: none;
    margin: 0px;
    padding: 0px;
}

.listing-region ul a { 
    display: block;
    padding: 5px;
    text-align: center;
    background-color: white;
    border: 1px solid #0072bc;
    border-bottom: none;
    color: #0072bc;
    text-decoration: none;
    font-size: .9em;
    position: relative;
}

.listing-region ul a.current {
    background-color: #0072bc;
    color: white;
}

.listing-region ul a.last { 
    border-bottom: 1px solid #0072bc;
}



.listing-region ul a:hover, .listing-region ul .hover {
    color: white;
    background-color: #0072bc;

    

    -webkit-animation-name: colorFadeBlue;

    

            animation-name: colorFadeBlue;
    -webkit-animation-duration: 500ms;
            animation-duration: 500ms;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
    
}


h2 {
    font-size: 28px;
    color: #0072bc;
    font-weight: normal;
}

p {
    font-size: 17px;
    font-weight: 200;
    color: #4f606a;
}

.opaque {
    opacity: .4;
}

.greyscale {
    -webkit-filter: grayscale(1);
            filter: grayscale(1);
}

.hidden {
    display: none;
    opacity: 0;
}

.screen {
    z-index: 1000;
}

/* Product listing styling */
.bottom-region {
    -ms-grid-column-span: 2;
    grid-column-end: 3;
    -ms-grid-column: 1;
    grid-column-start: 1;

    -ms-grid-row: 2;
    -ms-grid-column: 1;
}

.product-listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    border: 1px solid #505050;
    min-height: 300px;
    text-align: center;
    overflow-x: auto;
    cursor: ew-resize;
}

.product-listing .empty-room {
    line-height: 18;
}

.product-listing .product-thumbnail {
    position: relative;
    border: 1px solid black;
    min-width: 300px;
}

.product-listing .product-thumbnail img {
    max-width: 170px;
    margin-top: 10px;
}

.product-listing.hidden {
    display: none;
}

.product-listing.empty-listing {
    cursor: default;
}

.qty-container {
    padding: 20px;
}

.qty {
    padding: 10px;
    margin: 10px;
    width: 80px;
}

.product-listing .close {
    background-color: #eeeeee;
    color: #505050;
    cursor: pointer;
}
.product-listing .close:hover {
    background-color: #505050;
    color: white;
    cursor: pointer;
}

.product-listing .product-listing-title {
    padding-left: 5px;
    padding-right: 5px;
    min-height: 3em;
}

.empty-room {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
}

.action-btn {
    display: block;
    background-color: #0072bc;
    cursor: pointer;
    color: white;
    font-size: 28px;
    text-align: center;
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    opacity: .8;
    -ms-grid-column: 1;
    grid-column-start: 1;
    -ms-grid-column-span: 2;
    grid-column-end: 3;
}

.action-btn:hover {
    opacity: 1;
}

.disabled {
    opacity: .2;
}

.overlay {
    z-index: 1002;
}

.current:after {
    content: "";
    position: absolute;
    bottom: 6px;
    left: -20px;
    border-width: 16px 13px 0;
    border-style: solid;
    border-color: #0072bc transparent;
    -ms-transform: rotate(90deg);
        transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
    z-index: 1002;
}

/**
Product Info Region
**/
.info-region, .product-region {
    width: 498px;
    position: absolute;
    right: 0;
    background-color: white;
    height: 100%;
    overflow: auto;
    padding-left: 10px;
    padding-right: 10px;
    -webkit-box-shadow: -12px 4px 21px -4px rgba(0,0,0,0.51);
    box-shadow: -12px 4px 21px -4px rgba(0,0,0,0.51);
}

.actions-pane {
    position: sticky;
    right: 0px;
    bottom: 0;
    z-index: 1010;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    background-color: white;
    height: 70px;
}
.actions-pane a {
    display: block;
    opacity: 1;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    margin: 5px;
}

.actions-pane a.hidden {
    display: none;
}

.actions-pane a:hover {

}

.close-btn, .add-to-room-btn {
    background-color: #0072bc;
    color: white;
    height: 56px;
    padding: 20px;
    cursor: pointer;
    margin-top: 5px;
    border-radius: .25em;
}

.close-btn:hover {
    background-color: #031933;
}

.close-button {
    position: fixed;
    background-color: white;
    color: black;
    border: 1px solid rgb(24, 26, 24);
    min-width: 10px;
    height: 50px;
    width: 50px;
    right: 20px;
    top: 20px;
    padding: 0px;
    margin: 0px;
    cursor: pointer;
}

.add-to-room-btn {
    background-color: #bf0000;
}

.add-to-room-btn:hover {
    background-color: #ed1c24;
}

.info-region h2, .info-region h3 {
    color:#091733;
    padding: 0px;
    margin: 0px;
}
.info-region h2 {
    margin-top: 10px;
}

.info-region h3 {
    font-weight: lighter;
}


.info-region p, .info-region li {
    color: #091733;
}

.info-region .product-detail .brand-image, .info-region .product-detail .product-image {
    display: block;
    width: 30%;
    margin: 0 auto;
}

.info-region .product-detail .product-image {
    margin-top: 10px;
}

.info-region p.sku {
    margin: 0;
    font-size: 0.8em;
}



/**
Product list region
**/
.product-region {
    display: grid;
    display: -ms-grid;
    display: grid;
    -ms-grid-rows: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
}

.product-region .product-options {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto 1fr;
    align-items: start;

    padding-left: 0px;
    padding-right: 0px;

}

.product-region .product-option {
    color: white;
    background-color: white;
    text-align: center;
    min-height: 210px;
    cursor: pointer;
    opacity: 1;
    border: 2px solid white;
    padding: 2px;
    float: left;
    width: 230px;
 }

.product-region .product-option:hover {
    -webkit-animation-name: colorFade;
            animation-name: colorFade;
    -webkit-animation-duration: 1s;
            animation-duration: 1s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards;
}

.product-region .product-option a {
    display: block;
    background-color: #0072bc;
    padding: 10px;
    color: white;
    text-decoration: none;
    border: 1px solid white;
    border-radius: .25em;
}

.product-region .product-option a:hover {
    background-color: #091733;
}

.product-region .product-option:hover {
    opacity: 1;
}

.product-region .product-option img {
    display: block;
    width: 60%;
    margin-top: 10px;
    margin: 0 auto;
}

.product-region .product-option p {
   color: #333333;
   min-height: 3em;
}


/**
Form Section
**/

.full-overlay {
    position: fixed;
    top: 0;
    left: 0;
    overflow-x: hidden;
    overflow-y: scroll;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    z-index: 1010;
    background: rgba(0, 0, 0, 0.6);
    -webkit-backdrop-filter: blur(20px);
            backdrop-filter: blur(20px);
}

.close-overlay {
    float: right;
    cursor: pointer;
    z-index: 1001;
}

.rfq-form {
    width: 750px;
    margin: 0 auto;
    background-color: white;
    padding: 50px;
    border: 5px solid #505050;
    margin-top: 20px;
}

.rfq-form h5 {
    text-align: center;
    font-size: 2em;
    margin-top: 0px;
}

.rfq-form input, .rfq-form textarea, .rfq-form select {
    padding: 10px;
    margin-top: 10px;
    margin-bottom: 10px;
    width: 100%;
    resize: none;
}

.rfq-form .req {
    margin-top: -5px;
    padding: 0;
    margin-bottom: 10px;
    font-size: .9em;
    color: #bf0000;
    display: none;
}

.form-submit-txt, .form-disclaimer {
    text-align: center;
}

.form-section form {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.form-section-inner {
    padding: 10px;
}

.form-section-addr {
    -ms-grid-column: 1;
        grid-column-start: 1;
    -ms-grid-column-span: 2;
    grid-column-end: 3;
}

#new {
    width: auto;
    margin: 0;
}

.required {
    color: red;
}

.red-dot {
    background-color: #bf0000;
    padding: 5px;
    color: white;
    border-radius: 0.2em;
}

.splide {
    background-color: white;
    z-index: 1000;
}

/* Some animations */
@-webkit-keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}
@keyframes fadeIn {
    from {opacity: 0;}
    to {opacity: 1;}
}

@-webkit-keyframes colorFade {
    from { border: 2px solid white; }
    to { border: 2px solid black; }
}

@keyframes colorFade {
    from { border: 2px solid white; }
    to { border: 2px solid black; }
}



@-webkit-keyframes colorFadeBlue {
    from { background-color: white;
           color: #0072bc; }
    to { background-color: #0072bc;
         color: white; }
}



@keyframes colorFadeBlue {
    from { background-color: white;
           color: #0072bc; }
    to { background-color: #0072bc;
         color: white; }
}

.checkmark__circle {
    stroke-dasharray: 166;
    stroke-dashoffset: 166;
    stroke-width: 2;
    stroke-miterlimit: 10;
    stroke: #7ac142;
    fill: none;
    -webkit-animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
            animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards;
  }
  
  .checkmark {
    width: 56px;
    height: 56px;
    border-radius: 50%;
    display: block;
    stroke-width: 2;
    stroke: #fff;
    stroke-miterlimit: 10;
    margin: 10% auto;
    -webkit-box-shadow: inset 0px 0px 0px #7ac142;
            box-shadow: inset 0px 0px 0px #7ac142;
    -webkit-animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
            animation: fill .4s ease-in-out .4s forwards, scale .3s ease-in-out .9s both;
  }
  
  .checkmark__check {
    -webkit-transform-origin: 50% 50%;
        -ms-transform-origin: 50% 50%;
            transform-origin: 50% 50%;
    stroke-dasharray: 48;
    stroke-dashoffset: 48;
    -webkit-animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
            animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards;
  }

  .loader,
.loader:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.loader {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(0, 114, 188, 1);
  border-right: 1.1em solid rgba(0, 114, 188, 1);
  border-bottom: 1.1em solid rgba(0, 114, 188, 1);
  border-left: 1.1em solid #ffffff;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation: load8 1.1s infinite linear;
  animation: load8 1.1s infinite linear;
}


.back-listing {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    cursor: pointer;
    font-weight: 200;
    color: rgba(9,23,51,1);
}

.arrow {
    border: solid rgba(9,23,51,1);
    border-width: 0 4px 4px 0;
    display: inline-block;
    padding: 7px;
    margin-top: 10px;
  }
  
  .right {
    -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  
  .left {
    -ms-transform: rotate(135deg);
        transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
  }
  
  .up {
    -ms-transform: rotate(-135deg);
        transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  
  .down {
    -ms-transform: rotate(45deg);
        transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
  }

  .back-text {
      font-size: .9em;
  }

.footer {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    text-align: center;
    background-color: #f4f4f4;
    margin-top: 50px;
    padding-top: 60px;
    font-size: 0.875rem;
}

.footer ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}

.footer .assistance p {
    font-size: 	0.75rem;
    margin: 5px;
}


@-webkit-keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes load8 {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
  
  @-webkit-keyframes stroke {
    100% {
      stroke-dashoffset: 0;
    }
  }
  
  @keyframes stroke {
    100% {
      stroke-dashoffset: 0;
    }
  }
  @-webkit-keyframes scale {
    0%, 100% {
      -webkit-transform: none;
              transform: none;
    }
    50% {
      -webkit-transform: scale3d(1.1, 1.1, 1);
              transform: scale3d(1.1, 1.1, 1);
    }
  }
  @keyframes scale {
    0%, 100% {
      -webkit-transform: none;
              transform: none;
    }
    50% {
      -webkit-transform: scale3d(1.1, 1.1, 1);
              transform: scale3d(1.1, 1.1, 1);
    }
  }
  @-webkit-keyframes fill {
    100% {
      -webkit-box-shadow: inset 0px 0px 0px 30px #7ac142;
              box-shadow: inset 0px 0px 0px 30px #7ac142;
    }
  }
  @keyframes fill {
    100% {
      -webkit-box-shadow: inset 0px 0px 0px 30px #7ac142;
              box-shadow: inset 0px 0px 0px 30px #7ac142;
    }
  }
