.selection {
  background: #fff;
  padding: .5em;
  border-radius: 5px;
  margin-bottom: 1em;
  border: 1px solid #e5e5e5
}

#buy .btn {
  margin: 2px 0
}

.abs {
  position: absolute;
  bottom: 0;
  margin-bottom: -20px
}
.toggle span::after {
  content:'Hide';
  display: inline;
}
.toggle.collapsed span::after {
  content:'Show';
  display: inline;
}
#checkoutBar {
  position: fixed;
  width: 100%;
  bottom: 0;
  padding: 5px 5.5em 0 .75em;
  background: #f5f5f5;
  border-top: 1px solid #ccc;
  display: flex;
  align-items: center;
  justify-content: space-between;
  z-index: 999
}

.activeCart #checkoutBar {
  bottom: 44px
}

@media (max-width:767px) {+

  #checkoutBar {
    justify-content: center
  }

  #checkoutBar h2 {
    display: none
  }

  #checkoutBar .btn {
    padding: .25rem .5rem;
    font-size: .875rem;
    line-height: 1.5;
    border-radius: .2rem;
    margin-top: 0;
    margin-bottom: 0
  }
}

.Table {
  border: 1px solid #e5e5e5;
  border-radius: 5px
}

.Table-header {
  border-radius: 5px 5px 0 0;
  overflow: hidden
}

.Table-row-item {
  align-items: flex-start
}

.Table-row-item span {
  justify-content: flex-start
}

#projection .pretty,
#width .pretty {
  display: block;
  margin-bottom: 10px
}

.items>div {
  padding: .25em .5em;
  border-radius: .25em;
  background: #f5f5f5;
  margin: 10px 0;
  align-items: center
}

.form-row {
  display: flex;
  flex-direction: row;
  position: relative;
  margin-bottom: 24px;
  align-items: center
}

.form-row .btn {
  margin-right: 10px;
  align-items: center;
  display: flex
}

.form-column {
  display: flex;
  flex-direction: column
}

.form-column label {
  font-size: .9rem;
  position: absolute;
  bottom: 0;
  margin-bottom: -24px
}

.error {
  color: #f10
}

.colors {
  display: flex;
  flex-direction: column;
  margin-right: 1em;
  font-size: .9rem;
  padding: 3px 5px;
  border-radius: 5px;
  line-height: 1.1rem
}

@media (max-width:767px) {
  .form-row {
    display: block
  }

  .colors,
  .form-column {
    margin-bottom: 10px
  }

  .form-row:nth-child(2) .form-column:nth-child(1) {
    width: 50%;
    margin-right: 10px;
    float: left
  }

  .form-row:nth-child(2) .form-column:nth-child(2) {
    width: 20%;
    float: left
  }

  .colors {
    clear: left
  }

  input[type=email],
  input[type=number],
  input[type=text] {
    width: 100%
  }

  .form-row:nth-child(2) .form-column:nth-child(1) {
    width: 50%;
    margin-right: 10px;
    float: left
  }

  .form-row:nth-child(2) .form-column:nth-child(2) {
    width: 20%;
    float: left
  }

  .colors {
    clear: left
  }

  input[type=email],
  input[type=number],
  input[type=text] {
    width: 100%
  }

  .form-column label {
    position: relative;
    margin-bottom: 0
  }

  .form-row .btn {
    margin-right: 10px;
    align-items: center;
    display: inline-block;
    float: left
  }

  .form-row .btn:first-child {
    width: 50%
  }

  .form-row .btn:last-child {
    width: 10%
  }

  .Table-row-item .btn {
    margin: 0 auto
  }

  .Table-row-item .btn {
    margin: 0 auto
  }
}

@media (max-width:767px) {
  .btn-group {
    display: block
  }
}

#formCount form {
  background: #f8f8f8;
  padding: .5em 1em;
  border-radius: 5px;
  margin-bottom: 10px
}

#formCount h3 {
  color: #444;
  margin-bottom: 5px
}

#formCount .snipcart-add-item {
  margin-left: auto
}

#aluminumImageLayersWrapper div {
  border: 1px solid #e5e5e5;
  border-radius: 5px;
  position: relative;
  height: 100%
}

#collapseFabricChoice {
  border-radius: 5px;
  position: relative
}

#aluminumImageLayersWrapper #aluminumImageLayer1 {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  z-index: 1
}

#aluminumImageLayersWrapper #aluminumImageLayer2 {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  z-index: 2
}

#aluminumImageLayersWrapper #aluminumImageLayer3 {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  z-index: 3
}

#aluminumImageLayersWrapper #aluminumImageLayer4 {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  z-index: 4
}

#aluminumImageLayersWrapper #aluminumImageLayer5 {
  position: absolute;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
  z-index: 4
}

#colorPicker {
  margin-top: 1em
}

@media (max-width:991px) {
  #colorPicker .grid-row {
    display: block
  }

  #aluminumImageLayersWrapper div {
    min-height: 200px;
    margin-top: 1em
  }
}

#aluminumColorPickerButtons .btn-aluminumColor {
  width: 32px;
  height: 32px;
  border-radius: 0;
  margin-left: 1px;
  border: 1px solid #ccc
}

@media (max-width:767px) {
  #aluminumColorPickerButtons .btn-aluminumColor {
    width: 50px;
    height: 50px;
    margin-left: 0
  }
}

#cmdNoStripe {
  margin-left: 0
}

#aluminumColorPickerButtons .btn:first-child {
  margin-left: 0
}

#aluminumColorPickerButtons .btn:last-child {
  margin-right: 0
}

#aluminumColorPickerButtons .aluminumAlmond {
  background-color: #d2cfb9
}

#aluminumColorPickerButtons .aluminumMochaTan {
  background-color: #af8558
}

#aluminumColorPickerButtons .aluminumSandalwood {
  background-color: #ad9c82
}

#aluminumColorPickerButtons .aluminumBrickRed {
  background-color: #77171c
}

#aluminumColorPickerButtons .aluminumBurgundy {
  background-color: #542125
}

#aluminumColorPickerButtons .aluminumBrown {
  background-color: #331f18
}

#aluminumColorPickerButtons .aluminumEvergreen {
  background-color: #073625
}

#aluminumColorPickerButtons .aluminumFernGreen {
  background-color: #296247
}

#aluminumColorPickerButtons .aluminumSlateBlue {
  background-color: #4b595b
}

#aluminumColorPickerButtons .aluminumBedfordBlue {
  background-color: #1e2f34
}

#aluminumColorPickerButtons .aluminumGraystone {
  background-color: #7f827d
}

#aluminumColorPickerButtons .aluminumWhite {
  background-color: #fff
}

#aluminumColorPickerButtons .aluminumBlack {
  background-color: #080c0b
}

#step-0 {
  flex: 0 1 100%;
  padding: 1em;
  background: #fff;
  border-radius: 5px
}

@media (min-width:767px) {
  .left .btn-group {
    display: flex;
    margin: 0 -4px
  }

  .left .btn-group .btn {
    flex: 0 1 100%
  }
}

@media (min-width:767px) {
  #colorTabs {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    border: 1px solid #007bff;
    margin-bottom: 10px;
    border-radius: 5px
  }
}

#colorTabs .nav-link {
  flex: 1;
  text-align: center;
  padding: 8px
}

#colorTabs .nav-link:not(:last-child) {
  border-right: 1px solid #007bff
}

#colorTabs .nav-link.active {
  background: #007bff;
  color: #fff
}

#colorTabs .nav-link.active:first-child {
  border-radius: 3px 0 0 3px
}

#colorTabs .nav-link.active:last-child {
  border-radius: 0 3px 3px 0
}

.selectHousing {
  padding: 1em;
  border-radius: 5px;
  background: #fff;
  margin-top: 1em
}

#collapseFabricOptions {
  width: 100%;
  background: #fff;
  min-height: 500px
}

.fabricOptions {
  max-height: 460px;
  overflow-y: scroll;
  text-align: center;
  background: #fff;
  padding: 1em;
  border-radius: 5px
}

.fabricOptions::-moz-scrollbar {
  -webkit-appearance: none
}

.fabricOptions::-moz-scrollbar:vertical {
  width: 11px
}

.fabricOptions::-moz-scrollbar:horizontal {
  height: 11px
}

.fabricOptions::-moz-scrollbar-thumb {
  border-radius: 8px;
  border: 2px solid #fff;
  background-color: rgba(0, 0, 0, .5)
}

.fabricOptions::-moz-scrollbar-track {
  background-color: #fff;
  border-radius: 8px
}

.fabricOptions::-webkit-scrollbar {
  -webkit-appearance: none
}

.fabricOptions::-webkit-scrollbar:vertical {
  width: 11px
}

.fabricOptions::-webkit-scrollbar:horizontal {
  height: 11px
}

.fabricOptions::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 2px solid #fff;
  background-color: rgba(0, 0, 0, .5)
}

.fabricOptions::-webkit-scrollbar-track {
  background-color: #fff;
  border-radius: 8px
}

.nuimageFabrics {
  max-height: 336px;
  overflow-y: scroll;
  text-align: center
}

.nuimageFabrics ul {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden
}

.nuimageFabrics ul li img {
  display: block;
  margin: 0 auto
}

.nuimageFabrics ul li {
  width: 30%;
  display: inline-block;
  list-style: none;
  overflow: hidden;
  height: 112px;
  vertical-align: top;
  font-size: .9rem;
  margin-bottom: 12px;
  line-height: 1.1rem
}

.nuimageFabrics .thumbnail {
  display: block;
  padding: 4px;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
  -webkit-transition: border .2s ease-in-out;
  -o-transition: border .2s ease-in-out;
  transition: border .2s ease-in-out
}

#configure>* {
  overflow: visible
}

#configure .left,
#configure .right {
  flex: 1
}

#configure .left {
  padding: 1em;
  background: #f5f5f5;
  border-radius: 5px;
  flex:0 1 45%;
}

#configure .right {
  margin-top: 3em
}

@media (min-width:767px) {
  #configure .right {
    padding-left: 1em
  }
}

#productImage {
  min-height: auto !important;
  display: block !important;
  margin: 0 auto;
  padding: 20px 0
}

#instruct {
  position: relative;
  max-width: 450px;
  margin:0 auto;
}

#instruct .loading {
  display: none;
  position: absolute;
  z-index: 1000;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  background: #fff url(/assets/img/icons/loading.gif) 50% 50% no-repeat
}

#instruct .loading.active {
  display: flex;
  align-items: center;
  justify-content: center
}

#fabricWrapper {
  position: relative;
  top: 0;
  left: 0;
  text-align: center;
  background: #fff;
  border-radius: 5px;
  background-size: cover;
  min-height: 160px
}

#frameColour {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1
}

@media (max-width:767px) {
  #configure .image-only {
    display: flex;
    align-items: center;
    padding: 0 2em !important;
    background: #f5f5f5;
    padding-bottom: 2em;
    border-radius: 0;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background: #fafafa;
    z-index: 999999;
    border-top: 2px solid #192433
  }

  .activeCart #configure .image-only {
    bottom:45px;
  }

  .image-only #instruct {
    display: flex;
    flex-direction: column
  }

  .image-only #productImage {
    width: 100%;
    min-height: unset !important;
    padding: 0 0 10px 10px;
    align-self: center
  }

  .image-only #instruct .text {
    font-size: 90%;
    line-height: 1.2rem
  }

  .image-only #instruct .text p {
    margin: 5px 0
  }
}

@media (max-width:400px) {
  #instruct .text p {
    display: none
  }

  #instruct .text {
    display: flex;
    align-items: center
  }
}

#smartwizard .nav-link {
  padding: .3rem .6rem
}

.btn-frame-white {
  background-color: #fff;
  color: #222
}

.btn-frame-almond {
  background-color: #d2cfb9;
  color: #331f18
}

.btn-frame-brown {
  background-color: #331f18
}

.btn-frame-cream {
  background-color: #f9f6e5;
  color: #222
}

.btn-frame-onyx {
  background-color: #080808
}

.btn-frame-anthracite {
  background-color: #1c232b
}

.btn-frame-green {
  background-color: #1b3e3a
}

.btn-frame-taupe {
  background-color: #b28365
}

.btn-frame-gray {
  background-color: #7f8497
}

.btn-frame-brasiliaBrown {
  background-color: #49372b
}

.btn-frame-beige {
  background-color: #baaa93
}

#frameColour {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1
}

.fabric-gallery ul {
  list-style: none;
  margin: 0;
  padding: 0;
  overflow: hidden
}

.fabric-gallery li {
  width: 134px;
  height: 100px;
  text-align: center;
  vertical-align: top
}

.fabric-gallery img {
  padding: 0;
  border-radius: 2px;
  width: 100%;
  max-width: 100%
}

#brasilia .fabric-gallery li {
  height: 150px;
  width: 115px
}

.fabric-gallery ul li {
  display: inline-block;
  list-style: none;
  overflow: hidden
}

.fabric-gallery ul li img {
  display: block;
  margin: 0 auto
}

.fabric-gallery .fabric>img {
  display: block;
  max-width: 100%;
  height: auto
}

.fabric-gallery a {
  margin-bottom: 5px
}

.fabric-gallery .fabric {
  display: block;
  padding: 2px;
  margin-bottom: 0;
  line-height: 1.42857143;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 2px;
  -webkit-transition: border .2s ease-in-out;
  -o-transition: border .2s ease-in-out;
  transition: border .2s ease-in-out
}

.fabric-gallery li.active .fabric {
  border: 2px solid #000
}

.fabric-gallery dl {
  margin: 0 auto;
  padding: 0;
  line-height: 1em
}

.fabric-gallery dt {
  font-size: 12px
}

.fabric-gallery dl dt {
  margin: 0 0 .25em;
  padding: 0
}

#orderForm {
  border-radius: 5px;
  padding: .5em
}

#configure {
  display: block
}

@media (min-width:991px) {
  #configure {
    display: flex
  }
}

#orderForm .form-group .group {
  display: flex;
  flex-direction: row
}

#orderForm .form-group .group.vertical {
  flex-direction: column
}

#orderForm .form-group .group.vertical .pretty {
  margin-bottom: 8px
}

#orderForm .form-group {
  display: flex;
  margin: .5em 0;
  padding: 0;
  align-items: flex-start;
  flex-wrap: wrap;
  position: relative
}
.form-group-border {
  border: 2px solid #e5e5e5;
  border-radius: 5px;
  padding: 1em;
  margin:1.5em 0;
}
#orderForm .form-group input {
  width: 98%
}

#orderForm .form-group label {
  flex: 0 1 100%
}

#orderForm .form-group label .light {
  color: #777;
  font-weight: 400
}

#orderForm .form-group label:not(.instructions) {
  font-weight: 700
}

#orderForm .form-group label.instructions {
  font-size: .9rem;
  line-height: 1.1rem
}

#orderForm .form-group label.active {
  color: #007bff
}

#orderForm .form-group label.active:before {
  content: "\2192";
  margin-right: 5px
}

#orderForm .form-group label.complete:before {
  content: "\2713 ";
  color: #28a745;
  margin-right: 5px
}

#orderForm .form-group .input,
#orderForm .form-group .input input,
#orderForm .form-group .offset-input,
#orderForm .form-group label,
#orderForm .instructions {
  flex: 0 1 100%;
  width: 100%
}
#orderForm #downcut .instructions {
  flex: 0 1 55%;
}
@media (max-width: 767px) {
  #orderForm #downcut .instructions {
    flex: 0 1 100%;
  }
}
#orderForm .instructions {
  margin-bottom: 12px
}

#orderForm .form-group.label {
  border-bottom: 1px solid #192433;
  padding: 1px 0;
  margin-bottom: 0
}

#orderForm .form-group label .bolder {
  font-weight: 800;
  font-size: 1.2rem
}

#orderForm .form-group .input,
#orderForm .form-group .offset-input {
  display: flex;
  flex-direction: column
}

#orderForm .form-group .input.vertical {
  flex-direction: row
}

#orderForm .form-group .offset-input input {
  width: 40%;
  margin-left: 1.5em
}

input:disabled {
  background: #f7f7f7;
  color: #999
}

input.is-valid {
  border-color: #28a745;
  background: #f8fdf9;
  color: #000
}

input:disabled+label {
  opacity: .33
}

#orderForm .form-group label small {
  font-weight: 400
}

#orderForm .form-group label.error {
  flex: 0 1 100%;
  margin-top: 6px;
  margin-left:0;
}
@media (min-width: 767px) {
  #orderForm .form-group label.error {
    margin-left:150px;
  }
}

#orderForm .pretty {
  position: relative;
  display: inline-block;
  margin-right: 1em;
  margin-bottom: 8px;
  white-space: nowrap;
  line-height: 1
}

#orderForm :not(.vertical) .pretty {
  margin-bottom: 8px
}

#orderForm .vertical .pretty {
  margin-bottom: 0
}

#summary {
  background: #fff;
  padding: 1em;
  border-radius: .5em
}

#summaryPrice.form-group {
  align-items: flex-start;
  flex-direction: column;
  background: 0 0 !important
}

#rowTotalPrice {
  margin-top: 1em
}

#selectedFabric,
#selectedHousing {
  position: absolute;
  width: 150px;
  height: 150px;
  bottom: 10px;
  border: 1px solid #192433;
  margin-bottom: 5px
}

.split {
  flex: 1;
  margin-right: 5px
}

.form-group .split:first-child {
  margin-right: 8px
}

@media (max-width:767px) {
  #fabricWrapper {
    min-height: 136px
  }

  #selectedHousing {
    top: 0;
    bottom: unset;
    left: 50%;
    transform: translate(-50%)
  }

  #selectedFabric {
    bottom: 0;
    left: 50%;
    transform: translate(-50%)
  }
}

@media (min-width:991px) {

  #orderForm .form-group .input,
  #orderForm .form-group .input input,
  #orderForm .form-group .offset-input,
  #orderForm .form-group label,
  #orderForm .instructions {
    flex: 1
  }

  #orderForm .instructions {
    margin: 2px 0 0;
    display: block;
    line-height: 1.3
  }
}

@media (min-width:767px) {

  #selectedFabric,
  #selectedHousing {
    position: absolute;
    width: 150px;
    height: 150px;
    bottom: 10px;
    border: 1px solid #192433
  }

  #selectedHousing {
    left: 10px
  }

  #selectedFabric {
    left: 170px
  }
}
p.instructions {
  margin-top: 4px
}

#selectedFabric span,
#selectedHousing span {
  position: absolute;
  width: 125px;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
  line-height: 1.2rem;
  font-weight: 800;
  background: rgba(255, 255, 255, .8);
  padding: 1px;
  border-radius: 5px
}

#selectedFabric small,
#selectedHousing small {
  display: block;
  font-weight: 600
}

.split-lg-35 {
  flex: 0 1 50%
}

.split-lg-65 {
  flex: 0 1 50%
}

@media (max-width:1200px) {
  .lg-full {
    flex: 0 1 100% !important;
    width: 100%;
    margin-bottom: 12px !important
  }

  .split-lg-35 {
    flex: 0 1 35% !important;
    width: 35%
  }

  .split-lg-65 {
    flex: 0 1 65% !important;
    width: 65%
  }
}

.text-capitalize {
  text-transform: capitalize
}

.text-uppercase {
  text-transform: uppercase
}

::-webkit-input-placeholder {
  font-size: 1rem
}

::-moz-placeholder {
  font-size: 1rem
}

:-ms-input-placeholder {
  font-size: 1rem
}

::placeholder {
  font-size: 1rem
}
#submit {
  display: inline-flex;
  align-items: center;
}
#resetForm {
  min-width: 139px;
}
#loader {
  display: inline-block;
  width: 25px;
  height: 25px;
  border: 3px solid rgba(255,255,255,.3);
  border-radius: 50%;
  border-top-color: #fff;
  animation: spin 1s ease-in-out infinite;
  -webkit-animation: spin 1s ease-in-out infinite;
  margin-right:5px;
}

@keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}
@-webkit-keyframes spin {
  to { -webkit-transform: rotate(360deg); }
}