html, body, p, li, div, h1, h2, h3, h4, h5, button {
	font-family: 'Raleway', sans-serif;
	color:#17171D;
}
.pane, .view {
	background-color:#EEE;
}
.modal.modal-medium {
	top:10%;
	bottom:10%;
	left:10%;
	right:10%;
	width:80%;
}
.modal-full {
	left:0;
	right:0;
	top:0;
	bottom:0;
	min-width: 100%;
	width:100%;
}
.modal-full ion-modal-view.modal {
	bottom:0 !important;
}
.modal .bar.bar-header {
	background-color:#AAA;
}
.modal-full .bar.bar-header button {
	float:right;
	font-size: 16px;
	padding: 5px 25px;
}
.modal-full.modal-tpl .bar.bar-header {
	height:75px;
}
.clear {
	clear:both;
}
* {
	transition: background-color 0.1s ease-out, color 0.1s ease-out;
	-webkit-transition: background-color 0.1s ease-out, color 0.1s ease-out;
}
h1 {
	font-size:30px;
	font-weight:normal;
	padding:0;
	margin:0 0 10px 0;
}
h2 {
	text-transform:uppercase;
	font-size:19px;
	font-weight:bold;
	padding:0;
	margin: 0 0 7px 0;
}
h3 {
	font-size:15px;
	font-weight:bold;
	padding:0;
	margin:0 0 10px 0;
}
.modal-tpl .bar.bar-header {
	display:block;
	text-align:center;
	height:100px;
	padding:20px 10px;
}
.modal-tpl .bar.bar-header h1 {
	color:#FFF;
	font-size:28px;
	font-weight:bold;
	text-transform:uppercase;
}
.modal-tpl .bar.bar-header h3 {
	color:#FFF;
	font-size:16px;
	margin-bottom:0;
}
.modal-tpl .has-header {
	top:100px;
}
.modal-tpl .scroll-content {
	text-align:center;
	padding:20px;
}
small {
	color:#C05D3D;
}
select.shape {
	border:1px solid #CCC;
	padding:13px 20px;
	color:#555;
	width:200px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	display:block;
	margin:0 auto;
	margin-bottom:20px;
}
@media (max-width:900px) {
	.modal.modal-medium {
		top:0;
		bottom:0;
		left:0;
		right:0;
		width:100%;
	}
}
@media (max-width:1000px) {
	
	body.review #review {
		width:100% !important;
		z-index: 4 !important;
	}
}
ion-modal-view.modal {
    top: 0;
    right: 0;
    bottom: 10px;
    left: 0;
    width: auto;
}
.modal .bar .title {
	text-transform:uppercase;
}
.c {
	text-align:center !important;
}
.m-main {
	margin-right:60px;
	margin-bottom:80px;
	transition: margin 0.2s ease-out;
	-webkit-transition: margin 0.2s ease-out;
	/*padding:20px;*/
	position:relative;
	height:calc(100% - 80px);
}
#review {
	background:white;
	position:absolute;
	z-index:3;
	right:-75%;
	height:100%;
	width:75%;
	transition: right 0.2s ease-out;
	-webkit-transition: right 0.2s ease-out;
	border-left:2px solid black;
	-webkit-box-shadow: 2px 0px 10px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow:    2px 0px 10px 0px rgba(0, 0, 0, 0.5);
	box-shadow:         2px 0px 10px 0px rgba(0, 0, 0, 0.5);
}
.sidebar_title {
	width:100%;
	height:50px;
	background:black;
	display: flex;
	align-items: center;
}
.sidebar_title h2 {
	color: white;
	font-size: 14px;
}
.sidebar_bar {
	right:-160px;
	width:160px;
	position:absolute;
	z-index:3;
	top:0;
	bottom:90px;
	height:100%;
	background-color:#FFF;
	color:#000;
	border-left:2px solid black;
	transition: right 0.2s ease-out;
	-webkit-transition: right 0.2s ease-out;
	-webkit-box-shadow: 2px 0px 10px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow:    2px 0px 10px 0px rgba(0, 0, 0, 0.5);
	box-shadow:         2px 0px 10px 0px rgba(0, 0, 0, 0.5);
	text-align:center;
}
.sidebar_bar ion-content{
	padding:0 0 20px 0 !important;
	margin-top: 50px;
}
.incised_rect #Min_Item_Canvas {
	max-height: 100%;
}
.full_rect #Min_Item_Canvas {
	width: 100%;
}
#Min_Item_Canvas {
	display: block;
	z-index: 4;
	position: relative;
	/* height:fit-content; */
}
#Top_Canvas {
	z-index: 1;
	display: block;
}
#Direct_Shadow_Canvas, #Indirect_Shadow_Canvas, #Block_Canvas {
	position:absolute;
	pointer-events: none;
	width: 100%;
}
#Block_Canvas {
    z-index: 3;
}
#Direct_Shadow_Canvas {
	z-index: 2;
}
#Indirect_Shadow_Canvas {
	z-index: 1;
}
.dots {
	width:70px;
	position:absolute;
	height:50px;
	top:90%;
	left:calc(50% - 50px);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 5;
}
.dot {
	width:21px;
	height:21px;
	border-radius: 50%;
	border:2px solid #C05D3D; 
	margin:10%;
}
.dot-active {
	background:#C05D3D;
}
.full_rect {
	width: 100%;
	height:100%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.background {
	background-image: url('../data/background_texture.jpg');
	background-repeat: no-repeat;
	background-size: cover;
}
.incised_rect {
	border:1px solid black;
	border-radius: 10px;
	position: absolute;
	bottom:20px;
	left:20px;
	height:20%;
	z-index: 5;
}
#Top_Canvas, #top_indirect_shadow_canvas {
	max-height: 100%;
	max-width: 100%;
}

#bottombar {
	position:absolute;
	z-index:3;
	background-color:black;
	color:#FFF;
	left:0;
	bottom:0;
	right:0;
	min-height:80px;
	transition: right 0.2s ease-out;
	-webkit-transition: right 0.2s ease-out;
}

.sidebar-toggle {
	position:absolute;
	top:15px;
	right:15px;
	z-index:12;
	cursor:pointer;
	height:44px;
	width:44px;
	cursor:pointer;
}
.sidebar-toggle:hover div {
	background-color:#C05D3D;
}
.sidebar-toggle div {
	height:5px;
	width:100%;
	-webkit-border-radius: 2px;
	-moz-border-radius: 2px;
	border-radius: 2px;
	background-color:#000;
	margin:0 0 7px 0;
}
.sidebar-items {
	list-style:none;
	padding:0;
	margin:0;
}
.sidebar-items li {
	list-style:none;
	padding:10px 10px;
	margin:0;
	cursor:pointer;
	position:relative;
}
.sidebar-items li:hover,
.sidebar-items li.selected {
	background-color:#C05D3D;
	color:#FFF;
}
img.sidebar-icon {
	height:24px;
	width:24px;
	margin:0 auto;
}
img.sidebar-icon.sidebar-icon-off {
	display:block;
}
img.sidebar-icon.sidebar-icon-on {
	display:none;
}
.sidebar-items li:hover img.sidebar-icon.sidebar-icon-off,
.sidebar-items li.selected img.sidebar-icon.sidebar-icon-off {
	display:none;
}
.sidebar-items li:hover img.sidebar-icon.sidebar-icon-on,
.sidebar-items li.selected img.sidebar-icon.sidebar-icon-on {
	display:block;
}
.sidebar-name {
	margin-top:7px;
	font-size:12px;
	line-height:14px;
}
.sidebar-items li:hover .sidebar-name,
.sidebar-items li.selected .sidebar-name {
	color:#FFF;
}
.badge {
	background-color:#C05D3D;
	color:#FFF;
	font-size:10px;
	padding:0;
	margin:0;
	position:absolute;
	top:10px;
	right:40px;
	height:17px;
	width:17px;
	overflow:hidden;
}
.sidebar-items li:hover .badge {
	background-color:#FFF;
	color:#C05D3D;
}
body.sidebar .m-main {
	margin-right:160px;
	background-repeat: no-repeat;
	background-size: cover;
}
body.sidebar .sidebar_bar {
	right:0;
}
body.sidebar #bottombar {
	right:160px;
}
body.review #review {
	right:0px;
}
body.review #bottombar {
	right:75%;
}
body.review .m-main {

	margin-right:75%;
}
.bottom {
	min-height: 80px;
	display: flex;
	align-items: center;
	padding:0 15px;
}
.bottom h2 {
	color:#FFF;
}
.bottom .build-text {
	color:#FFF;
	font-size:14px;
	font-weight:bold;
}
.bottom .btn {
	float:right;
	margin-top:6px;
}
.btn {
	border:none;
	background-color:#C05D3D;
	color:#FFF;
	padding:10px 30px;
	text-transform:uppercase;
	font-size:14px;
	font-weight:bold;
	cursor:pointer;
}
.btn:disabled {
	opacity: 50%;
}
.btn:enabled:hover {
	background-color:#C05D3D !important;
	color:#FFF !important;
}
.btn.btn-gray {
	background-color: #AAA;
}
.btn.btn-white {
	background-color:#FFF;
	color:#AAA;
}
.btn.btn-gray:hover {
	background-color: #FFF !important;
	color:#AAA !important;
}
.btn.btn-orange:hover,
.tool-bar .tool:hover
{
	background:#e9c7bb !important;
	color:white !important;
}
.orange {
	color:#C05D3D;
}
.overlay {
	pointer-events: all;
}
.tool {
	pointer-events: all;
}
.tool-bar {
	pointer-events: none;
}
.tool-bar .tool {
	background-color:#C05D3D;
	color:#FFF;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	height:28px !important;
	width:28px !important;
	font-size:14px !important;
	padding:5px 0 0 0;
	text-align:center;
	margin: 3px;
	border:1px solid #C05D3D;
	cursor:pointer;
}
.tool-bar .tool.icon {
	font-size:20px !important;
	padding:4px 0 0 0;
}
.tool-bar .tool.fa.fa-download {
	margin-right: 13px;
}
.tool-bar .tool.fa.fa-share-alt {
	padding:6px 0 0 0;
}
.sample-text {
	background-color:#FFF;
	margin:50px;
	-webkit-border-radius: 15px;
	-moz-border-radius: 15px;
	border-radius: 15px;
	padding:30px;
	text-align:center;
}

.tool-inspector {
	z-index: 5;
	width:0;
	position:absolute;
	top:0;
	right:0;
	transition: top 0.1s ease-in;
	-webkit-transition: top 0.1s ease-in;
}
.tool-inspector-contents {
	background-color:#FFF;
	width:220px;
	padding:10px;
	position:relative;
	-webkit-box-shadow: 2px 0px 10px 0px rgba(0, 0, 0, 0.5);
	-moz-box-shadow:    2px 0px 10px 0px rgba(0, 0, 0, 0.5);
	box-shadow:         2px 0px 10px 0px rgba(0, 0, 0, 0.5);
}
.tool-inspector-contents ul {
	list-style:none;
	padding:0;
	margin:0;
}
.tool-inspector-contents li {
	list-style:none;
	padding:10px 0;
	margin:0;
	float:left;
	width:33%;
	text-align:center;
	font-size:12px;
}
.tool-inspector-contents li .fa {
	display:block;
	font-size:18px;
	margin-bottom:2px;
	cursor:pointer;
}
.tool-inspector-contents li:hover {
	color:#C05D3D;
}
.tool-inspector-arrow-pos {
	pointer-events: none;
	transform: rotate(180deg);
	position:absolute;
	left:60px;
	z-index:0;
}
.arrow-pos-top {
	top:-100px;
}
.arrow-pos-bottom {
	top:100%;
}
.tool-inspector-arrow {
	width: 100px;
	height: 100px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 0px 10px -17px rgba(0, 0, 0, 0.5);
}
.arrow-bottom:after {
	top: 75px;
}
.arrow-top:after {
	top: -25px;
}
.tool-inspector-arrow:after {
	content: "";
	position: absolute;
	width: 50px;
	height: 50px;
	background: #FFF;
	-webkit-transform: rotate(45deg);
	left: 25px;
	box-shadow: -1px -1px 10px -2px rgba(0, 0, 0, 0.5);
}

.tool-inspector-arrow .fa {
	position: absolute;
	left: 38px;
	font-size: 23px;
	color: #CCC;
	cursor: pointer;
	z-index: 9;
}
.arrow-bottom .fa {
	top: 77px;
}
.tool-inspector-arrow:hover .fa {
	color:#C05D3D;
}
.sidebar-panel {
	position:absolute;
	top:0;
	bottom:0;
	width:280px;
	right:-290px;
	z-index:7;
	background-color:#FFF;
	-webkit-transition: right 0.2s ease-out;
	-webkit-box-shadow: -5px 0px 5px 0px rgba(0, 0, 0, 0.2);
	-moz-box-shadow:    -5px 0px 5px 0px rgba(0, 0, 0, 0.2);
	box-shadow:         -5px 0px 5px 0px rgba(0, 0, 0, 0.2);
	transition: right 0.2s ease-out;
	-webkit-transition: right 0.2s ease-out;
}
.sidebar-panel.opened {
	right:160px;
}
.title-text, .sidebar-panel-title {
	text-align:center;
	font-size:25px;
	font-weight:900;
	line-height:28px;
	padding:21px 0;
}
.sidebar-panel-title {
	color: white;
	background: black;
}
.sidebar-panel-cont {
	text-align:left;
	padding:0;
}
.sidebar-panel-cont ul {
	list-style:none;
	padding:0;
	margin:0;
}
.sidebar-panel-cont li {
	list-style:none;
	padding:10px 20px;
	margin:0;
	cursor:pointer;
	position:relative;
}
.sidebar-panel-cont li:hover,
.sidebar-panel-cont li._selected {
	background-color:#C05D3D;
	color:#FFF;
}
.sidebar-panel-cont li:hover h3,
.sidebar-panel-cont li._selected h3 {
	color:#FFF;
}
.sidebar-panel-cont img {
	width:100%;
	height:auto;
}
.sidebar-panel-icon {
	background-color:#C05D3D;
	color:#FFF;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	height:28px !important;
	width:28px !important;
	font-size:14px !important;
	display:block;
	padding:6px 0 0 0;
	text-align:center;
	margin:0 0 10px 0;
	border:1px solid #C05D3D;
	cursor:pointer;
	float:right;
}
.sidebar-panel-cont li:hover .sidebar-panel-icon,
.sidebar-panel-cont li._selected .sidebar-panel-icon {
	background-color:#FFF;
	color:#C05D3D;
}
.sidebar-panel-title .fa, .close_button{
	position:absolute;
	right:5px;
	top:5px;
	color:white;
	cursor:pointer;
	font-size: 25px;
}
.sidebar-panel-title .fa:hover, .close_button:hover {
	color:#C05D3D;
}
.close_button {
	color: #C05D3D;
}
.close_button:hover {
	color:#e9c7bb;
}
#socketStatus {
	font-size:12px;
	color:#dafdda;
	text-align: right;
}
#socketStatus.warning {
	color:#ffd5d5;
}
.block {
	display:flex;
	border:2px solid black;
}
.l_block {
	display:flex;
	width: 100px;
	height: 150px;
}
.i_block {
	width: 150px;
	height:50px;
}
.u_block {
	margin:0 5px;
	width:150px;
	height:100px;
}
.mask {
	position:relative;
	background:white;
}
.l_block_mask {
	width:calc(50% + 2px);
	height:calc(100% * 2 / 3 + 3px);
	top:calc(100% / 3);
	left:50%;
	border-left: 2px solid black;
	border-top: 2px solid black;
}
.u_block_mask {
	width:calc(100% / 3);
	height:calc(50% + 2px);
	left:calc(100% / 3);
	top:50%;
	border-left: 2px solid black;
	border-top: 2px solid black;
	border-right: 2px solid black;
}
.right_size {
	margin:10px;
	height:30px;
	display:flex;
	text-align: center;
	justify-content: center;
	align-items: center;
}
.bottom_size {
	display:flex;
	align-items: center;
	padding:5px;
}
.left_size {
	text-align: left;
}
.middle_size {
	display: flex;
	align-items: center;
	justify-content: center;
}
.right_size_u {
	text-align: left;
}
.ng-hide.ng-hide-animate {
	display: none !important;
}
.measure_line {
	background:red;
	border:solid black;

}
.vertical {
	width:10px;
	background: linear-gradient(90deg, white 4px, black 5px, white 6px);
	border-width: 1px 0;
}
.horizontal {
	height:10px;
	width:150px;
	background: linear-gradient(white 4px, black 5px, white 6px);
	border-width: 0 1px;
}
.blackout {
	height:100%;
	width:100%;
	z-index: 10;
	position:absolute;
	display:flex;
	align-items: center;
	justify-content: center;
	background:white;
	pointer-events: all;
}
.row {
	display:flex;
}
.share_row * {
	margin:2px;
}
.column {
	flex:50%;
	width:0;
	text-align: center;
}
.confirm {
	z-index: 12;
	top:0;
	left:0;
	height:100%;
	width:100%;
	background:#EFEFEF;
	text-align: center;
	display:flex;
	align-items: center;
	justify-content: center;
}

.size-inp {
	border: 1px solid #CCC !important;
	padding: 5px !important;
	text-align: center !important;
	margin: 5px 5px 5px 10px !important;
	width: 60px !important;
}
.size_input {
	border:1px solid lightgray;
	text-align: center;
	width: 30px;
	margin:5px 5px 5px 10px !important;
	display: inline;
}
.finish-sample {
	width:100%;
	height:auto;
	height:100%;
	display:flex;
	justify-content: center;
}
.finish-sidebar .sidebar_item_content {
	display: none;
}
.item-sidebar .sidebar_finish_content {
	display: none;
}


.sidebar-panel {
	bottom:75px;
}
.finish-stone,
.finish-countertop {
	top:50%;
	left:0;
}
.countertop_img {
	position: absolute;
	left:50%;
	transform: translate(-50%,0);
	top:0;
	max-width: 100%;
	max-height: 100%;
}
ul.finish-swatches {
	list-style:none;
	display: flex;
	padding: 10px 0;
	margin-left: 20px;
}
ul.finish-swatches li {
	list-style:none;
	margin:0;
	padding:0;
	float:left;
	width:175px;
	font-size:12px;
	color:#FFF;
	font-weight:bold;
	text-align:center;
	cursor:pointer;
}
ul.finish-swatches li img {
	display:block;
	width:110px;
	height:auto;
	border:1px solid #FFF;
	margin:0 auto;
}
ul.finish-swatches li:hover img {
	border:1px solid #C05D3D;
}
.finish-label {
	position:absolute;
	top:50px;
	left:50px;
	font-size:26px;
}
.finish-label div {
	font-size:14px;
	margin:10px 0 0 1px;
	color:#8e8e8e;
}
.finish-bottom {
	position:absolute;
	bottom:0;
	left:0;
	right:160px;
	height:87px;
	background-color:rgba(255,255,255,0.5);
	width:100%;
}
.finish-bottom ul.finish-swatches {
	left:20px;
}
.finish-bottom ul.finish-swatches li {
	color:#565656;
}
.ng-animate.no-animate {
    transition: 0s none;
    -webkit-transition: 0s none;
    animation: 0s none;
    -webkit-animation: 0s none;
}
li.disabled {
	background-color: #FFF !important;
	color:#17171D !important;
	opacity: 50%;
	cursor: default;
	pointer-events: none;
}
li.disabled h3 {
	color:#17171D !important;
}
li.disabled .sidebar-panel-icon {
	background: #C05D3D !important;
	color: #FFF !important;
}
.inner_modal_rect {
	position: absolute;
	left: 10px;
	top: 10px;
	width: calc(100% - 20px);
	height: calc(100% - 20px);
	border:1px solid #ababab;
	display: block;
	text-align: center;
}
.required {
	color:#bd5b38;
}
.michael_button {
	border: none;
	background:#ababab;
	padding: 5px 20px;
	color:white;
	margin:0 20px;
}
@media(max-width:1250px) {
	.bottom_button_container {
		/* width:min-content; */
	}
}
@media(max-width:1110px){
	.bottom_buttons {
		flex-direction: column;
		margin-top:7px !important;
	}
	.bottom_button_container {
		width:100%;
		margin-left:auto;
	}
	.bottom_buttons button {
		margin:0;
	}
	.m-main {
		margin-bottom: 123px;
		height: calc(100% - 123px);
	}

}
@media(max-width:900px){
	.bottom_title {
		width:min-content;
	}
	ul.swatch_bottom {
		flex-direction: column;
	}
	.m-main {
		margin-bottom: 157px;
		height: calc(100% - 157px);
	}
}
@media(max-width:800px),
(max-height:500px)
{
	.unsupported {
		display: flex !important;
	}
}
@media(min-width: 680px){
	.michael_modal {
		max-width: 650px;
		height: 450px;
		width:60%;
		left:max(calc(50% - 325px),20%);
		top:calc(50% - 225px);
	}
}

.bottom_buttons {
	margin-top:20px;
}
.bottom_buttons button {
	margin-left: 10px;
	margin:3px;
}

.michael_modal {
	font-family: 'Raleway', sans-serif;
	overflow: visible;
}
.michael_modal .scroll {
	min-height:100%;
	display: flex;
	justify-content: center;
}
.michael_modal .scroll > div {
	display:flex;
	flex-direction: column;
}
.ng-leave {
    display: none;
}
.sidebar-panel-opened {
	height:calc(100% - 80px)
}
.design_title {
	color:#535353;
	font-size: 12px;
	letter-spacing: 1px;
	margin-bottom: 20px;
}
.tooltip_item.disabled {
	color:gray;
}
i {
	font-style: italic;
}
.item-input {
	margin:10px 0;
	border:2px solid #C35A3D;
}
.edit_btn {
	color: #C05D3D;
	background:none;
	text-transform:none;
	text-decoration: underline;
}
.divider {
	width:60%;
	height:1;
	border-top:0.5px solid rgba(0, 0, 0, 0.24);
	margin:16px 0;
}
#Overlay_Canvas, #Item_Canvas, #Ticker_Canvas {
	position: absolute;
	z-index: 5;
	width: 100%;
	height: 100%;
}
#Overlay_Canvas {
    opacity: 50%;
}
li.disabled * {
	color:gray;
	pointer-events: none;
	cursor: default;
}
.m_select {
	height: 25px;
	margin:0 5px;
}
.finish_bottom {
	background:black;
	bottom:0;
	position: absolute;
	display:flex;
	width:calc(100% - 160px);
	z-index: 4;
}
.finish_bottom h2, .finish_bottom div {
	color:white;
}
.modal-title {
	font-size: 24px;
	font-weight: 900;
	margin:20px 0 !important;
}
.close_modal {
	width:36px;
	height:36px;
	background:#C35A3D;
	position:relative;
	left:calc(100% - 18px);
	top:-18px;
	border-radius: 50%;
	z-index: 11;
	cursor: pointer;
	align-items: center;
    justify-content: center;
    display: flex;
    transform: rotate(45deg);
    color: white;
    font-size: 24px;
    font-weight: 300;
}
input::-webkit-input-placeholder, textarea::-webkit-input-placeholder {
	color:black;
}
.radio_button {
	display: flex;
	align-items: center;
}
.radio_button input {
	margin-right: 5px;
}
.required {
	color:red;
}
.form-row {
	display:flex;
}
.form-row label:last-child {
	margin-right:0 !important;
}
.placeholder {
	position: absolute;
	pointer-events: none;
}
.sidebar-label:hover, .sidebar-label:hover > * {
	color: #17171D !important;
	background: white !important; 
	cursor: default;
}
.shape_modal_logo {
	background:white;
	position: absolute;
	left:50%;
	transform: translate(-50%,-100%);
}
.modal_btn {
	min-width: 160px;
	margin: 0 7px;
}
.flex {
	display: flex;
}
.flex.center {
	align-items: center;
	justify-content: center;
}