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,
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, 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; }

.main-loader-3d {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  transform-style: preserve-3d;
  perspective: 800px;
  margin: auto;
  background: #eee;
  text-align: center;
  padding-top: 35vh;
  opacity: 1;
  transform: scale(1);
  transition: transform 0.5s, opacity 0.5s;
  z-index: 100; }
  .main-loader-3d .loader-item {
    text-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
    display: inline-block;
    width: 1em;
    height: 1em;
    margin-left: -0.05em;
    background-color: rgba(41, 128, 185, 0.7);
    color: #eee;
    font-size: 3em;
    animation-duration: 2000ms;
    animation-timing-function: cubic-bezier(0.645, 0.045, 0.355, 1);
    animation-iteration-count: infinite;
    animation-name: flip; }
    .main-loader-3d .loader-item:nth-child(1) {
      animation-delay: 50ms; }
    .main-loader-3d .loader-item:nth-child(2) {
      animation-delay: 100ms; }
    .main-loader-3d .loader-item:nth-child(3) {
      animation-delay: 150ms; }
    .main-loader-3d .loader-item:nth-child(4) {
      animation-delay: 200ms; }
    .main-loader-3d .loader-item:nth-child(5) {
      animation-delay: 250ms; }
    .main-loader-3d .loader-item:nth-child(6) {
      animation-delay: 300ms; }
    .main-loader-3d .loader-item:nth-child(7) {
      animation-delay: 350ms; }
    .main-loader-3d .loader-item:nth-child(8) {
      animation-delay: 400ms; }
    .main-loader-3d .loader-item:nth-child(9) {
      animation-delay: 450ms; }

.page-loaded .main-loader-3d {
  opacity: 0;
  transform: scale(1.5);
  pointer-events: none; }
  .page-loaded .main-loader-3d .loader-item {
    animation: none; }

@keyframes flip {
  0% {
    transform: rotateX(0deg);
    transform-origin: 0 0 0;
    opacity: 1; }
  30% {
    transform: rotateX(90deg);
    transform-origin: 0 0 0;
    opacity: 0; }
  40% {
    transform-origin: 0 0 0; }
  60% {
    transform: rotateX(90deg);
    opacity: 0;
    transform-origin: 0 0 0; }
  90% {
    transform: rotateX(0deg);
    opacity: 1;
    transform-origin: 0 0 0; } }

.sidebar {
  position: fixed;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-direction: column;
      flex-direction: column;
  top: 0;
  bottom: 0;
  transition-duration: 0.2s;
  transition-timing-function: ease-in-out;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  background: #ffffff;
  overflow: hidden; }
  .sidebar.left-sidebar {
    margin-left: 13em;
    left: 13em;
    transition-property: left; }
  .sidebar.right-sidebar {
    right: 0;
    width: 14em;
    transition-property: right;
    overflow-y: scroll; }
    .sidebar.right-sidebar::-webkit-scrollbar {
      width: .4em; }
    .sidebar.right-sidebar::-webkit-scrollbar-thumb {
      background-color: #6C6C6C;
      border-radius: 5px; }
  .sidebar .header-caption {
    min-height: 4em;
    background-color: #0E829F; }
  .sidebar .email {
    font-size: 0.9em; }
  .sidebar #total-count-container {
    border-top-style: solid;
    border-bottom-style: solid;
    border-color: #b0b0b0;
    border-width: 1px;
    padding: 0.4em;
    text-align: center;
    font-size: 0.8em; }
  .sidebar #saveModel {
    max-width: 70%;
    border: solid 1px;
    margin: 0.2em auto;
    border-color: #3c9c4c;
    box-shadow: 2px 2px 5px #333333;
    cursor: pointer;
    font-size: 0.8em;
    color: white;
    text-align: center;
    text-transform: uppercase;
    padding: 1em;
    background-color: #4caf4f;
    display: inline-block;
    word-wrap: break-word;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    line-height: 18px; }
    .sidebar #saveModel:hover, .sidebar #saveModel:active {
      background-color: #3d8b3f; }
  .sidebar .controll-buttons {
    margin-top: 1em;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .sidebar .btn-rotate, .sidebar .btn-flip {
    background-repeat: no-repeat;
    background-position-x: 3px;
    background-position-y: 4px; }
  .sidebar .btn-rotate {
    background-image: url(../images/rotate.png);
    background-size: 87%; }
  .sidebar .btn-flip {
    background-image: url(../images/flip.png);
    background-size: 83%; }
  .sidebar .btn-delete {
    float: right;
    margin-bottom: 5px !important; }
  .sidebar .menu-delete__container {
    margin-top: -15px; }
  .sidebar .slider {
    -webkit-appearance: none;
    margin: 20px 0 0 10px;
    width: 30%;
    height: 5px;
    border-radius: 5px;
    background: #d3d3d3;
    outline: none;
    opacity: 1;
    transition: opacity .2s;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center;
    position: relative; }
    .sidebar .slider:before {
      content: attr(data-label);
      position: absolute;
      left: 0;
      text-align: center;
      width: 100%;
      opacity: 2;
      bottom: 300%;
      font-size: 0.8em;
      color: #565656;
      font-weight: bold; }
    @media only screen and (min-width: 678px) {
      .sidebar .slider:before {
        bottom: 250%; } }
    @media only screen and (max-width: 678px) {
      .sidebar .slider:before {
        font-size: 1em; } }
  .sidebar .slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #6b6969;
    cursor: pointer; }
  .sidebar .slider::-moz-range-thumb {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #0E829F;
    cursor: pointer; }
  .sidebar .btn {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    border-radius: 100%;
    border: solid 1px;
    cursor: pointer;
    min-width: 44px;
    min-height: 44px;
    margin: 0 0.7em;
    padding: 0.5em 0.6em;
    border-color: #b0b0b0;
    transition: background-color 0.2s ease-in-out;
    font-size: 1.3em;
    white-space: nowrap;
    position: relative; }
    .sidebar .btn .fa {
      font-size: 1.1em; }
    .sidebar .btn:hover, .sidebar .btn:active {
      background-color: #E1E1E1; }
    .sidebar .btn:before {
      content: attr(data-label);
      position: absolute;
      left: 0;
      text-align: center;
      width: 100%;
      bottom: 110%;
      font-size: 0.45em;
      color: #565656;
      font-weight: bold; }
  .sidebar .menu-move__container {
    margin: 0.4em calc((13em - 9em)/2) 1em calc((13em - 9em)/2);
    background: #ffffff; }
  .sidebar .menu-arrows {
    width: 9em;
    height: 9em;
    border-radius: 100%;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    overflow: hidden; }
    .sidebar .menu-arrows .btn-up, .sidebar .menu-arrows .btn-down, .sidebar .menu-arrows .btn-left, .sidebar .menu-arrows .btn-right, .sidebar .menu-arrows .btn-forward, .sidebar .menu-arrows .btn-backward {
      position: absolute;
      margin: auto;
      border: none;
      background: transparent;
      cursor: pointer;
      z-index: 2;
      font-size: 1.3em;
      width: 1.5em;
      padding: 0; }
      .sidebar .menu-arrows .btn-up:active, .sidebar .menu-arrows .btn-down:active, .sidebar .menu-arrows .btn-left:active, .sidebar .menu-arrows .btn-right:active, .sidebar .menu-arrows .btn-forward:active, .sidebar .menu-arrows .btn-backward:active {
        transform: scale(0.95); }
    .sidebar .menu-arrows .inner-circle {
      border-radius: 100%;
      height: 4em;
      width: 4em;
      margin: 28%; }
    .sidebar .menu-arrows .btn-up, .sidebar .menu-arrows .btn-down, .sidebar .menu-arrows .btn-forward, .sidebar .menu-arrows .btn-backward {
      left: 0;
      right: 0; }
    .sidebar .menu-arrows .btn-left, .sidebar .menu-arrows .btn-right {
      top: 0;
      bottom: 0; }
    .sidebar .menu-arrows .btn-left {
      left: 0; }
    .sidebar .menu-arrows .btn-right {
      right: 0; }
    .sidebar .menu-arrows .btn-down {
      bottom: 2.1em; }
    .sidebar .menu-arrows .btn-up {
      top: 2.1em; }
    .sidebar .menu-arrows .btn-forward {
      width: 100%;
      top: 0; }
    .sidebar .menu-arrows .btn-backward {
      width: 100%;
      bottom: 0; }

.page-loaded .sidebar.left-sidebar {
  left: 0; }

.page-loaded .sidebar.right-sidebar.active {
  right: 0; }

.menu-blocks {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  pointer-events: none;
  position: absolute; }
  .menu-blocks .insert-block-btn {
    cursor: pointer;
    width: 7em;
    height: 6em;
    position: relative;
    background-size: 150%;
    transition: box-shadow 0.2s ease-in-out;
    padding: 0;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-color: #ffffff;
    font-size: 1em; }
    .menu-blocks .insert-block-btn.with-text:before {
      content: attr(data-label);
      position: absolute;
      left: 0;
      text-align: center;
      white-space: normal;
      width: 100%;
      bottom: 0.5em;
      font-size: 0.6em;
      color: #565656;
      font-weight: bold; }
    .menu-blocks .insert-block-btn.shelf_unit_24, .menu-blocks .insert-block-btn.shelf_unit_36, .menu-blocks .insert-block-btn.shelf_unit_36_half, .menu-blocks .insert-block-btn.desk_unit {
      background-size: 120%; }
    .menu-blocks .insert-block-btn:hover {
      box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
      z-index: 2; }
    .menu-blocks .insert-block-btn:active {
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
    .menu-blocks .insert-block-btn.footer {
      background-image: url("../images/footer.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.edge {
      background-image: url("../images/edge.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.edge3 {
      background-image: url("../images/edge3.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.edge_ramp_ebf3_male {
      background-image: url("../images/products/edge_ramp_ebf3_male.jpg");
      background-size: 90%; }
    .menu-blocks .insert-block-btn.edge_ramp_ebf3_female {
      background-image: url("../images/products/edge_ramp_ebf3_female.jpg");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.tile18x24 {
      background-image: url("../images/tile18x24.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.tile18x24-drainage {
      background-image: url("../images/tile18x24-drainage.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.tile18x24-ebf3 {
      background-image: url("../images/products/tile18x24-ebf3.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.tile18x24-ebf3-drainage {
      background-image: url("../images/products/tile18x24-ebf3-drainage.png");
      background-size: 160%; }
    .menu-blocks .insert-block-btn.tile12x12 {
      background-image: url("../images/tile12x12.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.tile12x12-drainage {
      background-image: url("../images/tile12x12-drainage.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.tile12x12-dance {
      background-image: url("../images/tile12x12-dance.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.door_half {
      background-image: url("../images/door_half.png");
      background-size: 50%; }
    .menu-blocks .insert-block-btn.door {
      background-image: url("../images/door.png");
      background-size: 90%; }
    .menu-blocks .insert-block-btn.door_8x3 {
      background-image: url("../images/door.png");
      background-size: 90%; }
    .menu-blocks .insert-block-btn.door_half_8x3 {
      background-image: url("../images/door_half.png");
      background-size: 50%; }
    .menu-blocks .insert-block-btn.door_panel_8x4 {
      background-image: url("../images/products/door_panel_8x4_right.png");
      background-size: 40%; }
    .menu-blocks .insert-block-btn.door_panel_8x4_left {
      background-image: url("../images/products/door_panel_8x4_left.png");
      background-size: 40%; }
    .menu-blocks .insert-block-btn.door_panel_7x4_right {
      background-image: url("../images/products/door_panel_8x4_right.png");
      background-size: 40%; }
    .menu-blocks .insert-block-btn.door_panel_7x4_left {
      background-image: url("../images/products/door_panel_8x4_left.png");
      background-size: 40%; }
    .menu-blocks .insert-block-btn.full {
      background-image: url("../images/full.png");
      background-position-y: 90%; }
    .menu-blocks .insert-block-btn.quarter {
      background-image: url("../images/quarter.png");
      background-position-y: 90%; }
    .menu-blocks .insert-block-btn.line {
      background-image: url("../images/line.png");
      background-position-y: 90%; }
    .menu-blocks .insert-block-btn.single {
      background-image: url("../images/single.png");
      background-position-y: 90%; }
    .menu-blocks .insert-block-btn.half {
      background-image: url("../images/half.png");
      background-position-y: 90%; }
    .menu-blocks .insert-block-btn.quarter_cap {
      background-image: url("../images/quarterCap.png");
      background-position-y: 90%; }
    .menu-blocks .insert-block-btn.cap {
      background-image: url("../images/cap.png");
      background-position-y: 90%; }
    .menu-blocks .insert-block-btn.shelf_unit_24 {
      background-image: url("../images/shelf_unit_24.png");
      background-size: 100%; }
    .menu-blocks .insert-block-btn.shelf_unit_48_lintel {
      background-image: url("../images/shelf_unit_48_lintel.png"); }
    .menu-blocks .insert-block-btn.shelf_unit_48_lintel_half {
      background-image: url("../images/shelf_unit_48_lintel_half.png");
      background-size: 90%; }
    .menu-blocks .insert-block-btn.shelf_unit_36 {
      background-image: url("../images/shelf_unit_36.png"); }
    .menu-blocks .insert-block-btn.shelf_unit_36_half {
      background-image: url("../images/shelf_unit_36_half.png"); }
    .menu-blocks .insert-block-btn.desk_unit {
      background-image: url("../images/desk_unit.png"); }
    .menu-blocks .insert-block-btn.panel_1_x_4 {
      background-image: url("../images/panel1x4.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_1_x_7 {
      background-image: url("../images/panel1x7.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_1_x_8 {
      background-image: url("../images/panel1x8.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_1_x_1 {
      background-image: url("../images/panel1x1.png");
      background-size: 50%; }
    .menu-blocks .insert-block-btn.panel_1_x_2 {
      background-image: url("../images/panel1x2.png");
      background-size: 50%; }
    .menu-blocks .insert-block-btn.panel_1_x_3 {
      background-image: url("../images/panel1x3.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_2_x_2 {
      background-image: url("../images/panel2x2.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_2_x_3 {
      background-image: url("../images/panel2x3.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_2_x_4 {
      background-image: url("../images/panel2x4.png");
      background-size: 70%; }
    .menu-blocks .insert-block-btn.panel_3_x_3 {
      background-image: url("../images/panel3x3.png");
      background-size: 70%; }
    .menu-blocks .insert-block-btn.panel_3_x_4 {
      background-image: url("../images/panel3x4.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_4_x_4 {
      background-image: url("../images/panel4x4.png");
      background-size: 70%; }
    .menu-blocks .insert-block-btn.panel_7_x_2 {
      background-image: url("../images/panel7x2.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_7_x_3 {
      background-image: url("../images/panel7x3.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_7_x_4 {
      background-image: url("../images/panel7x4.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_8_x_2 {
      background-image: url("../images/panel8x2.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_8_x_3 {
      background-image: url("../images/panel8x3.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.panel_8_x_4 {
      background-image: url("../images/panel8x4.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.small_filter_cap {
      background-image: url("../images/small_filter_cap.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.lug {
      background-image: url("../images/lug.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.two_way_lug {
      background-image: url("../images/two_way_lug.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.three_way_lug {
      background-image: url("../images/three_way_lug.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.t_shaped_lug {
      background-image: url("../images/t_shaped_lug.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.l_shaped_lug {
      background-image: url("../images/l_shaped_lug.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.adjustable_connector {
      background-image: url("../images/adjustable_connector.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.seam_cover_1 {
      background-image: url("../images/seam_cover.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.seam_cover_2 {
      background-image: url("../images/seam_cover.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.seam_cover_3 {
      background-image: url("../images/seam_cover.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.seam_cover_4 {
      background-image: url("../images/seam_cover.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.seam_cover_7 {
      background-image: url("../images/seam_cover.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.seam_cover_8 {
      background-image: url("../images/seam_cover.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.window_1_x_4 {
      background-image: url("../images/window1x4.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.window_3_x_4 {
      background-image: url("../images/window3x4.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.window_4_x_4 {
      background-image: url("../images/window4x4.png");
      background-size: 80%; }
    .menu-blocks .insert-block-btn.mounting_cap {
      background-image: url("../images/mounting_cap.png");
      background-size: 80%; }

.tabs-list {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  overflow: scroll;
  white-space: nowrap;
  z-index: 1; }
  .tabs-list .tab-caption {
    position: absolute;
    text-align: center;
    font-size: 0.73em;
    background: #ffffff;
    left: 0;
    right: 0;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    padding: 1em 0.5em 0;
    color: #0E829F;
    min-height: 2em;
    z-index: 2; }
  .tabs-list .tab-content {
    z-index: 3;
    height: 99px;
    width: 100%;
    transition: all .1s ease; }
    .tabs-list .tab-content .menu-blocks {
      top: 0;
      opacity: 0;
      display: inline-block;
      white-space: nowrap; }
      .tabs-list .tab-content .menu-blocks.active {
        opacity: 1;
        z-index: 1;
        pointer-events: auto;
        position: static; }

.search-box {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }

.tag-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap;
  padding: 1em;
  font-size: 1em;
  max-height: 6.5em;
  overflow: auto;
  position: relative;
  z-index: 1; }
  .tag-list.tag-list::-webkit-scrollbar {
    width: .4em; }
  .tag-list.tag-list::-webkit-scrollbar-thumb {
    background-color: #6C6C6C;
    border-radius: 5px; }
  .tag-list .tag-all {
    width: 100%;
    font-size: 1em; }
  .tag-list .tag {
    width: calc(100% / 3);
    font-size: 0.9em;
    margin: 0.5em 0 0; }
  .tag-list .tag-all,
  .tag-list .tag {
    display: inline;
    color: #565656;
    transition-property: background-color, box-shadow;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
    text-align: left;
    display: -ms-flexbox;
    display: flex;
    cursor: pointer; }
    .tag-list .tag-all .fa,
    .tag-list .tag .fa {
      font-size: 1.2em;
      margin-right: 0.4em; }
    .tag-list .tag-all .fa-check-square-o,
    .tag-list .tag .fa-check-square-o {
      display: none; }
    .tag-list .tag-all .fa-square-o,
    .tag-list .tag .fa-square-o {
      display: inline; }
    .tag-list .tag-all .tag-text,
    .tag-list .tag .tag-text {
      text-overflow: ellipsis;
      overflow: hidden; }
    .tag-list .tag-all.active .fa-check-square-o,
    .tag-list .tag.active .fa-check-square-o {
      display: inline; }
    .tag-list .tag-all.active .fa-square-o,
    .tag-list .tag.active .fa-square-o {
      display: none; }
    .tag-list .tag-all:hover .fa-check-square-o,
    .tag-list .tag-all:hover .fa-square-o,
    .tag-list .tag-all:hover .tag-text,
    .tag-list .tag:hover .fa-check-square-o,
    .tag-list .tag:hover .fa-square-o,
    .tag-list .tag:hover .tag-text {
      color: #0E829F; }

@media (max-width: 1200px) {
  .tag-list .tag {
    width: calc(100% / 2); } }

@media (max-width: 600px) {
  .tag-list .tag {
    width: 100%; } }

#library-component .empty-models {
  text-align: center;
  padding: 5em 6em 7em;
  width: 100%;
  font-size: 1.2em; }

#library-component .footer {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-in-out;
  padding: 0; }
  #library-component .footer.active {
    max-height: 5em;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    padding-bottom: 1em; }

#library-component h2 {
  position: relative;
  z-index: 1; }

#library-component .popup {
  width: 45em; }

#library-component .models-list {
  max-height: 50vh;
  overflow: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  display: -webkit-flex;
  -webkit-flex-wrap: wrap; }
  #library-component .models-list .model-name {
    position: absolute;
    bottom: 1.0em;
    width: 100%;
    color: #0E829F;
    font-size: 0.7em;
    font-weight: 900; }
  #library-component .models-list .model-system-of-measurement-value {
    position: absolute;
    bottom: 0em;
    width: 100%;
    color: #00627F;
    font-size: 0.7em; }
  #library-component .models-list .model-item {
    cursor: pointer;
    position: relative; }
    #library-component .models-list .model-item .model-image {
      width: 14em;
      height: 14em;
      background-size: cover;
      background-position: center;
      margin: 0.5em; }
    #library-component .models-list .model-item:after {
      font-family: FontAwesome;
      opacity: 0;
      content: "\f00c";
      color: #ffffff;
      height: 0.9em;
      width: 0.9em;
      font-size: 2em;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      transition: opacity 0.2s ease-in-out;
      margin: auto;
      background-color: #0E829F;
      box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
      border-radius: 100%;
      padding: 0.3em; }
    #library-component .models-list .model-item:before {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background-color: rgba(255, 255, 255, 0.6);
      transition: opacity 0.2s ease-in-out;
      opacity: 0; }
    #library-component .models-list .model-item.checked:before, #library-component .models-list .model-item:hover:before {
      opacity: 1; }
    #library-component .models-list .model-item.checked:after {
      opacity: 1; }

#library-component.loading {
  pointer-events: none; }
  #library-component.loading .models-box {
    height: 200px; }
    #library-component.loading .models-box .models-list {
      opacity: 0.5; }
    #library-component.loading .models-box .loader {
      border: 6px solid #E1E1E1;
      border-top-color: #0E829F;
      border-radius: 50%;
      width: 35px;
      height: 35px;
      animation: spin 1.5s linear infinite;
      margin: 0 auto;
      margin-top: 130px; }

@keyframes spin {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }
  #library-component.loading .popup:after {
    content: attr(data-loading-text);
    position: absolute;
    font-size: 2em;
    font-weight: bold;
    width: 100%;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    height: 1em; }

#elements-container {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  background-color: #f6f6f6;
  overflow: scroll; }
  #elements-container .total-count {
    font-size: 0.8em;
    padding-top: 0.6em; }
  #elements-container .element-info .block-type {
    line-height: 1;
    color: #565656;
    font-size: 0.7em;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    padding-top: 0.55em;
    padding-bottom: 0.1em; }
  #elements-container .element-info .block-count {
    font-size: 0.7em;
    padding-top: 0.1em; }
  #elements-container .total-count {
    text-align: center;
    font-weight: bold;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    min-height: 2.3em;
    z-index: 1;
    position: relative; }
  #elements-container .elements-count-list {
    background: #f6f6f6;
    bottom: 0;
    top: 2.3em;
    left: 0;
    right: 0;
    padding-top: 0.2em; }
    #elements-container .elements-count-list.elements-count-list::-webkit-scrollbar {
      width: .4em; }
    #elements-container .elements-count-list.elements-count-list::-webkit-scrollbar-thumb {
      background-color: #6C6C6C;
      border-radius: 5px; }

.price-list {
  top: 4%;
  width: 60%;
  position: absolute;
  background: white;
  left: 100%;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  padding: 2em;
  z-index: -1; }
  .price-list .price-list-note {
    font-size: 0.85em;
    font-style: italic;
    margin-top: 2em;
    text-align: left;
    opacity: 0.8; }
  .price-list .price-list-item {
    text-align: left;
    margin-top: 1em; }
  .price-list .price-list-total {
    float: right; }
  .price-list .total-price,
  .price-list .price-list-header {
    font-size: 1.3em;
    text-transform: uppercase; }
  .price-list .total-price {
    margin-top: 1em;
    text-align: right; }

.sound-on .fa-ban {
  position: absolute;
  opacity: 1;
  font-size: 1.8em !important;
  left: 0.5em;
  top: -0.2em; }

.sound-on .fa-volume-up {
  position: absolute;
  display: none;
  top: 0;
  left: 0.7em; }

.sound-on .fa-volume-off {
  position: absolute;
  top: 0;
  left: 0.9em; }

.sound-on.active .fa-volume-off {
  display: none; }

.sound-on.active .fa-volume-up {
  display: initial; }

.sound-on.active .fa-ban {
  opacity: 0; }

.material-select-list,
.material-input-box {
  position: relative;
  display: inline-block;
  font-size: 1.1em;
  width: 100%; }

.material-input-box .material-placeholder-mask {
  position: absolute;
  top: 0.3em;
  left: 0;
  color: #bdc3c7;
  transition: top 0.2s ease-in-out, font-size 0.2s ease-in-out;
  font-size: 0.9em;
  font-weight: 100;
  pointer-events: none; }

.material-input-box .material-main-input {
  border: none;
  border-bottom: 1px solid #bdc3c7;
  font-size: 1em;
  padding-bottom: 1px;
  font-family: inherit;
  width: 100%;
  display: inline-block;
  text-decoration: none;
  text-align: left;
  background: transparent; }
  .material-input-box .material-main-input:focus {
    padding-bottom: 0;
    outline: none; }

.material-input-box.active .material-placeholder-mask, .material-input-box.focus .material-placeholder-mask {
  top: -1.3em;
  font-size: 0.7em; }

.material-input-box.active .material-placeholder-mask {
  color: #565656; }

.material-input-box.focus .material-placeholder-mask {
  color: #0E829F; }

.material-input-box.focus .material-main-input {
  border-bottom: 2px solid #0E829F; }

.material-input-box .material-main-input.error, .material-input-box .material-main-input.required {
  border-bottom-color: #f44336; }

.material-select-list {
  position: relative;
  cursor: pointer;
  height: 1.2em;
  padding-top: 1em; }
  .material-select-list .material-value-output {
    white-space: nowrap;
    overflow-x: hidden;
    text-overflow: ellipsis;
    padding-right: 1em;
    padding-bottom: 0.2em;
    display: block;
    border-bottom: 1px solid #bdc3c7; }
    .material-select-list .material-value-output:after {
      position: absolute;
      content: "";
      right: 0;
      bottom: 0;
      border: 0.5em solid;
      border-color: #565656 transparent transparent transparent; }
  .material-select-list .hide {
    display: none; }
  .material-select-list .material-select-options {
    transition: transform 0.2s ease-in-out, max-height 0.2s ease-in-out;
    width: auto;
    min-width: 100%;
    white-space: nowrap;
    position: absolute;
    transform: translateY(-50%);
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    z-index: 1000;
    background: #ffffff;
    overflow-y: auto;
    overflow-x: hidden; }
    .material-select-list .material-select-options.size-1 {
      max-height: 2em; }
    .material-select-list .material-select-options.size-2 {
      max-height: 4em; }
    .material-select-list .material-select-options.size-3 {
      max-height: 6em; }
    .material-select-list .material-select-options.size-4 {
      max-height: 8em; }
    .material-select-list .material-select-options.size-5 {
      max-height: 10em; }
    .material-select-list .material-select-options.size-5 {
      max-height: 13em; }
    .material-select-list .material-select-options .material-select-option {
      padding: 0.5em 0.5em 0.5em 1em; }
      .material-select-list .material-select-options .material-select-option:hover {
        color: #0E829F; }
  .material-select-list .material-select-placeholder {
    position: absolute;
    top: 0;
    left: 0;
    color: #565656;
    font-size: 0.7em;
    font-weight: 100;
    pointer-events: none; }
  .material-select-list .material-select-option {
    width: 100%;
    font-size: 1em; }
  .material-select-list.closed .material-select-options {
    transform: translateY(0);
    max-height: 0; }
  .material-select-list.closed .material-select-option {
    display: none; }

body {
  overflow: hidden;
  font-family: Roboto, Tahoma, Arial, sans-serif;
  color: #565656;
  font-size: 100%; }

strong {
  font-weight: bold; }

button {
  border: none;
  background: none;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

button:focus {
  outline: none; }

/* Prevent scene scroll*/
html {
  position: fixed; }

#version {
  display: none; }

.absolute-center {
  position: relative;
  margin: auto; }

.shadow-layer-1 {
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }

.shadow-layer-2 {
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); }

.shadow-layer-3 {
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3); }

.t-center {
  text-align: center; }

.t-left {
  text-align: left; }

.model-details {
  position: fixed;
  left: 1.5em;
  top: 1em;
  z-index: 1;
  line-height: 1.3em;
  display: none; }

.top-menu {
  padding: 5px;
  text-align: center; }

.top-menu-output {
  position: fixed;
  left: 14em;
  top: 0.5em;
  z-index: 3; }

.fallback-msg {
  display: none;
  opacity: 0;
  font-size: 14px;
  padding: 10px;
  margin-left: 200px;
  background: rgba(255, 255, 255, 0.7);
  position: fixed;
  right: 100px;
  left: 100px;
  text-align: center;
  top: 50px;
  border: 2px solid #AADFE1;
  margin-right: 200px;
  transition: opacity 0.5s; }

.fallback-msg.active {
  opacity: 1;
  display: block; }

.fallback-msg .close {
  position: absolute;
  right: -15px;
  top: -16px;
  cursor: pointer;
  text-decoration: none;
  font-size: 21px;
  width: 25px;
  height: 25px;
  line-height: 22px;
  border-radius: 50%;
  background: #fff;
  border: 2px solid #0E829F; }

.strong {
  font-weight: bold; }

.help-window {
  cursor: pointer;
  padding: 20px;
  border-radius: 0.5em;
  min-width: 112px;
  margin-top: 0.5em; }

.help-window:hover {
  background: #E1E1E1; }

.element-info {
  clear: both;
  padding-bottom: 5px; }
  .element-info:hover {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
    cursor: pointer; }

.menu {
  display: -ms-flexbox;
  display: flex;
  font-size: 1.3em;
  min-width: 23em;
  margin: 0.5em auto;
  border-bottom: 0;
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.menu-colors {
  z-index: 10;
  position: fixed;
  top: 48px;
  right: 20px;
  width: 128px;
  padding: 10px;
  border: 1px solid black;
  background: #fff; }

.block-menu h3 {
  font-family: Tahoma, Arial, sans-serif;
  padding: 5px;
  color: #555; }

.menu-closer {
  width: 30px;
  height: 30px;
  position: absolute;
  top: -24px;
  right: -21px;
  border-radius: 50%;
  background: #fff;
  border: 1px solid;
  cursor: pointer; }

.hidden {
  display: none !important; }

.scroll-helper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 2px;
  text-align: center;
  color: #aaa;
  font-size: 10px;
  letter-spacing: 1.2px;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: default; }

.menu-rotate {
  position: fixed;
  top: 260px;
  right: 20px;
  width: 128px;
  padding: 10px;
  border: 1px solid black;
  background: #fff; }

.menu-delete {
  position: fixed;
  top: 350px;
  right: 20px;
  width: 128px;
  padding: 10px;
  border: 1px solid black;
  background: #fff; }

.half-form {
  display: inline-block;
  width: 49%; }

.menu button {
  width: 3.125em;
  height: 3.125em;
  position: relative;
  font-size: 1em;
  transition: box-shadow 0.2s ease-in-out;
  border-radius: 100%; }
  .menu button:hover {
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3); }
  .menu button:active {
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
  .menu button .button-title {
    position: absolute;
    left: 0;
    font-size: 0.7em;
    text-align: center;
    right: 0;
    top: 3.5em; }

.menu button:before {
  content: attr(data-label);
  position: absolute;
  left: 0;
  text-align: center;
  width: 100%;
  bottom: -1.2em;
  font-size: 0.45em;
  color: #565656;
  font-weight: bold; }

#saveSTL, #showModel {
  /* TODO: remove when functional will be ready */
  display: none; }

.section-undo-redo {
  display: inline; }

#shelfUnit:after, #fullBlock:after, #halfBlock:after, #quarterBlock:after, #finishingCap:after, #showModel:after,
#saveSTL:after, #takeSnapshot:after, #addHuman:after, #btnRedo:after, #btnUndo:after, sound-on:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover; }

.menu, .help-window, .tips-container {
  background: #ffffff; }

.model-elements {
  position: fixed;
  top: 0;
  left: -200px;
  bottom: 0;
  width: 200px;
  border-right: 3px solid #AADFE1; }

.page-loaded .model-elements {
  left: 0; }

.page-loaded .menu {
  bottom: 0; }

.page-loaded .rotate, .page-loaded .widget-zoom {
  background-color: white;
  bottom: 11em; }

.page-loaded .scene-move {
  bottom: 10.5em;
  background-size: 100%;
  background-image: url("../images/camera.png"); }

button.camera-move {
  border-radius: 35%; }

.logo {
  text-align: center;
  padding-top: 5px; }

.logo-info {
  text-align: center;
  line-height: 1.4em;
  margin-top: 0.8em; }
  .logo-info div {
    font-family: helvetica; }

.logo img {
  width: 11em; }

.close-modal {
  position: absolute;
  background: rgba(255, 255, 255, 0.6) none repeat scroll 0% 0%;
  padding: 10px 15px;
  right: 5%;
  top: 5%;
  border-radius: 100%;
  font-size: 20px;
  cursor: pointer; }

.link-input {
  padding: 15px 20px;
  display: block;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fff;
  color: #333;
  text-align: center;
  line-height: 48px;
  text-decoration: none;
  bottom: 0;
  right: 0;
  font-size: 20px;
  border-radius: 30px;
  width: 600px;
  height: 50px; }

.link-input:hover {
  text-decoration: underline; }

.modal-window {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.7);
  z-index: 10;
  width: 100%;
  height: 100%; }

.modal-window.active {
  display: block; }

.menu button .fa {
  font-size: 1.4em;
  padding: 0.6em 0; }

.fa {
  color: #565656; }

.logo-info a {
  display: block;
  color: #000000;
  text-decoration: none; }

.logo-info a:hover {
  text-decoration: underline; }

.element-color {
  width: 1.5em;
  height: 1.5em;
  margin: 0.5em 0.7em;
  float: left;
  background-size: cover;
  outline: 1px solid rgba(0, 0, 0, 0.3); }

.widget-zoom, .scene-move {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-clip: padding-box;
  cursor: pointer;
  position: fixed; }

.widget-zoom {
  height: 57px;
  width: 29px;
  left: 2em; }

.scene-move {
  height: 100px;
  width: 100px;
  left: 5.5em; }

.scene-move {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .scene-move .right-part,
  .scene-move .left-part {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row; }
  .scene-move .center-part {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .scene-move .center-part .fa {
      top: 0px; }

.widget-zoom-button.widget-zoom-out {
  bottom: 0px;
  border-top-left-radius: 0px;
  border-top-right-radius: 0px; }

.widget-zoom-button.widget-zoom-in {
  top: 0px;
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 0px; }

.widget-zoom-button {
  border: 0;
  outline: 0;
  display: block;
  margin: auto 0;
  height: 29px;
  overflow: hidden;
  cursor: pointer;
  width: 29px;
  z-index: 2; }

.widget-zoom-button:hover .fa {
  color: #555; }

.widget-zoom-button .fa {
  font-size: 15px;
  position: relative;
  color: #777; }

.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, 0.6);
  transition: opacity 500ms;
  visibility: hidden;
  opacity: 0;
  z-index: 20;
  overflow-y: auto;
  overflow-x: hidden; }

.overlay.active,
.overlay:target {
  visibility: visible;
  opacity: 1; }

.form-label {
  display: block;
  padding-left: 2.1em;
  text-align: left;
  margin-bottom: 0.5em; }

.form-label:first-of-type {
  margin: 0.5em 0; }

.form-label.form-instruction {
  padding: 1em 2.1em;
  text-align: center; }

.popup,
.builder-form {
  width: 35em;
  margin: 5vh auto;
  background: #ffffff;
  text-align: center;
  position: relative;
  font-size: 1em; }
  .popup .footer,
  .builder-form .footer {
    background: #ffffff;
    padding-bottom: 1.4em;
    position: relative; }
  .popup .wall-preview,
  .popup .floor-preview,
  .builder-form .wall-preview,
  .builder-form .floor-preview {
    position: absolute;
    right: 1.1em;
    z-index: -1;
    top: 1em;
    transition: right 0.5s ease-in-out;
    background: #ffffff; }
    .popup .wall-preview .preview-title,
    .popup .floor-preview .preview-title,
    .builder-form .wall-preview .preview-title,
    .builder-form .floor-preview .preview-title {
      font-size: 0.9em;
      color: #0E829F;
      margin: 0.5em; }
    .popup .wall-preview .preview-wall-typ,
    .popup .wall-preview .preview-floor-type,
    .popup .floor-preview .preview-wall-typ,
    .popup .floor-preview .preview-floor-type,
    .builder-form .wall-preview .preview-wall-typ,
    .builder-form .wall-preview .preview-floor-type,
    .builder-form .floor-preview .preview-wall-typ,
    .builder-form .floor-preview .preview-floor-type {
      font-size: 0.7em;
      max-width: 33em;
      text-align: center;
      font-weight: bold;
      margin-top: 0.3em; }
    .popup .wall-preview img,
    .popup .floor-preview img,
    .builder-form .wall-preview img,
    .builder-form .floor-preview img {
      width: 22em; }
    .popup .wall-preview.active,
    .popup .floor-preview.active,
    .builder-form .wall-preview.active,
    .builder-form .floor-preview.active {
      right: -22em; }
  .popup .preview,
  .builder-form .preview {
    position: absolute;
    top: 4.6em;
    right: -1em;
    transition: box-shadow 200ms ease-in-out;
    border-radius: 100%;
    background-color: #0E829F;
    padding: 0.5em;
    border: none; }
    .popup .preview .fa,
    .builder-form .preview .fa {
      color: #ffffff;
      text-shadow: 1px 1px rgba(0, 0, 0, 0.3);
      transform: rotate(0deg);
      transition: transform 0.1s ease-in-out; }
      .popup .preview .fa:active,
      .builder-form .preview .fa:active {
        transform: rotate(-80deg); }

.save-as-container {
  margin: 2em;
  text-align: left; }

.builder-form .form-input-half,
.builder-form .form-input {
  width: 31em;
  margin: 1em 2em;
  text-align: left;
  display: inline-block;
  font-size: 1em; }

.builder-form .form-input-half {
  width: 40%;
  margin: 1em 1em 1em 0; }

.add-support-columns,
.add-edging {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.6s; }

.add-support-columns.active,
.add-edging.active {
  max-height: 7em;
  overflow: visible; }

.half-label {
  display: inline-block;
  width: 43%; }

.check {
  margin-left: -1px; }

.add-support-msg {
  position: relative;
  background: #ffffff;
  clear: both; }

.add-support-form {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.8s; }

.add-support-form.active {
  max-height: 20em;
  overflow: visible; }

.builder-form .title,
.popup h2 {
  margin-top: 0;
  text-transform: uppercase;
  color: #ffffff;
  padding: 1.4em 1.78em;
  background-color: #0E829F;
  line-height: 1.57em;
  margin-bottom: 0;
  font-family: Tahoma, Arial, sans-serif;
  text-align: center; }

.popup .f-row {
  margin-bottom: 1.5em; }

.popup input[type="check"] {
  margin: 0 10px;
  height: 14px; }

.submit-btn,
.popup .btn-saveForm {
  width: 30%;
  margin: 0 auto 1em;
  padding: 0.7em;
  background-color: #0E829F;
  color: #ffffff;
  border-radius: 10px;
  font-size: 1em;
  cursor: pointer;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
  transition: background-color 0.5s, box-shadow;
  white-space: preline; }

.popup .save_buttons {
  width: 90%;
  margin: 0 auto;
  display: -ms-flexbox;
  display: flex; }

.submit-btn:hover,
.popup .btn-saveForm:hover {
  background-color: #00627F;
  box-shadow: none; }

.generate-btn {
  margin-top: 2.1em;
  white-space: nowrap; }

.builder-form .close,
.popup .close {
  position: absolute;
  top: -19px;
  right: -16px;
  transition: box-shadow 200ms;
  font-weight: normal;
  text-decoration: none;
  border-radius: 100%;
  background-color: #0E829F;
  color: #ffffff;
  padding: 2px 10px 6px;
  border: none;
  font-size: 22px;
  z-index: 2; }
  .builder-form .close:hover,
  .popup .close:hover {
    color: #ffffff; }

.popup .content {
  max-height: 30%;
  padding: 2em;
  overflow: auto;
  text-align: center; }

.rotate {
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  bottom: -100px;
  left: 8em; }

.rotate .builder-rotator {
  transform: rotate(225deg);
  position: absolute;
  height: 40px;
  width: 40px;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
  transform-origin: 50% 50%; }

.rotate .builder-rotator a:nth-child(1) {
  background-position: 0 0; }

.rotate .builder-rotator a:nth-child(2) {
  background-position: -20px 0; }

.rotate .builder-rotator a:nth-child(3) {
  background-position: 0 -20px; }

.rotate .builder-rotator a:nth-child(4) {
  background-position: -20px -20px; }

.rotate .builder-rotator .rotate-free, .rotate .builder-rotator .rotate-free:hover, .rotate .builder-rotator .rotate-free:active {
  display: block;
  width: 25px;
  height: 25px;
  position: absolute;
  top: 7px;
  left: 8px;
  border-radius: 13px;
  background: transparent; }

.rotate .builder-rotator img {
  position: absolute;
  transform: rotate(-45deg);
  top: 10px;
  left: 15px;
  height: 20px;
  width: 10px;
  margin-top: 0;
  margin-left: 0;
  transform-origin: 50% 50%;
  z-index: 25; }

.rotate .builder-rotator a {
  float: left;
  width: 20px;
  margin: 0;
  padding: 0;
  height: 20px;
  position: relative;
  z-index: 26;
  background: transparent url(../images/builder-rotator-bg.png) no-repeat 0 0;
  background-size: 40px 240px; }

.rotate .builder-rotator a:nth-child(1):hover {
  background-position: 0 -160px; }

.rotate .builder-rotator a:nth-child(2):hover {
  background-position: -20px -40px; }

.rotate .builder-rotator a:nth-child(3):hover {
  background-position: 0 -140px; }

.rotate .builder-rotator a:nth-child(4):hover {
  background-position: -20px -100px; }

.ir {
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  text-align: left;
  text-indent: -9999px; }

.bolder {
  font-weight: bold; }

.tips-container.overlay {
  background: none; }

.tips-container .tips {
  padding: 0.3em;
  border: 1px solid #bdc3c7;
  border-radius: 0.375em;
  background-color: #ffffff;
  min-width: 17em;
  position: fixed;
  right: 15em;
  bottom: 11em;
  opacity: 0;
  pointer-events: none;
  white-space: nowrap; }
  .tips-container .tips .tips-list {
    overflow-x: visible;
    overflow-y: hidden;
    max-height: 1em;
    transition: max-height 0.2s ease-in-out;
    font-size: 1em; }
    .tips-container .tips .tips-list li {
      font-size: 12px;
      line-height: 16px;
      font-style: italic; }
    .tips-container .tips .tips-list b {
      font-weight: 600; }

.tips-container .tips-title {
  padding: 20px;
  border-radius: 0.5em;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }
  .tips-container .tips-title:hover {
    background: #e1e1e1;
    cursor: pointer; }

.tips-container.active .tips {
  opacity: 1;
  pointer-events: initial; }
  .tips-container.active .tips .tips-list {
    max-height: 14em; }

@media (max-width: 1200px) and (orientation: portrait) {
  body {
    font-size: 20px; }
  .scene-move, .rotate, .widget-zoom {
    display: none; }
  .popup,
  #library-component .popup,
  .builder-form {
    width: 90%;
    margin-top: 3vh;
    font-size: 120%; }
    .popup .form-input, .popup .form-input-half,
    #library-component .popup .form-input,
    #library-component .popup .form-input-half,
    .builder-form .form-input,
    .builder-form .form-input-half {
      width: 90%; }
      .popup .form-input:nth-of-type(2n), .popup .form-input-half:nth-of-type(2n),
      #library-component .popup .form-input:nth-of-type(2n),
      #library-component .popup .form-input-half:nth-of-type(2n),
      .builder-form .form-input:nth-of-type(2n),
      .builder-form .form-input-half:nth-of-type(2n) {
        margin-right: 0;
        float: none; }
  #library-component .models-list .model-item .model-image {
    width: 11em;
    height: 11em; }
  .add-support-columns.active,
  .add-edging.active {
    max-height: 11em; } }

@media (max-width: 1450px) and (orientation: landscape) {
  body {
    font-size: 14px; }
  .popup {
    font-size: 0.9em; } }

/*===============================
=            Choices            =
===============================*/
.choices {
  position: relative;
  margin-bottom: 24px;
  font-size: 16px; }

.choices:focus {
  outline: none; }

.choices:last-child {
  margin-bottom: 0; }

.choices.is-disabled .choices__inner, .choices.is-disabled .choices__input {
  background-color: #EAEAEA;
  cursor: not-allowed;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.choices.is-disabled .choices__item {
  cursor: not-allowed; }

.choices[data-type*="select-one"] {
  cursor: pointer; }

.choices[data-type*="select-one"] .choices__inner {
  padding-bottom: 7.5px; }

.choices[data-type*="select-one"] .choices__input {
  display: block;
  width: 100%;
  padding: 10px;
  border-bottom: 1px solid #DDDDDD;
  background-color: #FFFFFF;
  margin: 0; }

.choices[data-type*="select-one"] .choices__button {
  background-image: url("../images/cross-inverse.svg");
  padding: 0;
  background-size: 8px;
  height: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  margin-right: 25px;
  height: 20px;
  width: 20px;
  border-radius: 10em;
  opacity: .5; }

.choices[data-type*="select-one"] .choices__button:hover, .choices[data-type*="select-one"] .choices__button:focus {
  opacity: 1; }

.choices[data-type*="select-one"] .choices__button:focus {
  box-shadow: 0px 0px 0px 2px #00BCD4; }

.choices[data-type*="select-one"]:after {
  content: "";
  height: 0;
  width: 0;
  border-style: solid;
  border-color: #333333 transparent transparent transparent;
  border-width: 5px;
  position: absolute;
  right: 11.5px;
  top: 50%;
  margin-top: -2.5px;
  pointer-events: none; }

.choices[data-type*="select-one"].is-open:after {
  border-color: transparent transparent #333333 transparent;
  margin-top: -7.5px; }

.choices[data-type*="select-one"][dir="rtl"]:after {
  left: 11.5px;
  right: auto; }

.choices[data-type*="select-one"][dir="rtl"] .choices__button {
  right: auto;
  left: 0;
  margin-left: 25px;
  margin-right: 0; }

.choices[data-type*="select-multiple"] .choices__inner, .choices[data-type*="text"] .choices__inner {
  cursor: text; }

.choices[data-type*="select-multiple"] .choices__button, .choices[data-type*="text"] .choices__button {
  position: relative;
  display: inline-block;
  margin-top: 0;
  margin-right: -4px;
  margin-bottom: 0;
  margin-left: 8px;
  padding-left: 16px;
  border-left: 1px solid #008fa1;
  background-image: url("../images/cross.svg");
  background-size: 8px;
  width: 8px;
  line-height: 1;
  opacity: .75; }

.choices[data-type*="select-multiple"] .choices__button:hover, .choices[data-type*="select-multiple"] .choices__button:focus, .choices[data-type*="text"] .choices__button:hover, .choices[data-type*="text"] .choices__button:focus {
  opacity: 1; }

.choices__inner {
  display: inline-block;
  vertical-align: top;
  width: 97%;
  background-color: #f9f9f9;
  padding: 7.5px 7.5px 3.75px;
  border: 1px solid #DDDDDD;
  border-radius: 2.5px;
  font-size: 14px;
  overflow: hidden; }

.is-focused .choices__inner, .is-open .choices__inner {
  border-color: #b7b7b7; }

.is-open .choices__inner {
  border-radius: 2.5px 2.5px 0 0; }

.is-flipped.is-open .choices__inner {
  border-radius: 0 0 2.5px 2.5px; }

.choices__list {
  margin: 0;
  padding-left: 0;
  list-style: none; }

.choices__list--single {
  display: inline-block;
  padding: 4px 16px 4px 4px;
  width: 100%; }

[dir="rtl"] .choices__list--single {
  padding-right: 4px;
  padding-left: 16px; }

.choices__list--single .choices__item {
  width: 100%; }

.choices__list--multiple {
  display: inline; }

.choices__list--multiple .choices__item {
  display: inline-block;
  vertical-align: middle;
  border-radius: 20px;
  padding: 4px 10px;
  font-size: 1em;
  font-weight: 500;
  margin-right: 3.75px;
  margin-bottom: 3.75px;
  background-color: #0e829f;
  border: 1px solid #0e829f;
  color: #FFFFFF;
  word-break: break-all; }

.choices__list--multiple .choices__item[data-deletable] {
  padding-right: 5px; }

[dir="rtl"] .choices__list--multiple .choices__item {
  margin-right: 0;
  margin-left: 3.75px; }

.choices__list--multiple .choices__item.is-highlighted {
  background-color: #00a5bb;
  border: 1px solid #008fa1; }

.is-disabled .choices__list--multiple .choices__item {
  background-color: #aaaaaa;
  border: 1px solid #919191; }

.choices__list--dropdown {
  display: none;
  z-index: 1;
  position: absolute;
  width: 100%;
  background-color: #FFFFFF;
  border: 1px solid #DDDDDD;
  top: 100%;
  margin-top: -1px;
  border-bottom-left-radius: 2.5px;
  border-bottom-right-radius: 2.5px;
  overflow: hidden;
  word-break: break-all; }

.choices__list--dropdown.is-active {
  display: block; }

.is-open .choices__list--dropdown {
  border-color: #b7b7b7; }

.is-flipped .choices__list--dropdown {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: -1px;
  border-radius: .25rem .25rem 0 0; }

.choices__list--dropdown .choices__list {
  position: relative;
  max-height: 300px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position; }

.choices__list--dropdown .choices__item {
  position: relative;
  padding: 10px;
  font-size: 14px; }

[dir="rtl"] .choices__list--dropdown .choices__item {
  text-align: right; }

@media (min-width: 640px) {
  .choices__list--dropdown .choices__item--selectable {
    padding-right: 100px; }
  .choices__list--dropdown .choices__item--selectable:after {
    content: attr(data-select-text);
    font-size: 12px;
    opacity: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%); }
  [dir="rtl"] .choices__list--dropdown .choices__item--selectable {
    text-align: right;
    padding-left: 100px;
    padding-right: 10px; }
  [dir="rtl"] .choices__list--dropdown .choices__item--selectable:after {
    right: auto;
    left: 10px; } }

.choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: #f2f2f2; }

.choices__list--dropdown .choices__item--selectable.is-highlighted:after {
  opacity: .5; }

.choices__item {
  cursor: default; }

.choices__item--selectable {
  cursor: pointer; }

.choices__item--disabled {
  cursor: not-allowed;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  opacity: .5; }

.choices__heading {
  font-weight: 600;
  font-size: 12px;
  padding: 10px;
  border-bottom: 1px solid #f7f7f7;
  color: gray; }

.choices__button {
  text-indent: -9999px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer; }

.choices__button:focus {
  outline: none; }

.choices__input {
  display: inline-block;
  vertical-align: baseline;
  background-color: #f9f9f9;
  font-size: 14px;
  margin-bottom: 5px;
  border: 0;
  border-radius: 0;
  max-width: 100%;
  padding: 4px 0 4px 2px; }

.choices__input:focus {
  outline: 0; }

[dir="rtl"] .choices__input {
  padding-right: 2px;
  padding-left: 0; }

.choices__placeholder {
  opacity: .5; }

/*=====  End of Choices  ======*/
.bottom-menu {
  height: 10em;
  left: 0;
  right: 14em;
  bottom: 0;
  background: white;
  position: fixed;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none; }
  .bottom-menu .colors-panel {
    display: -ms-flexbox;
    display: flex;
    border-bottom: 1px solid;
    border-top: 1px solid;
    border-color: #b0b0b0;
    height: 4em; }
    .bottom-menu .colors-panel .colors-palette {
      width: 100%;
      min-width: 0;
      border-left: 1px solid;
      border-color: #b0b0b0; }
      .bottom-menu .colors-panel .colors-palette .color-item {
        height: 25px;
        width: 40px;
        cursor: pointer;
        box-sizing: border-box;
        transition: box-shadow 0.2s ease-in-out; }
        .bottom-menu .colors-panel .colors-palette .color-item:hover {
          box-shadow: 0 3px 8px rgba(0, 0, 0, 0.3);
          z-index: 2; }
        .bottom-menu .colors-panel .colors-palette .color-item:active {
          box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); }
    .bottom-menu .colors-panel .slider {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: distribute;
          justify-content: space-around; }
    .bottom-menu .colors-panel .frame {
      position: relative;
      font-size: 0;
      overflow: hidden;
      white-space: nowrap; }
    .bottom-menu .colors-panel .slides {
      display: inline-block; }
    .bottom-menu .colors-panel li {
      position: relative;
      display: inline-block;
      top: 12px;
      margin-right: 10px; }
    .bottom-menu .colors-panel .prev, .bottom-menu .colors-panel .next {
      cursor: pointer; }
    .bottom-menu .colors-panel .next {
      right: 0; }
    .bottom-menu .colors-panel .prev {
      left: 0; }
    .bottom-menu .colors-panel .next svg, .bottom-menu .colors-panel .prev svg {
      width: 25px; }
    .bottom-menu .colors-panel .btn-translucent {
      background: url("../images/translucent.png"); }
    .bottom-menu .colors-panel .btn-gold {
      background-image: url("../images/gold.jpg");
      background-size: cover; }
    .bottom-menu .colors-panel .btn-silver {
      background: url("../images/silver.jpg"); }
    .bottom-menu .colors-panel .btn-red {
      background: #EA153C; }
    .bottom-menu .colors-panel .btn-green {
      background: #167F38; }
    .bottom-menu .colors-panel .btn-light-gray {
      background: #AEB7BB; }
    .bottom-menu .colors-panel .btn-dark-gray {
      background: #404649; }
    .bottom-menu .colors-panel .btn-light-blue {
      background: #AADFE1; }
    .bottom-menu .colors-panel .btn-blue {
      background: #0D3CA0; }
    .bottom-menu .colors-panel .btn-yellow {
      background: #FDCD1B; }
    .bottom-menu .colors-panel .btn-brown {
      background: #492A1C; }
    .bottom-menu .colors-panel .btn-orange {
      background: #FC9F4E; }
    .bottom-menu .colors-panel .btn-white {
      background: #FFFFFF;
      border: 1px solid;
      border-color: #b0b0b0; }
    .bottom-menu .colors-panel .btn-black {
      background: #000000; }
    .bottom-menu .colors-panel .btn-pink {
      background: #F7C9C9; }
    .bottom-menu .colors-panel .btn-purple {
      background: #4A148C; }
    .bottom-menu .colors-panel .btn-dance-wood {
      background-image: url("../images/wood.jpg"); }
    .bottom-menu .colors-panel .btn-dance-dark-wood {
      background-image: url("../images/Dark_Wood.jpg"); }
    .bottom-menu .colors-panel .btn-dance-light-wood {
      background-image: url("../images/Light_Wood.jpg"); }
    .bottom-menu .colors-panel .btn-dance-gray {
      background-image: url("../images/Gray.jpg"); }
    .bottom-menu .colors-panel .white-border {
      border: 5px solid #fff;
      outline: 1px solid #000; }
    .bottom-menu .colors-panel .black-border {
      border: 5px solid #000;
      outline: 1px solid #000; }
    .bottom-menu .colors-panel button {
      padding: 0 2em;
      font-size: 1em;
      color: #6b6969;
      height: 100%;
      border-left: 1px solid;
      border-color: #b0b0b0;
      text-transform: uppercase;
      white-space: nowrap; }
      .bottom-menu .colors-panel button:hover, .bottom-menu .colors-panel button.active {
        background-color: #4caf4f;
        color: white; }
    @media (max-width: 1450px) and (orientation: landscape) {
      .bottom-menu .colors-panel .colors-palette .color-item {
        height: 22px;
        width: 35px; }
      .bottom-menu .colors-panel button {
        padding: 0 1em; } }
  .bottom-menu .blocks-panel {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
