/*! HTML5 Boilerplate v4.3.0 | MIT License | http://h5bp.com/ */

/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */

/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */

html,
button,
input,
select,
textarea {
  color: #222;
}

html {
  font-size: 0.75em;
  line-height: 1.4;
}

/*
 * Remove text-shadow in selection highlight: h5bp.com/i
 * These selection rule sets have to be separate.
 * Customize the background color to match your design.
 */

::-moz-selection {
  background: rgba(0, 0, 0, 0);
  text-shadow: none;
}

::selection {
  background: rgba(0, 0, 0, 0);
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between images, videos, audio and canvas and the bottom of
 * their containers: h5bp.com/i/440
 */

audio,
canvas,
img,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */

fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */

textarea {
  resize: vertical;
}

/* ==========================================================================
   Warnings
   ========================================================================== */

.warningMessage {
  position: absolute;
  width: 100%;
  height: 100px;
  top: 50%;
  left: 50%;
  margin-left: -50%;
  margin-top: -50px;

  line-height: 50px;

  text-align: center;
  vertical-align: middle;

  font-size: 32px;
  color: white;
}

#browserWarning .warningMessage {
  height: 150px;
  margin-top: -75px;
}

.warningMessage a {
  color: #A0A0A0;
  cursor: pointer;
}

.warningMessage a:hover {
  color: #909090;
}

.messageBox {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;

  background: url('../img/cherryWood.jpg');
}

#orientationWarning {
  display: none;
}

@media only screen and (orientation:portrait){
    #orientationWarning {
      display:block;
    }
}

@media only screen and (orientation:landscape){
    #orientationWarning {
      display:none;
    }
}

/* ==========================================================================
   Custom styles
   ========================================================================== */

* {
  cursor: default;
  color: white;
  font-family: "Helvetica Neue Light",Verdana,sans-serif;
}

.row, .col {
  overflow: hidden;
  position: absolute;
}

.row {
  left: 0;
  right: 0;
}

.col {
  top: 0;
  bottom: 0;
}

.center {
  text-align: center;
}

img.expandV {
  height: 100%;
}

img.expandH {
  width: 100%;
}

.app {
  background: url('../img/cherryWood.jpg');
}

.top.row {
  top: 0;
  bottom: 60%;
}

.bottom.row {
  top: 40%;
  bottom: 0;
}

.top {
  display: none;
}

.bottom {
  display: none;
}

.button {
  position: absolute;
}

.ui-dialog-buttonset {
  margin-left: 85px;
}

.ui-dialog-buttonset .ui-button, .button {
  height: 38px;
  width: 96px;
  margin: 4px;
  background: rgba(200, 200, 200, 0.25);
  border: solid 1px black;
  text-align: center;
  line-height: 38px;
  font-size: 16px;
  font-weight: bold;
  text-decoration: none;
}

.ui-dialog-buttonset .ui-button:hover, .button:hover {
  background: rgba(225, 225, 225, 0.25);
}

.ui-dialog-buttonset .ui-button:active, .button:active {
  background: rgba(255, 255, 255, 0.25);
}

.ui-dialog-buttonset .ui-button.ui-state-disabled, .button.ui-state-disabled {
  background: rgba(160, 160, 160, 0.2);
}

.ui-dialog-buttonset .ui-button.ui-state-disabled span, .button.ui-state-disabled span {
  color: rgba(160, 160, 160, 0.5);
}

.next {
  bottom: 0;
  right: 0;
}

.previous {
  bottom: 52px;
  right: 0;
}

.url {
  bottom: 0;
  right: 0;
}

.header.row {
  top: 0;
  bottom: 80%;
}

.topContent.row {
  top: 20%;
  bottom: 0;
}

.bottomContent.row {
  top: 30%;
  bottom: 20%;
}

/* CHOOSE LAYOUT */

.beforeImage {
  position: absolute;
  right: 60%;
}

.afterImage {
  position: absolute;
  left: 60%;
}

.beforeLabel {
  position: absolute;
  right: 52%;
  left: 42%;

  text-align: left;
}

.afterLabel {
  position: absolute;
  left: 52%;
  right: 42%;

  text-align: right;
}

.bottom .header.row {
  top: 0;
  bottom: 75%;
}

.bottom .footer.row {
  top: 85%;
  bottom: 0;
}

.layoutGroup {
  text-align: center;
  background: rgba(225, 225, 225, 0.2);
  margin: 10px;
}

.layoutSelection {
  position: absolute;
  left: 0;
  right: 0;
}

.layoutHeader.row {
  top: 0;
  bottom: 80%;
}

.layoutHeader h4 {
  margin: 5px;
}

.layoutContent.row {
  top: 20%;
  bottom: 10px;
}

.freeStanding.col {
  left: 0;
  width: 41%;
}

.bartendersExit.col {
  left: 42.5%;
  width: 27%;
}

.bartendersReturn.col {
  left: 71%;
  width: 27%;
}

.layoutItemList {
  position: absolute;
  width: 100%;
  height: 100%;
  list-style: none;
  padding: 0;
  margin: 0;
}

.layoutItemList.two .layoutItem {
  width: 47.5%;
}

.layoutItemList.three .layoutItem {
  width: 31%;
}

.layoutItem {
  display: inline-block;
  box-sizing: border-box;
  width: 100%;
  height: 100%;
}

.layoutItem:hover .layoutOuter,
.lowerItem:hover .lowerItemInner,
.upperItem:hover .upperItemInner,
.frontItem:hover .frontItemInner {
  background: #E0E0E0;
}

.layoutItem.selected .layoutOuter,
.lowerItem.selected .lowerItemInner,
.upperItem.selected .upperItemInner,
.frontItem.selected .frontItemInner {
  background: #C0C0C0;
  transition: background .15s ease-in-out;
  -moz-transition: background .15s ease-in-out;
  -webkit-transition: background .15s ease-in-out;
}

.layoutItem:hover .layoutOuter .fillImage,
.lowerItem:hover .lowerItemInner .fillImage,
.upperItem:hover .upperItemInner .fillImage,
.frontItem:hover .frontItemInner .fillImage {
  background-color: #E0E0E0;
}

.layoutItem.selected .layoutOuter .fillImage,
.lowerItem.selected .lowerItemInner .fillImage,
.upperItem.selected .upperItemInner .fillImage,
.frontItem.selected .frontItemInner .fillImage {
  background-color: #C0C0C0;
  transition: background-color .15s ease-in-out;
  -moz-transition: background-color .15s ease-in-out;
  -webkit-transition: background-color .15s ease-in-out;
}

.layoutOuter {
  background: white;
  top: 4%;
  left: 4%;
  width: 94%;
  height: 94%;
}

.selectPlaceholder {
  display: none;

  position: absolute;
  width: 100%;
  height: 100px;
  top: 50%;
  left: 50%;
  margin-left: -50%;
  margin-top: -50px;

  line-height: 50px;

  text-align: center;
  vertical-align: middle;

  font-size: 16px;
  color: white;
}

.fillImage, .layoutSelected,
.lowerSelected,
.upperSelected,
.frontSelected {
  display: none;
  position: relative;
  background: no-repeat center;
  background-size: contain;
  padding: 0;
}

.fillImage {
  position: relative;
  display: block;
  left: 4%;
  right: 4%;
  top: 4%;
  bottom: 4%;
  width: 92%;
  height: 92%;
}

.layoutSelected,
.lowerSelected,
.upperSelected,
.frontSelected {
  position: relative;
  width: 100%;
  height: 100%;
}

#diagramSliderUpper .fillImage {
  top: 8%;
}

#diagramSliderFront .fillImage {
  top: 0;
}

#photoSliderUpper .fillImage {
  top: 6%;
}

#photoSliderFront .fillImage {
  top: 2%;
}

#diagramSliderUpper .inset,
#photoSliderUpper .inset {
  -moz-box-shadow:    inset 0 2px 2px rgba(0, 0, 0, 0.5), inset -2px 2px 2px rgba(0, 0, 0, 0.5), inset 2px 2px 2px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: inset 0 2px 2px rgba(0, 0, 0, 0.5), inset -2px 2px 2px rgba(0, 0, 0, 0.5), inset 2px 2px 2px rgba(0, 0, 0, 0.5);
  box-shadow:         inset 0 2px 2px rgba(0, 0, 0, 0.5), inset -2px 2px 2px rgba(0, 0, 0, 0.5), inset 2px 2px 2px rgba(0, 0, 0, 0.5);
}

#diagramSliderFront .inset,
#photoSliderFront .inset {
  -moz-box-shadow:    inset 0 -2px 2px rgba(0, 0, 0, 0.5), inset -2px -2px 2px rgba(0, 0, 0, 0.5), inset 2px -2px 2px rgba(0, 0, 0, 0.5);
  -webkit-box-shadow: inset 0 -2px 2px rgba(0, 0, 0, 0.5), inset -2px -2px 2px rgba(0, 0, 0, 0.5), inset 2px -2px 2px rgba(0, 0, 0, 0.5);
  box-shadow:         inset 0 -2px 2px rgba(0, 0, 0, 0.5), inset -2px -2px 2px rgba(0, 0, 0, 0.5), inset 2px -2px 2px rgba(0, 0, 0, 0.5);
}

/* CHOOSE LOWER CABINET */

.lowerList, .upperList, .frontList {
  list-style: none;
  display: table;
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
}

.lowerList .lowerItem,
.upperList .upperItem,
.frontList .frontItem {
  display: table-cell;
  width: 1%;
}

.lowerItem,
.upperItem,
.frontItem,
.slide {
  padding: 5px;
  position: relative;
  width: 100%;
  height: 100%;
}

#diagramSliderUpper .slide,
#photoSliderUpper .slide {
  padding-bottom: 0;
}

#diagramSliderFront .slide,
#photoSliderFront .slide,
#photoSliderLower .slide  {
  padding-top: 0;
}

.lowerItemInner,
.upperItemInner,
.frontItemInner,
.slideInner {
  background: white;
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
}

.fillFix {
  position: relative;
  width: 100%;
  height: 100%;
}

.slideInner.ghost {
  background: rgba(255, 255, 255, 0.15);
}

/* CUSTOMIZE */

input[type=checkbox], input[type=radio] {
  min-height:20px;min-width:20px;
}

#reviewTop label {
  font-weight: bold;
  height: 25px;
}

.optionInput {
  display: inline-block;
  margin-right: 5px;
}

.optionInput.vertical {
  display: block;
  margin-right: 0;
}

.optionLabel {
  display: inline-table;
  height: 25px;
  vertical-align: middle;
}

#reviewTop label.vertical {
  display: block;
  clear: both;
}

.woodAndStain.col {
  left: 1%;
  right: 55%
}

.wood.row {
  top: 0;
  bottom: 70%;
  padding: 5px;
}

.stain.row {
  top: 30%;
  bottom: 0;
  padding: 5px;
}

.wood, .stain, .options {
  background: rgba(255, 255, 255, 0.15);
  margin: 3px;
}

.stainA {
  overflow: hidden;
  position: absolute;
  margin-left: 0;
  margin-right: 70%;
}

.stainB {
  overflow: hidden;
  position: absolute;
  margin-left: 30%;
  margin-right: 40%;
}

.stainC {
  overflow: hidden;
  position: absolute;
  margin-left: 57%;
  margin-right: 0;
}

.options.col {
  left: 45%;
  right: 27%;
}

.optionsTop.row {
  left: 5px;
  top: 0;
  bottom: 45%;
}

.optionsBottom.row {
  left: 5px;
  top: 55%;
  bottom: 0;
}

.optionsBottomA.col {
  left: 0;
  right: 50%;
}

.optionsBottomB.col {
  left: 50%;
  right: 0;
}

.totals.col {
  left: 73%;
  right: 0;
}

.totals .costLabels.col {
  left: 0;
  right: 25%;
  padding-right: 2%;
}

.totals .costValues.col {
  left: 75%;
  right: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.5);
  padding-left: 2%;
}

.totals .costLabels .label {
  width: 100%;
  margin-top: 3px;
  margin-bottom: 3px;
  text-align: right;
}

.totals .costValues .value {
  width: 100%;
  margin-top: 3px;
  margin-bottom: 3px;
  text-align: left;
}

.totals {
  margin: 1%;
  background: rgba(255, 255, 255, 0.15);
}

.totalsInner {
  width: 100%;
  height: 100%;
}

.totals * {
  color: white;
}

/* STATUS */

.diagram.col {
  left: 0;
  right: 70%;
}

.photo.col {
  left: 30%;
  right: 50%;
}

.misc.col {
  left: 50%;
  right: 0;
}

.costs.row {
  top: 0;
  bottom: 55%;
}

.note.row {
  left: 50%;
  top: 45%;
  height: 90px;
}

.other.row {
  top: 60%;
  bottom: 0;
}

.layout.col {
  left: 0;
  right: 50%;
}

.logoArea.col {
  left: 50%;
  right: 110px;
}

.nav.col {
  right: 0;
  width: 110px;
}

.misc.col {
  left: 50%;
  right: 0;
}

.costs {
  margin: 15px;
  background: rgba(128, 128, 128, 0.15);
}

.note {
  margin: -5px 15px 15px;
  background: rgba(128, 128, 128, 0.15);
  font-size: 13px;
}

.note p {
  color: white;
  margin: 5px;
  text-align: center;
}

.costsInner {
  width: 100%;
  height: 100%;
}

.costs * {
  color: white;
}

.lineItems.row {
  top: 0;
  bottom: 25%;
}

.totalCost.row {
  border-top: 1px solid rgba(0, 0, 0, 0.5);
  top: 75%;
  bottom: 0;
}

.costs .costLabels.col {
  left: 0;
  right: 50%;
  padding: 1% 2% 1% 0;
}

.costs .costValues.col {
  left: 50%;
  right: 0;
  border-left: 1px solid rgba(0, 0, 0, 0.5);
  padding: 1% 0 1% 2%;
}

.costs .costLabels .label {
  width: 100%;
  height: 25%;
  text-align: right;
}

.costs .costValues .value {
  width: 100%;
  height: 25%;
  text-align: left;
}

.totalCost {
  font-weight: bold;
}

.diagramUpper.row {
  top: 0;
  bottom: 50%
}

.diagramFront.row {
  top: 50%;
  bottom: 0;
}

.photoUpper.row {
  top: 0;
  bottom: 67%
}

.photoFront.row {
  top: 33%;
  bottom: 34%;
}

.photoLower.row {
  top: 67%;
  bottom: 0;
}

#diagramSliderUpper .fillImage {
  background-position: center bottom;
}

#diagramSliderFront .fillImage {
  background-position: center top;
}

.slide {
  position: absolute;
  box-sizing: border-box;
  width: 100% !important;
  height: 100%;
}

.slideInner {
  width: 100%;
  height: 100%;
}

.close {
  cursor: pointer;
  position: absolute;
  left: 75px;
  top: 25%;
  bottom: 25%;
  height: 50%;
}

.reset {
  cursor: pointer;
  position: absolute;
  left: 15px;
  top: 25%;
  bottom: 25%;
  height: 50%;
}

.logo {
  position: absolute;
  right: 15px;
  top: 20%;
  bottom: 25%;
  height: 60%;
}

.dealerLogo {
  position: absolute;

  left: 42%;
  right: 42%;

  top: 35%;
  overflow: visible;
}

.dealerLogo img {
  width: 100%;
}

.smallLogo {
  position: absolute;

  left: 12px;
  right: 6px;
  bottom: 12px;
}

.smallLogo img {
  width: 100%;
}

.ui-dialog-title {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.ui-dialog {
  padding: 10px;

  border: 2px solid rgba(0, 0, 0, 0.5);
  box-sizing: content-box;
  border-radius: 6px;
  background: url('../img/cherryWoodDark.jpg');
  -webkit-box-shadow: 15px 15px 15px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 15px 15px 15px 0px rgba(0,0,0,0.75);
  box-shadow: 15px 15px 15px 0px rgba(0,0,0,0.75);
}

.ui-dialog-titlebar-close {
  visibility: hidden;
}

.tip-error {
  margin-left: 15px;
}

.ui-state-error {
  color: red;
}

#submitForm {
  display: none;
}

#submitForm form {
  margin-top: 15px;
}

#submitForm .ui-widget-content, #submitForm label {
  width: 75%;
  margin: 5px 5%;
  display: block;
}

#submitForm .ui-widget-content {
  margin-bottom: 15px;
}

#submitForm textarea {
  height: 80px;
  resize: none;
}

#ui-widget-overlay {
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.5);
}

/*
EFFECTS
*/

.shadow {
  -webkit-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.75);
  -moz-box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.75);
  box-shadow: 5px 5px 5px 0px rgba(0,0,0,0.75);
}

.inset {
  -moz-box-shadow:    inset 0 0 5px black;
  -webkit-box-shadow: inset 0 0 5px black;
  box-shadow:         inset 0 0 5px black;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */

/*
 * Image replacement
 */

.ir {
  background-color: transparent;
  border: 0;
  overflow: hidden;
  /* IE 6/7 fallback */
  *text-indent: -9999px;
}

.ir:before {
  content: "";
  display: block;
  width: 0;
  height: 150%;
}

/*
 * Hide from both screenreaders and browsers: h5bp.com/u
 */

.hidden {
  display: none !important;
  visibility: hidden;
}

/*
 * Hide only visually, but have it available for screenreaders: h5bp.com/v
 */

.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

/*
 * Extends the .visuallyhidden class to allow the element to be focusable
 * when navigated to via the keyboard: h5bp.com/p
 */

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
}

/*
 * Hide visually and from screenreaders, but maintain layout
 */

.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */

.clearfix:before,
.clearfix:after {
  content: " "; /* 1 */
  display: table; /* 2 */
}

.clearfix:after {
  clear: both;
}

/*
 * For IE 6/7 only
 * Include this rule to trigger hasLayout and contain floats.
 */

.clearfix {
  *zoom: 1;
}

/* ==========================================================================
   EXAMPLE Media Queries for Responsive Design.
   These examples override the primary ('mobile first') styles.
   Modify as content requires.
   ========================================================================== */

@media only screen and (min-width: 35em) {
  /* Style adjustments for viewports that meet the condition */
}

@media print,
(-o-min-device-pixel-ratio: 5/4),
(-webkit-min-device-pixel-ratio: 1.25),
(min-resolution: 120dpi) {
  /* Style adjustments for high resolution devices */
}

/* ==========================================================================
   Print styles.
   Inlined to avoid required HTTP connection: h5bp.com/r
   ========================================================================== */

@media print {
  * {
    background: transparent !important;
    color: #000 !important; /* Black prints faster: h5bp.com/s */
    box-shadow: none !important;
    text-shadow: none !important;
  }

  a,
  a:visited {
    text-decoration: underline;
  }

  a[href]:after {
    content: " (" attr(href) ")";
  }

  abbr[title]:after {
    content: " (" attr(title) ")";
  }

  /*
   * Don't show links for images, or javascript/internal links
   */

  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }

  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }

  thead {
    display: table-header-group; /* h5bp.com/t */
  }

  tr,
  img {
    page-break-inside: avoid;
  }

  img {
    max-width: 100% !important;
  }

  @page {
    margin: 0.5cm;
  }

  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }

  h2,
  h3 {
    page-break-after: avoid;
  }
}
