﻿/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/



html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
    display: block;
}

body {
    line-height: 1;
}

ol, ul {
    list-style: none;
}

blockquote, q {
    quotes: none;
}

    blockquote:before, blockquote:after,
    q:before, q:after {
        content: '';
        content: none;
    }

table {
    border-collapse: collapse;
    border-spacing: 0;
}

html * {
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}
.showMobileOnly {
  display: none;
}
@media only screen and (max-height: 500px), (max-width: 600px) {
  .showMobileOnly {
    display: block;
  }
}
@media only screen and (max-height: 500px), (max-width: 600px) {
  .hideMobile {
    display: none;
  }
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
/*
@linkColor: #ff6a00;
@borderColor: #ddd;
    */
/*
// Buttons
@altButtonColor: #999;
@alt2ButtonColor: #0094ff;
    */
/* conrum color scheme */
/* -- */
::-webkit-scrollbar {
  width: 12px;
  cursor: pointer !important;
}
::-webkit-scrollbar-thumb {
  border-radius: 8px;
  border: 2px solid #EFEFEF;
  background-color: #2D6D6C;
  cursor: pointer !important;
}
body,
html {
  height: 100%;
  font-size: 13px;
  line-height: 1.385em;
  scrollbar-face-color: #777;
  scrollbar-track-color: #444;
}
@media only screen and (max-width: 1200px) {
  body,
  html {
    font-size: 13px;
  }
}
body {
  /*font-size: 15px; //15*/
  font-family: "Roboto", sans-serif;
  font-weight: 400;
  background-color: #E1E1E1;
  overflow: hidden;
  /* ------------------------------------------------------------------------------------------------------------------ */
  /* migrated from POC */
}
body h1,
body h2,
body h3 {
  font-weight: 700;
}
body a {
  color: #0f2524;
  text-decoration: none;
  border-bottom: 1px dotted rgba(45, 109, 108, 0.6);
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body a:hover {
  color: #2D6D6C;
  text-decoration: none;
}
body h4 {
  font-size: 1.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
  margin-top: 2rem;
}
body h5 {
  font-size: 1.1538rem;
  font-weight: 700;
  margin-bottom: 1rem;
  /*margin-top: 1rem;*/
}
body p {
  margin-top: 0.5em;
}
body p strong,
body p b {
  font-weight: 700;
}
body p em,
body p i {
  font-style: italic;
}
body .big-buttons {
  text-align: center;
}
body .button {
  background-color: #2D6D6C;
  /*
        background-color: lighten(@brandingColor,5%);
        background-image: -moz-linear-gradient(top, lighten(@brandingColor,5%), @brandingColor);
        background-image: -o-linear-gradient(top, lighten(@brandingColor,5%), @brandingColor);
        background-image: -webkit-gradient(linear, left top, left bottom, from(lighten(@brandingColor,5%)), to(@brandingColor));
        background-image: -webkit-linear-gradient(top, lighten(@brandingColor,5%), @brandingColor);
        background-image: linear-gradient(to bottom, lighten(@brandingColor,5%), @brandingColor);
            */
  color: #fff;
  cursor: pointer;
  text-align: center;
  padding: 0.5em 1.5em;
  border-radius: 0.2rem;
  /*text-transform: uppercase;*/
  display: inline-block;
  position: relative;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
body .button i.fa {
  margin-left: 0.25em;
}
body .button.big-button {
  display: inline-block !important;
  padding: 0.75em 1.5em;
  margin: 1rem 0.25rem !important;
}
body .button.big-button i.fa {
  font-size: 1.25em;
  margin-right: 0.25em;
  margin-left: 0;
}
body .button.centered {
  display: block;
  max-width: 18rem;
  margin: 0.5rem auto;
}
body .button.not-allowed {
  cursor: not-allowed;
  background-color: #ccc;
  color: #eee;
}
body .button.hidden {
  display: none !important;
}
body .toggle-slider {
  position: relative;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
}
body .toggle-slider.inline {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0;
  margin-top: 0;
}
body .toggle-slider.inline label {
  padding-right: 50px;
  background-color: transparent;
}
body .toggle-slider label {
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative;
  width: 100%;
  z-index: 2;
  color: #2F2F2F;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .toggle-slider input {
  visibility: hidden;
  position: absolute;
  top: 0;
  right: 0;
}
body .toggle-slider .toggle {
  position: absolute;
  right: 0;
  top: 0;
  width: 40px;
  height: 20px;
  z-index: 1;
  background-color: #eee;
  border-radius: 10px;
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 5px inset;
}
body .toggle-slider .toggle:before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  width: 16px;
  height: 16px;
  background-color: #bbbbbb;
  border-radius: 10px;
  /*border: 2px solid @toggleBackgroundColor;*/
  margin: 2px;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .toggle-slider .selector {
  position: absolute;
  right: 0;
  top: 0;
}
body .toggle-slider .selector .on,
body .toggle-slider .selector .off {
  display: inline-block;
  line-height: 20px;
  vertical-align: top;
  color: #2F2F2F;
}
body .toggle-slider .selector .on.off,
body .toggle-slider .selector .off.off {
  padding-right: 0.5em;
  color: #2F2F2F;
}
body .toggle-slider .selector .on.on,
body .toggle-slider .selector .off.on {
  padding-left: 0.5em;
}
body .toggle-slider .selector .toggle {
  position: relative;
  display: inline-block;
}
body .toggle-slider input:checked ~ .selector .toggle:before,
body .toggle-slider input:checked ~ .toggle:before {
  left: 50%;
  background-color: #2D6D6C;
}
body .toggle-slider input:checked ~ .selector .on {
  color: #FFFFFF;
}
body .toggle-slider input:checked ~ .selector .off {
  color: #FFFFFF;
}
body .toggle-slider input:checked ~ label {
  color: #FFFFFF;
}
body .toggle-slider.always-on .toggle:before {
  background-color: #2D6D6C;
}
body .toggle-slider.always-on label {
  color: #2F2F2F !important;
}
body .toggle-slider.always-on input:checked ~ .selector .on {
  color: #2F2F2F !important;
}
body .toggle-slider.always-on input:checked ~ .selector .off {
  color: #2F2F2F !important;
}
body .toggle-slider.always-on input:checked ~ label {
  color: #2F2F2F !important;
}
body .custom-radio-group {
  padding: 0.5rem 0;
}
body .custom-radio-group .selected-value {
  /*.floatfix();*/
  /*color: #eee;*/
  /*font-size: 0.9em;*/
  /*text-transform: uppercase;*/
}
body .custom-radio-group .custom-radio {
  position: relative;
  display: inline-block;
  width: 2rem;
  height: 2rem;
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}
body .custom-radio-group .custom-radio input {
  visibility: hidden;
  position: absolute;
  top: 0;
  right: 0;
}
body .custom-radio-group .custom-radio label {
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: absolute;
  width: 2rem;
  height: 2rem;
  z-index: 2;
  background-color: #666;
  border-radius: 50%;
  border: 4px solid transparent;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .custom-radio-group .custom-radio label:after {
  content: '';
  display: block;
  position: absolute;
  left: -4px;
  top: -4px;
  right: -4px;
  bottom: -4px;
  border-radius: 50%;
  border: 2px solid rgba(45, 109, 108, 0);
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .custom-radio-group .custom-radio input:checked + label {
  border: 4px solid #EFEFEF;
}
body .custom-radio-group .custom-radio input:checked + label:after {
  border: 2px solid #2d6d6c;
}
body .custom-radio-group .custom-radio[data-colour='granit'] label {
  background-image: url("../colours/03-cembrit-p-967_granit.jpg");
}
body .custom-radio-group .custom-radio[data-colour='grafit'] label {
  background-image: url("../colours/03-cembrit-p-922_grafit.jpg");
}
body .custom-radio-group .custom-radio[data-colour='sand'] label {
  background-image: url("../colours/03-cembrit-p-911_sand.jpg");
}
body .custom-radio-group .custom-radio[data-colour='flint'] label {
  background-image: url("../colours/03-cembrit-p-921_flint.jpg");
}
body .custom-radio-group .custom-radio[data-colour='perle'] label {
  background-image: url("../colours/03-cembrit-p-901_perle.jpg");
}
body .styled-radio-group {
  padding: 0.75rem 0 0.25rem;
}
body .styled-radio-group .selected-value {
  /*.floatfix();*/
  /*color: #eee;*/
  /*font-size: 0.9em;*/
  /*text-transform: uppercase;*/
}
body .styled-radio-group .styled-radio {
  position: relative;
  display: block;
  /*height: @toggleSize * 1.2;*/
  margin-right: 0.25rem;
  margin-bottom: 0.25rem;
}
body .styled-radio-group .styled-radio input {
  visibility: hidden;
  position: absolute;
  top: 0;
  right: 0;
}
body .styled-radio-group .styled-radio input:checked ~ .toggle:before {
  left: 50%;
  background-color: #2D6D6C;
}
body .styled-radio-group .styled-radio label {
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*position: absolute;*/
  display: block;
  width: 100%;
  /*height: @toggleSize;*/
  z-index: 2;
  padding-left: 24px;
  line-height: 16px;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .styled-radio-group .styled-radio label:before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 16px;
  height: 16px;
  border-radius: 100px;
  /*background-color: @toggleBackgroundColor;*/
  border: 2px solid #2F2F2F;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .styled-radio-group .styled-radio label:after {
  content: '';
  display: block;
  top: 4px;
  left: 4px;
  width: 8px;
  height: 8px;
  position: absolute;
  border-radius: 5rem;
  background-color: #EFEFEF;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .styled-radio-group .styled-radio label:hover:after {
  background-color: #bcbcbc;
  box-shadow: rgba(0, 0, 0, 0.3) 1px 1px 4px inset;
}
body .styled-radio-group .styled-radio input:checked ~ label {
  /*color: #ccc;*/
}
body .styled-radio-group .styled-radio input:checked + label:after {
  background-color: #2D6D6C;
  /*border-color: @brandingColor;*/
}
body .styled-radio-group .styled-radio input:checked + label:before {
  border-color: #2D6D6C;
}
body .floater {
  background-color: #fff;
  border-radius: 5px;
  box-shadow: rgba(0, 0, 0, 0.3) 0 2px 8px;
  z-index: 40;
  position: absolute;
  left: 800px;
  top: 100px;
  min-width: 13rem;
  max-width: 17rem;
  display: none;
}
body .floater.show {
  display: block;
}
body .floater .header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  height: 3rem;
  position: relative;
  line-height: 3rem;
}
body .floater .header .title {
  padding-left: 1rem;
  font-weight: 700;
  /*text-transform: uppercase;*/
}
body .floater .header .close-button {
  position: absolute;
  right: 0;
  top: 0;
  width: 3rem;
  height: 3rem;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-align: center;
}
body .floater .sub-section-header {
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  height: 2.4rem;
  position: relative;
  line-height: 2.4rem;
  margin-top: 1em;
  padding-left: 1rem;
  font-weight: 700;
  font-size: 0.8em;
  /*text-transform: uppercase;*/
}
body .floater .content .attachment-list {
  display: none;
}
body .floater .content .attachment-list.show {
  display: block;
}
body .floater .content .modification {
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative;
  cursor: pointer;
  min-height: 3rem;
  line-height: 1.3rem;
  /*font-size: 0.8em;*/
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
  padding: 0.8rem 1rem 0.8rem 3rem;
  display: none;
  background-color: #fafafa;
}
body .floater .content .modification:after {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .floater .content .modification:before {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .floater .content .modification img {
  float: right;
  max-height: 2.4rem;
  max-width: 2.4rem;
  /*margin: @floatItemHeight * 0.2 0;*/
  margin-left: 1em;
}
body .floater .content .modification.small {
  height: 2.1rem;
  line-height: 2.1rem;
}
body .floater .content .modification.available {
  display: block;
}
body .floater .content .modification:before {
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background-color: #fff;
  transform: translate3d(-50%, -50%, 0);
  box-shadow: rgba(0, 0, 0, 0.1) 1px 1px 5px inset;
  z-index: 1;
}
body .floater .content .modification:after {
  z-index: 2;
  content: '';
  display: block;
  position: absolute;
  top: 50%;
  left: 1.5rem;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 3px solid rgba(0, 0, 0, 0);
  /*background-color: #fff;*/
  transform: translate3d(-50%, -50%, 0);
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .floater .content .modification.xselected,
body .floater .content .modification:hover {
  background-color: #f2f2f2;
}
body .floater .content .modification:hover:after {
  background-color: #ccc;
}
body .floater .content .modification.selected:after {
  background-color: #2D6D6C;
}
body .topbar {
  background-color: #FFFFFF;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  height: 4rem;
  z-index: 40;
}
body .topbar img.logo {
  height: 1.6rem;
  margin: 1.2rem 1.5rem;
}
@media only screen and (max-width: 1200px) {
  body .topbar img.logo {
    margin: 1.2rem 1rem;
  }
}
body .topbar .action-menu {
  position: absolute;
  right: 0;
  top: 0;
  height: 4rem;
  color: #2F2F2F;
  line-height: 4rem;
}
body .topbar .action-menu .action-button {
  display: inline-block;
  width: 4rem;
  height: 4rem;
  border-left: 1px solid #EFEFEF;
  text-align: center;
  cursor: pointer;
  float: left;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-color: #FFFFFF;
}
body .topbar .action-menu .action-button[data-action="help"] {
  display: none;
}
body .topbar .action-menu .action-button .fa {
  font-size: 4rem/3;
  /*display: inline-block;*/
  line-height: 4rem;
  vertical-align: middle;
}
body .topbar .action-menu .action-button:hover {
  background-color: #EFEFEF;
}
body .topbar .action-menu .action-button.action-button-wide {
  width: 17rem;
}
@media only screen and (max-width: 1200px) {
  body .topbar .action-menu .action-button.action-button-wide {
    width: 15rem;
  }
}
body .topbar .action-menu .action-button.action-button-wide .fa {
  margin-right: 0.5rem;
}
body .left-panel {
  background-color: #EFEFEF;
  position: fixed;
  left: 0;
  top: 4rem;
  width: 17rem;
  bottom: 0;
  color: #2F2F2F;
  overflow-y: scroll;
}
@media only screen and (max-width: 1200px) {
  body .left-panel {
    width: 15rem;
  }
}
body .left-panel section {
  padding: 1.5rem 0.75rem 1.5rem 1.5rem;
  border-bottom: 1px solid #D6D6D6;
  font-size: 0.9rem;
}
@media only screen and (max-width: 1200px) {
  body .left-panel section {
    padding: 1rem 0.5rem 1rem 1rem;
  }
}
body .left-panel section h2 {
  /*color: @leftPanelHeadingColor;*/
  /*text-transform: uppercase;*/
  font-size: 1.154rem;
}
body .left-panel section.hidden {
  display: none;
}
body .left-panel section.price-model {
  display: none;
}
body .left-panel section.price-model.show {
  display: block;
}
body .left-panel section.price-model.hidden {
  display: none !important;
}
body .right-panel {
  background-color: #fff;
  position: fixed;
  z-index: 40;
  right: 0;
  top: 4rem;
  width: 17rem;
  bottom: 0;
  color: #6d6d6d;
  box-shadow: rgba(0, 0, 0, 0.2) -1px 0 2px;
}
@media only screen and (max-width: 1200px) {
  body .right-panel {
    width: 15rem;
  }
}
body .right-panel section {
  padding: 1.5rem;
  border-bottom: 1px solid rgba(0, 0, 0, 0.05);
}
@media only screen and (max-width: 1200px) {
  body .right-panel section {
    padding: 1rem;
  }
}
body .right-panel h2 {
  color: #5b5b5b;
  font-size: 1.1538rem;
  /*text-transform: uppercase;*/
}
body .right-panel section.module-list-settings {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 6rem;
}
body .right-panel section.module-list-settings .toggle-slider label {
  color: #2F2F2F !important;
}
body .right-panel section.scrollable-module-list {
  overflow-y: scroll;
  position: absolute;
  top: 6rem;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #fcfcfc;
}
body .right-panel .module-list {
  /*padding: @panelPadding;*/
}
body .right-panel .module-list .module {
  margin-bottom: 1rem;
  background-color: #fff;
  padding: 0.5rem;
  cursor: pointer;
  /*border: 1px solid @brandingColor;*/
  /*box-shadow: rgba(0,0,0,0.2) 0 1px 2px;*/
  /*border-bottom: 0.3rem solid fade(@brandingColor,0);*/
  border: 1px solid #D6D6D6;
  border-radius: 4px;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  position: relative;
}
body .right-panel .module-list .module:after {
  content: '';
  display: block;
  position: absolute;
  left: -5px;
  top: -5px;
  bottom: -5px;
  right: -5px;
  border: 5px solid #2D6D6C;
  border-radius: 4px;
  opacity: 0;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .right-panel .module-list .module img {
  max-width: 100%;
  display: block;
  max-height: 4rem;
  margin: 0 auto;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .right-panel .module-list .module .title {
  /*font-size: 0.8rem;*/
  font-weight: 700;
  /*text-transform: uppercase;*/
  margin-bottom: 0.25em;
}
body .right-panel .module-list .module .description {
  font-size: 0.9rem;
  /*line-height: 1.3em;*/
  /*color: #999;*/
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .right-panel .module-list .module.selected {
  /*transform: scale(1.05);*/
  /*box-shadow: rgba(0,0,0,0.12) 0 3px 10px;*/
  /*border-bottom-color: @brandingColor;*/
  /*border: 5px solid @brandingColor;*/
}
body .right-panel .module-list .module.selected:after {
  /*border: 5px solid @brandingColor;*/
  opacity: 1;
}
body .right-panel .module-list.expanded .module .description {
  opacity: 1;
  max-height: 18rem;
}
body .right-panel .module-list.expanded img {
  max-width: 100%;
  display: block;
  max-height: 8rem;
  margin: 0 auto;
}
body .workspace-settings {
  position: fixed;
  left: 17rem;
  top: 4rem;
  right: 17rem;
  height: 2.6rem;
  /*height: 50px;*/
  background-color: #2F2F2F;
  border-bottom: 1px solid #e0e0e0;
  z-index: 35;
  padding: 0.5rem;
  /*font-size: 0.8rem;*/
}
@media only screen and (max-width: 1200px) {
  body .workspace-settings {
    left: 15rem;
    right: 15rem;
  }
}
body .workspace-settings .toggle-slider label {
  color: #FFFFFF !important;
}
body .workspace-settings .button {
  background-color: #EFEFEF;
  color: #2F2F2F;
  border-radius: 2rem;
  font-size: 0.9rem;
  padding: 0.1rem 0.7rem;
  margin: 0;
  margin-left: 0.5rem;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .workspace-settings .button:hover {
  background-color: #2D6D6C;
  color: #FFFFFF;
}
body .workspace-settings .floor-selector {
  margin-right: 2rem;
}
body .workspace-settings .floor-selector .floors {
  display: inline-block;
}
body .workspace-settings .floor-selector .floors .button {
  border-radius: 0;
  border-left: 1px solid #bbb;
  margin-left: 0;
  min-width: 3rem;
}
body .workspace-settings .floor-selector .floors .button.active {
  color: #fff;
  background-color: #2D6D6C;
}
body .workspace-settings .floor-selector .floors .button:first-child {
  border-top-left-radius: 2rem;
  border-bottom-left-radius: 2rem;
  border-left: none;
}
body .workspace-settings .floor-selector .floors .button:last-child {
  border-top-right-radius: 2rem;
  border-bottom-right-radius: 2rem;
}
body .workspace {
  position: fixed;
  left: 17rem;
  top: 6.6rem;
  padding-top: 2rem;
  right: 17rem;
  /*min-width: unit(unit(@minScreenWidthPx) / unit(@remSize), rem) - 2 * @leftPanelWidth;*/
  min-width: 44.46153846rem;
  bottom: 0;
  overflow-y: scroll;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
@media only screen and (max-width: 1200px) {
  body .workspace {
    left: 15rem;
    right: 15rem;
  }
}
body .workspace .build {
  width: 95%;
  /*max-width: 80rem;*/
  margin: 0 auto;
  /*border: 1px solid red;*/
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .workspace .build .stack {
  width: 80%;
  max-width: 35rem;
  margin: 0 auto;
  margin-bottom: 5rem;
  /*border: 1px solid red;*/
}
body .workspace .build .stack .floor-label {
  background-color: #2D6D6C;
  /*
        background-color: lighten(@brandingColor,5%);
        background-image: -moz-linear-gradient(top, lighten(@brandingColor,5%), @brandingColor);
        background-image: -o-linear-gradient(top, lighten(@brandingColor,5%), @brandingColor);
        background-image: -webkit-gradient(linear, left top, left bottom, from(lighten(@brandingColor,5%)), to(@brandingColor));
        background-image: -webkit-linear-gradient(top, lighten(@brandingColor,5%), @brandingColor);
        background-image: linear-gradient(to bottom, lighten(@brandingColor,5%), @brandingColor);
            */
  cursor: pointer;
  text-align: center;
  padding: 0.5em 1.5em;
  border-radius: 0.2rem;
  /*text-transform: uppercase;*/
  position: relative;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*text-align: center;*/
  margin-bottom: 4.5rem;
  background-color: #aaa;
  color: #fff;
  display: inline-block;
  border-radius: 2rem;
  /*font-size: 0.7rem;*/
  /*text-transform: uppercase;*/
  padding: 0.3rem 0.7rem;
  z-index: 20;
  width: 100%;
}
body .workspace .build .stack .floor-label i.fa {
  margin-left: 0.25em;
}
body .workspace .build .stack .floor-label.big-button {
  display: inline-block !important;
  padding: 0.75em 1.5em;
  margin: 1rem 0.25rem !important;
}
body .workspace .build .stack .floor-label.big-button i.fa {
  font-size: 1.25em;
  margin-right: 0.25em;
  margin-left: 0;
}
body .workspace .build .stack .floor-label.centered {
  display: block;
  max-width: 18rem;
  margin: 0.5rem auto;
}
body .workspace .build .stack .floor-label.not-allowed {
  cursor: not-allowed;
  background-color: #ccc;
  color: #eee;
}
body .workspace .build .stack .floor-label.hidden {
  display: none !important;
}
body .workspace .build .stack .floor-label.active {
  color: #fff;
  background-color: #2D6D6C;
}
@media only screen and (min-width: 1150px) {
  body .workspace .build[data-floors='2'] .stack {
    float: left;
    width: 36%;
    margin: 0 7%;
  }
}
@media only screen and (min-width: 1680px) {
  body .workspace .build[data-floors='3'] .stack {
    float: left;
    width: 23%;
    margin: 0 5%;
  }
}
body .workspace .build.wide {
  /*width: 75%;
                max-width: 50rem;*/
}
body .workspace .module {
  /*
            background-color: #fff;
            width: 600px;
            height: 200px;
            margin-bottom: 2rem;
            position: relative;
                */
  /*&[data-floor-ix='1'], &[data-floor-ix='2'] {
                .modification_points {
                    .modification_point:not([data-floorlimit='']) {
                        display: none !important;
                    }
                }
            }*/
}
body .workspace .module .modification_point {
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.6);
  /*background-color: fade(@brandingColor, 65%);*/
  position: absolute;
  left: 100px;
  top: 100px;
  color: #333;
  text-align: center;
  line-height: 2.5rem;
  font-size: 1.4em;
  cursor: pointer;
  box-shadow: rgba(0, 0, 0, 0.5) 0 2px 6px;
  transform: translate3d(-50%, -50%, 0) scale3d(0.9, 0.9, 1);
  transform-origin: center center;
  border: 4px solid rgba(45, 109, 108, 0.9);
  box-sizing: content-box;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .workspace .module .modification_point:hover,
body .workspace .module .modification_point.editing {
  background-color: #2D6D6C;
  color: #fff;
  box-shadow: rgba(0, 0, 0, 0.5) 0 4px 12px;
  transform: translate3d(-50%, -53%, 0) scale3d(1, 1, 1);
  border-color: #2D6D6C;
}
body .workspace .module .modification_point .selected-modification,
body .workspace .module .modification_point .selected-attachment {
  display: none;
}
body .workspace .module[data-floor-ix='0'] .modification_points .modification_point:not([data-floorlimit='']):not([data-floorlimit='0']):not([data-floorlimit='0,1']) {
  display: none !important;
}
body .workspace .module[data-floor-ix='1'] .modification_points .modification_point:not([data-floorlimit='']):not([data-floorlimit='1']):not([data-floorlimit='1,2']):not([data-floorlimit='0,1']) {
  display: none !important;
}
body .workspace .module[data-floor-ix='2'] .modification_points .modification_point:not([data-floorlimit='']):not([data-floorlimit='2']):not([data-floorlimit='1,2']):not([data-floorlimit='0,2']) {
  display: none !important;
}
body .workspace.bottom-panel-open {
  bottom: 12rem;
}
body .bottom-panel {
  position: fixed;
  padding: 1.5rem;
  left: 17rem;
  top: 100%;
  right: 17rem;
  z-index: 35;
  height: 12rem;
  background-color: #f9f9f9;
  transform: translate3d(0, 0, 0);
  box-shadow: rgba(0, 0, 0, 0.2) 0 -1px 2px;
  -moz-transition: transform cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
  -o-transition: transform cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
  -webkit-transition: transform cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
  transition: transform cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
}
@media only screen and (max-width: 1200px) {
  body .bottom-panel {
    left: 15rem;
    right: 15rem;
    padding: 1rem;
  }
}
body .bottom-panel .close-button {
  position: absolute;
  right: 0;
  top: 0;
  cursor: pointer;
  width: 3rem;
  height: 3rem;
  text-align: center;
  line-height: 3rem;
}
body .bottom-panel.show {
  transform: translate3d(0, -100%, 0);
}
body .bottom-panel .compass {
  position: absolute;
  left: 2rem;
  top: 2rem;
  width: 8rem;
  height: 8rem;
}
body .bottom-panel .compass .camera-icon {
  position: absolute;
  left: 0;
  top: 0;
  color: #c6c6c6;
  font-size: 1rem;
  display: block;
}
body .bottom-panel .compass .edge {
  border-radius: 50%;
  position: absolute;
  left: 1rem;
  top: 1rem;
  right: 1rem;
  bottom: 1rem;
  border: 1px solid #e5e5e5;
  background-color: #efefef;
}
body .bottom-panel .compass .position {
  position: absolute;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background-color: #fff;
  border: 1px solid #e5e5e5;
  color: #000;
  cursor: pointer;
  text-align: center;
  line-height: 2rem;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  /*&.active {
                    background-color: @brandingColor;
                    color: #fff;
                }*/
}
body .bottom-panel .compass .position:hover {
  background-color: #f6f6f6;
}
body .bottom-panel .compass .position[data-position='N'] {
  left: 50%;
  top: 0;
  transform: translate3d(-50%, 0, 0) rotate(90deg);
}
body .bottom-panel .compass .position[data-position='S'] {
  left: 50%;
  bottom: 0;
  transform: translate3d(-50%, 0, 0) rotate(270deg);
}
body .bottom-panel .compass .position[data-position='E'] {
  top: 50%;
  right: 0;
  transform: translate3d(0, -50%, 0) rotate(180deg);
}
body .bottom-panel .compass .position[data-position='W'] {
  top: 50%;
  left: 0;
  transform: translate3d(0, -50%, 0);
}
body .bottom-panel .compass .building {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -50%, 0);
  background-color: #fff;
  width: 2rem;
  height: 3.2rem;
  border: 4px solid #c6c6c6;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .bottom-panel .compass[data-position='N'] .position[data-position='N'] {
  background-color: #2D6D6C;
  color: #fff;
}
body .bottom-panel .compass[data-position='N'] .building {
  border-top-color: #666;
}
body .bottom-panel .compass[data-position='S'] .position[data-position='S'] {
  background-color: #2D6D6C;
  color: #fff;
}
body .bottom-panel .compass[data-position='S'] .building {
  border-bottom-color: #666;
}
body .bottom-panel .compass[data-position='E'] .position[data-position='E'] {
  background-color: #2D6D6C;
  color: #fff;
}
body .bottom-panel .compass[data-position='E'] .building {
  border-right-color: #666;
}
body .bottom-panel .compass[data-position='W'] .position[data-position='W'] {
  background-color: #2D6D6C;
  color: #fff;
}
body .bottom-panel .compass[data-position='W'] .building {
  border-left-color: #666;
}
body .bottom-panel .facade {
  line-height: 1px;
  margin-left: 10rem;
}
body .bottom-panel .facade .modules {
  text-align: center;
  min-height: 2rem;
}
body .bottom-panel .facade .modules:before,
body .bottom-panel .facade .modules:after {
  content: '';
  display: inline-block;
  width: 3rem;
  position: relative;
  top: 0;
  border-bottom: 4px solid #666;
  visibility: hidden;
}
body .bottom-panel .facade .modules .module {
  display: inline-block;
  position: relative;
}
body .bottom-panel .facade .modules .module .gable-before,
body .bottom-panel .facade .modules .module .gable-after {
  position: absolute;
  top: 0;
  height: 100%;
}
body .bottom-panel .facade .modules .module .gable-before.gable-before,
body .bottom-panel .facade .modules .module .gable-after.gable-before {
  right: 100%;
}
body .bottom-panel .facade .modules .module .gable-before.gable-after,
body .bottom-panel .facade .modules .module .gable-after.gable-after {
  left: 100%;
  transform: scaleX(-1);
}
body .bottom-panel .facade .modules .module img.facade-module-overlay {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
body .bottom-panel .facade .modules img {
  max-height: 8rem;
  display: inline-block;
  cursor: pointer;
  box-sizing: content-box;
}
body .bottom-panel .facade .modules.groundfloor {
  border-bottom: 2px solid #ccc;
}
body .bottom-panel .facade[data-height='2'] .modules img {
  max-height: 4rem;
}
body .bottom-panel .facade[data-height='3'] .modules img {
  max-height: 2.66666667rem;
}
body .project-summary .condensed-summary .one-time-cost,
body .project-summary .condensed-summary .running-cost,
body .project-summary .condensed-summary .deposit-cost {
  display: none;
}
body .project-summary .condensed-summary.show-price-sale .one-time-cost {
  display: block;
}
body .project-summary .condensed-summary.show-price-rent .one-time-cost,
body .project-summary .condensed-summary.show-price-rent .running-cost,
body .project-summary .condensed-summary.show-price-rent .deposit-cost {
  display: block;
}
body .project-summary .condensed-summary,
body .project-summary .no-modules {
  display: none;
}
body .project-summary .condensed-summary.show,
body .project-summary .no-modules.show {
  display: block;
}
body .project-summary .items {
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  position: relative;
  left: -1rem;
  margin-right: -1rem;
}
body .project-summary .items .item {
  margin-top: 1.5rem;
  margin-left: 1rem;
  position: relative;
}
body .project-summary .items .item > .title {
  /*color: #eee;*/
  /*text-transform: uppercase;*/
  font-weight: 700;
}
body .project-summary .items .item > .area {
  font-size: 0.9em;
}
body .project-summary .items .item > .price {
  font-size: 0.9em;
}
body .project-summary .items .item .subitems {
  border-left: 1px solid #D6D6D6;
  padding-left: 1rem;
  font-size: 0.9em;
}
body .project-summary .items .item .subitems .subitem {
  margin-top: 0.5em;
}
body .project-summary .items .item .subitems .subitem .title {
  /*color: #ddd;*/
  font-weight: 700;
}
body .project-summary .items .item.edit:before {
  content: '';
  position: absolute;
  display: block;
  left: -0.75rem;
  top: 0;
  bottom: 0;
  width: 0.15rem;
  background-color: #2D6D6C;
}
body .project-summary .button i.fa {
  transform: rotate(-90deg);
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .project-summary.show-details .items {
  opacity: 1;
  max-height: 100rem;
}
body .project-summary.show-details .button i.fa {
  transform: rotate(0deg);
}
body .overlay-mask {
  position: fixed;
  background-color: rgba(120, 120, 120, 0.7);
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
}
body .floorplan-navigator {
  display: none;
  position: fixed;
  left: 20px;
  bottom: 20px;
  background-color: #fff;
  width: 15rem;
  height: 200px;
  box-shadow: rgba(0, 0, 0, 0.5) 0 1px 13px;
  z-index: 100;
}
body .floorplan-navigator .floors {
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
}
body .floorplan-navigator .floors .floor {
  border: 1px solid #000;
  background-color: #eee;
  width: 80%;
  cursor: pointer;
  text-align: center;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
body .floorplan-navigator .floors .floor.active {
  background-color: #2D6D6C;
  color: #fff;
}
body .floorplan-navigator .stacks {
  position: absolute;
  left: 50%;
  top: 0;
  width: 50%;
  height: 100%;
}
body .floorplan-navigator .stacks .stack {
  float: left;
  display: block;
  border: 1px solid #000;
  background-color: #eee;
  width: 2rem;
  height: 80%;
  cursor: pointer;
  text-align: center;
  margin-right: 3px;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
body .floorplan-navigator .stacks .stack.active {
  background-color: #2D6D6C;
  color: #fff;
}
body .build {
  /*max-width: 600px;
        margin-right: 25rem;
        margin-left: 5rem;
        margin-top: 5rem;
        .floatfix();*/
  /*stack*/
}
body .build .stack {
  position: relative;
}
body .build .stack .insert-after-button,
body .build .stack .replace-module-button,
body .build .stack .insert-first-button {
  display: none;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  opacity: 1;
  position: absolute;
  left: 50%;
  top: 100%;
  z-index: 29;
  transform: translate(-50%, 1.5rem);
  /*font-size: 0.8rem;*/
  box-shadow: rgba(0, 0, 0, 0.25) 0 4px 20px;
  padding: 0;
  margin: 2rem/10 0;
  width: 10rem;
  height: 2rem;
  border-radius: 5rem;
  text-align: center;
  line-height: 2rem;
}
body .build .stack .insert-after-button.replace-module-button,
body .build .stack .replace-module-button.replace-module-button,
body .build .stack .insert-first-button.replace-module-button {
  top: 50%;
  transform: translate(-50%, -50%);
}
body .build .stack .insert-after-button i.fa,
body .build .stack .replace-module-button i.fa,
body .build .stack .insert-first-button i.fa {
  margin-left: 0;
}
body .build .stack .insert-after-button.insert-first-button,
body .build .stack .replace-module-button.insert-first-button,
body .build .stack .insert-first-button.insert-first-button {
  top: 3rem;
}
body .build .stack .module {
  /*margin: 0.5rem;*/
  /*padding: 0.5rem;*/
  /*border: 2px solid red;*/
  /*float: left;*/
  /*border-bottom: 4px dotted orange;*/
  margin-bottom: 5rem;
  /*border: 1px dotted orange;*/
  width: 100%;
  padding-top: 39.5%;
  /*height: 11.9rem;*/
  background-repeat: no-repeat;
  background-position: top left;
  background-size: 100% auto;
  background-color: #e6e4e0;
  position: relative;
  /*.tween(1s);*/
  /* Positioning for labels */
  margin-bottom: 0;
  border: none;
}
body .build .stack .module *[data-pos='TL'] {
  left: 20%;
  top: 27%;
}
body .build .stack .module *[data-pos='TC'] {
  left: 50%;
  top: 27%;
}
body .build .stack .module *[data-pos='TR'] {
  left: 80%;
  top: 27%;
}
body .build .stack .module *[data-pos='CL'] {
  left: 20%;
  top: 50%;
}
body .build .stack .module *[data-pos='CC'] {
  left: 50%;
  top: 50%;
}
body .build .stack .module *[data-pos='CR'] {
  left: 80%;
  top: 50%;
}
body .build .stack .module *[data-pos='BL'] {
  left: 20%;
  top: 73%;
}
body .build .stack .module *[data-pos='BC'] {
  left: 50%;
  top: 73%;
}
body .build .stack .module *[data-pos='BR'] {
  left: 80%;
  top: 73%;
}
body .build .stack .module.yui3-dd-draggable {
  /*width: 600px;
                height: 200px;*/
  border: 1px solid red;
  overflow: hidden;
  padding-top: 0;
  min-height: 200px;
  transform: none;
}
body .build .stack .module:before {
  content: ' ';
  position: relative;
}
body .build .stack .module .gable {
  position: absolute;
  left: 0;
  right: 0;
  display: none;
  z-index: 1;
  width: 100%;
}
body .build .stack .module .gable.gable-top {
  bottom: 100%;
  transform-origin: center;
  transform: scaleY(-1);
}
body .build .stack .module .gable.gable-bottom {
  top: 100%;
}
body .build .stack .module .index {
  position: absolute;
  left: -3rem;
  top: 0.5rem;
  /*background-color: desaturate(@brandingColor,100%);*/
  /*text-transform: uppercase;*/
  font-size: 0.8rem;
  font-weight: 700;
  padding: 0.3rem 0.7rem;
  border-radius: 3px;
  z-index: 28;
  color: #ccc;
}
body .build .stack .module .modulename {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  /*transform: translate(-50%,-50%);*/
  text-align: center;
  background-color: rgba(0, 0, 0, 0);
  color: #fff;
  z-index: 15;
  padding: 0.5em;
  font-size: 1.2em;
  cursor: pointer;
  z-index: 30;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  /*opacity: 0;*/
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .build .stack .module .modulename .label {
  position: absolute;
  left: 0.5rem;
  top: 0.5rem;
  background-color: #2D6D6C;
  /*text-transform: uppercase;*/
  font-size: 0.9rem;
  /*font-weight: 700;*/
  padding: 0.3rem 0.7rem;
  border-radius: 3px;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  opacity: 0;
  z-index: 2;
}
body .build .stack .module .modulename .label i.fa {
  display: inline-block;
  margin-right: 0.5rem;
}
body .build .stack .module .modulename:hover .label {
  opacity: 1;
}
body .build .stack .module .modulename:hover .index {
  /*opacity: 0;*/
}
body .build .stack .module .image {
  position: absolute;
  left: -12.5%;
  top: -31.5%;
  z-index: 10;
  opacity: 0.3;
  width: 125%;
  pointer-events: none;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .build .stack .module .tools {
  /*position: relative;*/
  position: absolute;
  right: -3rem;
  top: -3rem;
  /*margin-left: 34rem;*/
  z-index: 32;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
body .build .stack .module .tools:after {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .build .stack .module .tools:before {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .build .stack .module .tools .button {
  background-color: #4d4d4d;
  border-radius: 5rem;
  width: 2rem;
  height: 2rem;
  line-height: 2rem;
  text-align: center;
  color: #fff;
  font-size: 1rem;
  padding: 0;
  display: inline-block;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .build .stack .module .tools .button:hover {
  background-color: #2D6D6C;
}
body .build .stack .module .tools .button[data-action='close'] {
  background-color: #2D6D6C;
}
body .build .stack .module .tools .button[data-action='close']:hover {
  background-color: #3c9190;
}
body .build .stack .module .tools .button[data-action='reset'] {
  display: none;
}
body .build .stack .module .tools .button i.fa {
  margin: 0;
}
body .build .stack .module .sorting {
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
  opacity: 1;
  position: absolute;
  left: 112%;
  top: 50%;
  z-index: 29;
  transform: translate3d(0, -50%, 0);
}
body .build .stack .module .sorting .button {
  padding: 0;
  margin: 2rem/10 0;
  width: 2rem;
  height: 2rem;
  border-radius: 5rem;
  text-align: center;
  line-height: 2rem;
}
body .build .stack .module .sorting .button i.fa {
  margin-left: 0;
}
body .build .stack .module .room-labels {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 29;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .build .stack .module .room-labels .room-label {
  position: absolute;
  transform: translate(-50%, -50%);
  padding: 0.25rem 0.5rem;
  font-size: 0.8rem;
  text-align: center;
  width: 8rem;
  border-radius: 0.15rem;
  background-color: rgba(249, 247, 242, 0.89);
  color: #888;
  display: none;
  border: 1px dashed #ccc;
}
body .build .stack .module .room-labels .room-label:before {
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f02b";
  left: -0.2rem;
  top: -0.4rem;
  /*color: @brandingColor;*/
  display: block;
  position: absolute;
}
body .build .stack .module .room-labels .room-label.show {
  display: block;
}
body .build .stack .module .label-editor {
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(128, 128, 128, 0.75);
  z-index: 40;
  display: none;
}
body .build .stack .module .label-editor input {
  padding: 0.3rem 0.5rem;
  position: absolute;
  transform: translate(-50%, -50%);
  border: none;
  outline: none;
  text-align: center;
  width: 8rem;
  max-width: 27%;
  font-size: 0.8rem;
}
body .build .stack .module .update-indicator {
  position: absolute;
  display: none;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  z-index: 29;
  padding: 0;
  margin: 3rem/10 0;
  width: 3rem;
  height: 3rem;
  border-radius: 5rem;
  text-align: center;
  line-height: 3rem;
  font-size: 1rem;
  background-color: #666;
}
body .build .stack .module .update-indicator i.fa {
  margin-left: 0;
  color: #fff;
}
body .build .stack .module .modification_points {
  position: absolute;
  left: -12.5%;
  top: -30.6%;
  width: 125%;
  height: 161.2%;
  z-index: 31;
}
body .build .stack .module .modification_points:after {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .build .stack .module .modification_points:before {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .build .stack .module .attachment_points {
  position: absolute;
  left: 0;
  top: 0;
}
body .build .stack .module .adjacent_containers {
  display: none;
  border: 1px solid blue;
  /*position: relative;
                margin-left: 34rem;*/
  position: absolute;
  left: 110%;
  bottom: 0;
  width: 5rem;
  z-index: 20;
}
body .build .stack .module .adjacent_containers:after {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .build .stack .module .adjacent_containers:before {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
body .build .stack .module .adjacent_containers .adjacent {
  /*position: absolute;
                    transform: translate(-50%,-50%);*/
  background-color: #ebdcc9;
  border: 1px solid #666;
  margin: 0.25rem;
  width: 4rem;
  height: 1rem;
  float: left;
  cursor: pointer;
  /*
                &.top {
                    left: 50%;
                    top: 0;
                }

                &.bottom {
                    left: 50%;
                    bottom: 0;
                }

                &.left {
                    left: 0;
                    top: 50%;
                }

                &.right {
                    right: 0;
                    top: 50%;
                }*/
}
body .build .stack .module .adjacent_containers .adjacent.hidden {
  opacity: 0.4;
  cursor: not-allowed;
}
body .build .stack .module .image {
  opacity: 1;
}
body .build .stack .module .tools {
  display: none;
}
body .build .stack .module .modification_points {
  display: none;
}
body .build .stack .module .adjacent_containers {
  display: none;
}
body .build .stack .module.edit {
  margin-bottom: 5rem;
  margin-top: 5rem;
  border: none;
}
body .build .stack .module.edit .image {
  opacity: 1;
  box-shadow: rgba(0, 0, 0, 0.1) 0 1px 15px;
  background-color: rgba(255, 255, 255, 0.8);
}
body .build .stack .module.edit .room-labels {
  opacity: 1;
}
body .build .stack .module.edit .tools {
  display: block;
}
body .build .stack .module.edit .sorting {
  opacity: 0;
  display: none;
}
body .build .stack .module.edit .modification_points {
  display: block;
}
body .build .stack .module.edit .adjacent_containers {
  /*display: block;*/
}
body .build .stack .module.edit .modulename {
  opacity: 1;
}
body .build .stack .module.edit .modulename .label {
  font-size: 0.9rem;
  padding: 0.25rem 0.5rem;
  top: -3rem;
  left: -3rem;
  opacity: 1;
}
body .build .stack .module.edit.annotation .label-editor {
  display: block;
}
body .build .stack .module.edit.annotation .tools .button[data-action='annotate'] {
  background-color: #2D6D6C;
  color: #fff;
  animation: wiggle 1s infinite;
}
body .build .stack .module.edit.annotation .modification_points {
  display: none;
}
body .build .stack .module.placeholder {
  /*module*/
  background-color: rgba(135, 135, 135, 0.13);
  box-shadow: #c8c8c8 0 0 1px inset;
}
body .build .stack .module.placeholder .modulename,
body .build .stack .module.placeholder .modification_points,
body .build .stack .module.placeholder .tools,
body .build .stack .module.placeholder .adjacent_containers,
body .build .stack .module.placeholder img.image,
body .build .stack .module.placeholder .sorting {
  display: none;
}
body .build .stack .module.placeholder .insert-after-button {
  top: 50%;
  transform: translate(-50%, -50%);
}
body .build .stack .module.show-gable-bottom .gable-bottom {
  display: block;
}
body .build .stack .module.show-gable-top .gable-top {
  display: block;
}
body .build .stack .module.is-modified .tools .button[data-action="reset"] {
  display: inline-block;
}
body .build .stack.expanded .insert-after-button,
body .build .stack.expanded .replace-module-button,
body .build .stack.expanded .insert-first-button {
  display: block;
}
body .build .stack.expanded:not([data-floor-ix='0']) .insert-first-button {
  display: none;
}
body .build .stack.expanded .module {
  margin-bottom: 5rem;
  margin-top: 5rem;
  border: none;
}
body .build .stack.expanded .module .sorting,
body .build .stack.expanded .module .modulename {
  display: none;
}
body .build .stack.expanded .module.placeholder .replace-module-button {
  display: none;
}
body .build .stack.expanded .module:not([data-floor-ix='0']) .insert-after-button,
body .build .stack.expanded .module:not([data-floor-ix='0']) .insert-first-button {
  display: none;
}
body .build .stack.expanded .module:not([data-floor-ix='0']).placeholder .insert-after-button {
  display: block !important;
}
body .build .stack.expanded .module.allow-inject-after .insert-after-button {
  display: block;
}
body .build .stack:not(.expanded) .module {
  z-index: 10;
}
body .build .stack:not(.expanded) .module[data-id="75"],
body .build .stack:not(.expanded) .module[data-id="85"] {
  /* Hack for System 70 terraces where we want to have adjacent modules show open doors on top */
  z-index: 8;
}
body .build.edit-mode {
  /*build*/
}
body .build.edit-mode .module .image,
body .build.edit-mode .module .gable,
body .build.edit-mode .module .room-labels {
  opacity: 0.2;
}
body .build.edit-mode .module.edit {
  z-index: 20 !important;
}
body .build.edit-mode .module.edit .image {
  opacity: 1;
}
body .build.edit-mode .module.edit .gable {
  opacity: 0;
}
body .build.edit-mode .module.updating .update-indicator {
  display: block;
}
body .build.edit-mode .module.updating .image {
  opacity: 0.3 !important;
}
body .build.no-gables .gable {
  display: none !important;
}
body .login-error,
body .modal-error {
  display: none;
}
body .login-error.show,
body .modal-error.show {
  display: block;
}
body .side-panel-form .side-panel-form-content {
  z-index: 110;
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
  width: 40rem;
  background-color: #FFFFFF;
  color: #2F2F2F;
  transform: translate3d(110%, 0, 0);
  box-shadow: rgba(0, 0, 0, 0.5) -1px 0 6px;
  -moz-transition: all cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
  -o-transition: all cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
  -webkit-transition: all cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
  transition: all cubic-bezier(0.8, 0, 0.2, 1) 0.5s;
}
body .side-panel-form .side-panel-form-content .header {
  height: 4rem;
  background-color: #2D6D6C;
  color: #fff;
  position: relative;
  line-height: 4rem;
  padding-left: 1.5rem;
  /*text-transform: uppercase;*/
}
@media only screen and (max-width: 1200px) {
  body .side-panel-form .side-panel-form-content .header {
    padding-left: 1rem;
  }
}
body .side-panel-form .side-panel-form-content .header .close-button {
  position: absolute;
  right: 0;
  top: 0;
  width: 4rem;
  height: 4rem;
  color: #fff;
  cursor: pointer;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  text-align: center;
  line-height: 4rem;
}
body .side-panel-form .side-panel-form-content .content {
  padding: 1.5rem;
  overflow-y: auto;
  position: absolute;
  left: 0;
  top: 4rem;
  bottom: 0;
  right: 0;
}
@media only screen and (max-width: 1200px) {
  body .side-panel-form .side-panel-form-content .content {
    padding: 1rem;
  }
}
body .side-panel-form:before {
  z-index: -1;
  content: '';
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  transition: background-color 0.5s, z-index 0.01s 0.5s;
}
body .side-panel-form.show:before {
  z-index: 100;
  background-color: rgba(23, 23, 23, 0.7);
  transition: background-color 0.5s;
}
body .side-panel-form.show .side-panel-form-content {
  transform: translate3d(0, 0, 0);
}
body .form label {
  display: inline-block;
  margin-bottom: 0.5em;
}
body .form .form-group {
  margin-bottom: 1rem;
}
body .form .form-control {
  background-color: #EEEEEE;
  border-color: #B6B6B6;
  color: #2F2F2F;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .form .form-control:focus {
  background-color: #EFEFEF;
  color: #2F2F2F;
  border-color: #2D6D6C;
  outline: 0;
  box-shadow: none;
}
body .form .form-control.error {
  border-color: #dd3333 !important;
}
body .form .form-control::-webkit-input-placeholder {
  /* Chrome/Opera/Safari */
  color: rgba(47, 47, 47, 0.2);
}
body .form .form-control::-moz-placeholder {
  /* Firefox 19+ */
  color: rgba(47, 47, 47, 0.2);
}
body .form .form-control:-ms-input-placeholder {
  /* IE 10+ */
  color: rgba(47, 47, 47, 0.2);
}
body .form .form-control:-moz-placeholder {
  /* Firefox 18- */
  color: rgba(47, 47, 47, 0.2);
}
body .form .form-control[type='text'] + input[type='text'] {
  margin-top: 0.5rem;
}
body .form #txInstallZip {
  margin-right: 0.75em;
}
body .form.inverted .toggle-slider input:checked ~ label {
  color: #ccc;
}
body .form.inverted .form-control {
  background-color: #999;
  border-color: #aaa;
  color: #222;
  -moz-transition: all ease-out 0.2s;
  -o-transition: all ease-out 0.2s;
  -webkit-transition: all ease-out 0.2s;
  transition: all ease-out 0.2s;
}
body .form.inverted .form-control:focus {
  background-color: #aaa;
  color: #000;
  border-color: #dd3333;
}
#download_frame {
  position: absolute;
  left: -100px;
  top: -100px;
  width: 20px;
  height: 20px;
}
.download-spinner,
.request-spinner,
.generic-spinner {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 200;
  background-color: rgba(50, 50, 50, 0.85);
  display: none;
}
.download-spinner h5,
.request-spinner h5,
.generic-spinner h5 {
  margin-top: 1rem;
}
.download-spinner.show,
.request-spinner.show,
.generic-spinner.show {
  display: block;
}
.download-spinner .progress,
.request-spinner .progress,
.generic-spinner .progress {
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  width: 20rem;
  height: 12rem;
  background-color: #2D6D6C;
  transform: translate(-50%, -50%);
  border-radius: 0.25rem;
  padding: 2rem;
  color: #fff;
  text-align: center;
  box-shadow: rgba(0, 0, 0, 0.5) 0 0.5rem 2rem;
}
.download-spinner .fa-3x,
.request-spinner .fa-3x,
.generic-spinner .fa-3x {
  margin-bottom: 1rem;
  margin: 0 auto;
  font-size: 3rem;
}
.download-spinner .fa-3x:after,
.request-spinner .fa-3x:after,
.generic-spinner .fa-3x:after {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
.download-spinner .fa-3x:before,
.request-spinner .fa-3x:before,
.generic-spinner .fa-3x:before {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
.download-spinner .text,
.request-spinner .text,
.generic-spinner .text {
  width: 100%;
  display: block;
  text-align: center;
}
.download-spinner .text:after,
.request-spinner .text:after,
.generic-spinner .text:after {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
.download-spinner .text:before,
.request-spinner .text:before,
.generic-spinner .text:before {
  content: ' ';
  display: block;
  float: none;
  clear: both;
  width: 0;
  height: 0;
  overflow: hidden;
}
.download-spinner.generic-spinner .progress,
.request-spinner.generic-spinner .progress,
.generic-spinner.generic-spinner .progress {
  padding: 0;
  height: 6rem;
  background-color: transparent;
  box-shadow: none;
}
.small-screen-notice {
  z-index: 2000;
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  color: #fff;
  display: none;
  background-color: rgba(20, 20, 20, 0.9);
}
@media only screen and (max-width: 900px) {
  .small-screen-notice {
    display: block;
  }
}
.small-screen-notice .content {
  background-color: rgba(90, 90, 90, 0.9);
  padding: 3rem 4rem;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 30rem;
  max-width: 80vw;
  text-align: center;
}
.small-screen-notice .content i.fas {
  font-size: 4rem;
  margin-bottom: 1rem;
}
/* Bootstrap overrides*/
.btn-primary {
  color: #fff;
  background-color: #2D6D6C;
  border-color: #2D6D6C;
}
.btn-primary:hover {
  background-color: #1e4948;
  border-color: #1e4948;
}
.btn-primary.disabled,
.btn-primary:disabled {
  background-color: #445656;
  border-color: #445656;
  color: #eee;
  cursor: not-allowed;
}
.btn-secondary {
  color: #2D6D6C;
  background-color: #ECF2F2;
  border-color: #ECF2F2;
  border: none;
}
.btn-secondary:hover {
  color: #2D6D6C;
  background-color: #cedddd;
  border-color: #575757;
}
.btn-secondary.disabled,
.btn-secondary:disabled {
  background-color: #efefef;
  border-color: #707070;
  color: rgba(47, 47, 47, 0.3);
  cursor: not-allowed;
}
.modal-content {
  box-shadow: rgba(0, 0, 0, 0.5) 0 1px 10px;
}
.modal-header,
.modal-footer {
  background-color: #FFFFFF;
}
.modal-backdrop {
  background-color: rgba(23, 23, 23, 0.7);
}
.modal-backdrop.show {
  opacity: 1;
}
.modal-title {
  /*text-transform: uppercase;*/
  font-weight: 700;
  color: #000;
  font-size: 1.385rem;
}
.modal.alert .btn-primary {
  display: none;
}
.card.buildsystem {
  min-width: 43%;
  margin-bottom: 2rem;
}
.card.buildsystem .btn {
  width: 100% !important;
  white-space: normal !important;
}
.hidden {
  display: none;
}
@media (min-width: 950px) {
  .modal-help .modal-dialog {
    max-width: 800px;
  }
  .modal-systemselector .modal-dialog {
    max-width: 900px;
  }
  .modal-systemselector .modal-dialog .card.buildsystem {
    min-width: 29%;
    max-width: 29%;
  }
}
/* Animations */
@keyframes wiggle {
  0% {
    transform: rotate(0deg);
  }
  50% {
    transform: rotate(30deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
.wiggle {
  display: inline-block;
  animation: wiggle 1s infinite;
}