html, body { margin:0; padding: 0; height: 100%; width: 100%; overflow-x: hidden; -webkit-text-size-adjust: none; }
body {
	color: #082f4c;
	font-family: 'Oswald', sans-serif;
	font-size:14px;

	background-color: #fff;
	overflow: hidden;
	position:fixed;
	
	/* overscroll-behavior-y: contain; /* Disables pull-to-refresh but allows overscroll glow effects. */
	overflow-y: hidden;
	overscroll-behavior-y: contain; /* Disables pull-to-refresh and overscroll glow effect. Still keeps swipe navigations. */
	overscroll-behavior-x: contain; /* Disables swipe navigations. */
}

#viewport3D {
	width: calc(100% - 325px);
	height: calc(100% - 28px);
	position: fixed;
	top: 28px;
}

#info { /* Info bar across the top of the page */
	position: absolute;
	box-sizing: border-box;
	top: 0px;
	height: 28px;
	left: 0px;
	width: 100%;
	padding: 4px;
	padding-top: 2px;
	background-color: #042740cc; /* 7th and 8th character are hex opacity ff = solid, 00 = transparent */
	background-color: #042740; /* 7th and 8th character are hex opacity ff = solid, 00 = transparent */
	text-align:center;
	font-size: 15px;
	color: #fff;
}
#info #logo { height: 20px; width: auto; vertical-align: bottom; position: relative; top: -2px; margin-right: 2px; }

#overlay {
  opacity: 0.85;
  display: block;
  /*transition: visibility 0s 0.2s, opacity 0.5s linear;*/
  position:fixed;
  top:0;
  bottom:0;
  left:0;
  right:0;
  background-color:#333;
  z-index:1003;
}
#loading {
	color: white;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 150px;
	height: 150px;
	text-align: center;
	z-index:1004;
}
#loading h3 { font-size: 200%; letter-spacing: 0.05em; margin: 0; }
#loading .logo { max-width: 60px; width: auto; height: auto; position: relative; top: -86px; }

#helpButton {
  color:#ababab; color:#93a1b3; position: absolute; top: 5px; left: 4px; font-size: 1.25em;
  z-index: 1004;
  cursor: pointer;
}
#helpButton:hover { color:#dedede; }

.modal {
  opacity: 0;
  display: none;
  transition: visibility 0s 0.2s, opacity 0.2s ease;
  font-size:1.3em;

  box-sizing: border-box;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  min-width:250px;
  max-width:500px;
  max-height: 90%;
  overflow-y: auto;
  padding: 1em 2em;
  background-color:#ddd;
  background: -moz-linear-gradient(top, #eeeeee 0%, #cccccc 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top, #eeeeee 0%,#cccccc 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom, #eeeeee 0%,#cccccc 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#eeeeee', endColorstr='#cccccc',GradientType=0 ); /* IE6-9 */
  border-radius: 4px;
  z-index:1005;
  box-shadow: 0px 0px 50px rgba(0, 0, 0, 0.5);
  text-align: center;
  line-height: 1.2em;
  border: 3px solid #999;
}
.modal .closeButton {
	color: #999;
	font-size: 1.5em;
	position: absolute;
	top: 4px;
	right: 5px;
	cursor: pointer;
}
.modal h1 {
  font-size: 1.25em;
  font-weight: bold;
  color: #666;
  position: relative;
  margin-bottom: 0;
  line-height: 1.2em;
}
.modal h2 {
  font-size: 1.1em;
  color: #666;
  margin-top: 0;
  line-height: 1.2em;
}
.modal p, .modal ol, .modal ul {
  text-align: left;
  font-size: 0.75em;
  line-height: 1.2em;
  margin-top: 10px;
  margin-bottom: 10px;
  font-family: Verdana, Arial, sans-serif;
}
.modal li { padding-bottom: 0.5em; }
.modal a {
  color: #666; font-size: 0.55em; text-decoration: none;
  font-family: Verdana, Arial, sans-serif;
  /* position: absolute; box-sizing: border-box; display: block; width: auto; bottom: 25px; */
}
.modal section { margin: 0em -2em; padding: 0.75em 2em; background-color: #ffffffbb; }
.modal .bottom-buttons { position: relative; top: 10px; }
.modal label { display: block; text-align: left; }
.modal input, .modal select, .modal textarea { box-sizing: border-box; display: block; text-align: left; width: 100%; font-size: 1em; padding: 0.2em; margin-top: 0.25em; margin-bottom: 0.3em}
.modal div.bottom-buttons { text-align: right; }
.modal .btn { font-size: 1em; }
.modal p.error { margin-top: 0; margin-bottom: 8px; color: red; display: none; }

.modal form div.group { clear:both; }
.modal form div.column.half { width: calc(50% - 10px); float: left; }
.modal form div.column.quarter { width: calc(25% - 20px); float: left; }
.modal form div.column.quarter.right { width: calc(25% - 10px); float: left; }
.modal form div.column.left { margin-right: 10px; }
.modal form div.column.middle { margin-right: 10px; margin-left: 10px; }
.modal form div.column.right { margin-left: 10px; }
.modal form label.error { color: red; font-size: 14px!important; line-height: initial; margin-bottom: 0; padding-bottom: 0; margin-top: 0; position: relative: top: -6px; }
.modal form input.error { background-color: #ffcccc!important; }

#successModal h2#successMessage { margin-top: 0.75em; line-height: 1.5em; }

#help #otz a.cubes i.fas { color: #bbb; font-size: 300%; display: block; line-height: 0.75; margin: 0; margin-left: auto; margin-right: auto; padding: 5px; }
#help #otz a { display: block; }
#help #otz:hover a { text-decoration: underline; color: #333; }
#help #otz:hover a.cubes { text-decoration: none!important; }
#help #otz:hover a.cubes i { color: #999; }

.noselect {
  -webkit-touch-callout: none; /* iOS Safari */
    -webkit-user-select: none; /* Safari */
     -khtml-user-select: none; /* Konqueror HTML */
       -moz-user-select: none; /* Firefox */
        -ms-user-select: none; /* Internet Explorer/Edge */
            user-select: none; /* Non-prefixed version, currently
                                  supported by Chrome and Opera */
}

#navigation {
	display: block;
	width: 325px; /* was 300px */
	border: 2px solid #a1a1a;
	border-radius: 0; /* was 3px */
	position: absolute;
	margin: 0; /* was 12px */
	top: 28px; /* was 25px */
	right: 0;
	z-index: 1000;
	overflow-y: scroll;
	height: calc(100% - 28px); /* was max-height: calc(100% - 50px); */
	background-color: #111111;
	padding-bottom: 50px; /* added */
	
	/*
	filter:alpha(opacity=40);
	opacity: 0.4;
	opacity: 0.85;
	*/
	
	-webkit-transition: opacity 0.2s ease-in-out;
	-moz-transition: opacity 0.2s ease-in-out;
	-o-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
}
#navigation::-webkit-scrollbar { width: 10px; } /* width */
#navigation::-webkit-scrollbar-track { background: #f1f1f1; } /* Track */
#navigation::-webkit-scrollbar-thumb { background: #888; } /* Handle */
#navigation::-webkit-scrollbar-thumb:hover { background: #555; } /* Handle on hover */

#navigation:hover {
	/*
	opacity: 0.85;
	filter:alpha(opacity=85);
	-webkit-transition: opacity 0.2s ease-in-out;
	-moz-transition: opacity 0.2s ease-in-out;
	-o-transition: opacity 0.2s ease-in-out;
	transition: opacity 0.2s ease-in-out;
	*/
}
#navigation h2 {
	display: block;
	text-align: center;
	color: #ccc;
	margin: 0.2em;
	cursor: grabbing;
}
#navigation section {
	color: #888;
	cursor: pointer;
	padding: 0.25em 0.6em 0.35em 0.6em;
	border-top: 1px solid #666;
	border-left: 3px solid #666;
}
#navigation section:last-of-type {
	border-bottom: 1px solid #666;
}
#navigation section:last-of-type:not(.selected) {
	margin-bottom: 100px;
}
#navigation section:hover, #navigation section.selected {
	color: white;
	background-color: #222;
	border-left: 3px solid #d64202;
}
#navigation .page {
	background-color: white;
	padding: 0.6em;
	display: none;
}
#navigation .page.last {
	margin-bottom: 250px;
}
#navigation .btn {
	display: block;
	box-sizing: border-box;
	width: calc(100% - 20px); 
	margin: 10px;
}

.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active { font-weight: bold!important; }
.ui-state-disabled { display: none; }

.ui-selectmenu-menu { z-index: 1001!important; font-weight: bold; }
.ui-selectmenu-menu .ui-menu-item { padding: 3px; border: 1px solid #999; }
#navigation fieldset .ui-selectmenu-button.ui-button { width: 10em; margin-bottom: 0.35em; position: absolute; top: 0.25em; right: 0.75em; margin-top: 0.35em; }
#navigation fieldset { position: relative; min-height: 2.3em; }
#navigation fieldset label { vertical-align: middle; font-size: 1.1em; width: 6em; display: block; line-height: 1.1em; padding-top: 0.55em; }
#navigation fieldset label.ui-checkboxradio-label { width: auto; }
.ui-widget.ui-widget-content { border-width: 6px; margin-left: -1px }

/* Main #navigation and #viewport3D mobile layout - for phones and vertical tablets or very narrow browsers */
@media only screen and (max-width: 640px) and (orientation: portrait) {
	#navigation {
		width: 100%;
		top: 50%;
		height: calc(50% - 28px);
	}
	#viewport3D {
		width: 100%;
		height: calc(50% - 28px);
		position: fixed;
		top: 28px;
	}
	#navigation fieldset .ui-selectmenu-button.ui-button { width: 60%; }
	#navigation fieldset label { width: 30%; }
}

/* set background and text colors for color selection menu */
.ui-menu-item.sandstone { background-color: #e7ddc9; background: linear-gradient(to bottom right, #fcfbf1, #d4c3a5); color: black; }
.ui-menu-item.stone-gray { background-color: #c8c8c8; background: linear-gradient(to bottom right, #d5d5d5, #bfbfbf); color: black; }
.ui-menu-item.charcoal-gray { background-color: #3f3f3f; background: linear-gradient(to bottom right, #616161, #333333); color: white; }
.ui-menu-item.dark-red { background-color: #7c0000; background: linear-gradient(to bottom right, #990000, #660000); color: white; }
.ui-menu-item.melchers-green { background-color: #003600; background: linear-gradient(to bottom right, #015401, #001a00); color: white; }
.ui-menu-item.bronze { background-color: #5d410f; background: linear-gradient(to bottom right, #846726, #432801); color: white; }
.ui-menu-item.slate-blue { background-color: #3f7389; background: linear-gradient(to bottom right, #589bb8, #264a59); color: white; }
.ui-menu-item.heron-blue { background-color: #0164c6; background: linear-gradient(to bottom right, #0178ef, #015eba); color: white; }

/* brick colors */
.ui-menu-item.red { background-color: #7c301e; color: white; }
.ui-menu-item.brown { background-color: #7d5d33; color: white; }
.ui-menu-item.tan { background-color: #d0bd94; color: white; }

/* premium colors */
.ui-menu-item.premium::after { font-family: "Font Awesome 5 Free"; font-weight: 900; content: "\f0d6  Premium"; position: absolute; right: 15px; margin-top: -19px; color: #007fff; }

/* color selection dropdown highlighting */
.ui-menu-item .ui-state-active { font-weight: bold!important; background-color: transparent!important; border: 3px solid #007fff!important; margin: -3px!important; color: inherit!important; }

/* brick / metal exterior selection toggle */
#exteriorMaterial .ui-controlgroup { display: block; }
#exteriorMaterial .ui-controlgroup > .ui-controlgroup-item { width: 37.5%; }

/* options menu prettyCheckbox */
#options .ui-checkboxradio-label { display: block; margin-top: 4px; margin-bottom: 8px; text-align: left; padding-top: 8px; padding-bottom: 8px; }
#options .ui-checkboxradio-label:last-of-type { margin-bottom: 3px; }
#options .ui-checkboxradio-label .ui-checkboxradio-icon { margin-right: 10px; }
#options .ui-checkboxradio-disabled.ui-state-disabled { display: none; }

/* other navigation styles */
#navigation .btn.btn-1-across { width: calc(100% - 10px); float: left; margin: 5px; }
#navigation .btn.btn-2-across { width: calc(50% - 10px); float: left; margin: 5px; }
#navigation .btn.btn-3-across { width: calc(33.3% - 10px); float: left; margin: 5px; }

#navigation button.btn:last-of-type { float: none; }

#navigation .btn.btn-1-across i, #navigation .btn.btn-2-across i, #navigation .btn.btn-3-across i { font-size: 250%; margin: 5%; opacity: 0.4; }
#navigation .btn.btn-3-across.active {
	background-image: linear-gradient(to bottom, #eff8ff, #c0dff5); /* blue gradient */
	background-image: linear-gradient(to bottom, #eff8ff, #80ffb9); /* green gradient */
	outline: #042740 auto 5px;
	color: #042740;
}

section .page p { clear: both; }





/*	/* Default style for buttons */
/*	input[type="button" i], input[type="submit" i], input[type="reset" i], input[type="file" i]::-webkit-file-upload-button, button {
/*		background-image: linear-gradient(to bottom, #f7f7f7, #cccccc); /* was: (to bottom, #f7f7f7, #dddddd) */
/*		border: 1px solid #afafaf;
/*		border-color: rgb(165,165,165) rgb(156,156,156) rgb(147,147,147);
/*		border-image: linear-gradient(to bottom, #a5a5a5 0%, #939393 100%);
/*		border-image-slice: 1;
/*		align-items: flex-start
/*		text-align: center;
/*		border-radius: 3px;
/*		line-height: 1.3;
/*	}
/*	input[type="button" i]:hover, input[type="submit" i]:hover, input[type="reset" i]:hover, input[type="file" i]::-webkit-file-upload-button:hover, button:hover {
/*		background-image: linear-gradient(to bottom, #f8f8f8, #e8e8e8);
/*		border-image: linear-gradient(to bottom, #7a7a7a 0%, #6c6c6c 100%);
/*	}
/*	input[type="button" i]:active, input[type="submit" i]:active, input[type="reset" i]:active, input[type="file" i]::-webkit-file-upload-button:hover, button:active {
/*		background-image: linear-gradient(to bottom, #e8e8e8, #f8f8f8);
/*		border-image: linear-gradient(to bottom, #6c6c6c 0%, #7a7a7a 100%);
/*	}
*/







/* fixes for bootstrap buttons */
#navigation .btn { padding: 0.1rem 0.5rem; line-height: normal; font-weight: bold; }
#navigation .btn.btn-warning { color: #fff; text-shadow: black 1px 1px 4px; }
.btn-medium {
  color: #555; /* #212529; */
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-medium:hover {
  color: #212529;
  background-color: #cfd3d6;
  border-color: #c4c9ce;
}

.btn-medium:focus, .btn-medium.focus {
  box-shadow: 0 0 0 0.2rem rgba(150, 154, 157, 0.5);
}

.btn-medium.disabled, .btn-medium:disabled {
  color: #fff;
  background-color: #969A9D;
  border-color: #969A9D;
}

.btn-medium:not(:disabled):not(.disabled):active, .btn-medium:not(:disabled):not(.disabled).active,
.show > .btn-medium.dropdown-toggle {
  color: #fff;
  background-color: #7C8185;
  border-color: #757A7E;
}

.btn-medium:not(:disabled):not(.disabled):active:focus, .btn-medium:not(:disabled):not(.disabled).active:focus,
.show > .btn-medium.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(150, 154, 157, 0.5);
}


.btn-warning {
  color: #fff;
  background-color: #d64202;
  border-color: #d64202;
}

.btn-warning:hover {
  color: #fff;
  background-color: #b43600;
  border-color: #a33100;
}

.btn-warning:focus, .btn-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(214, 66, 2, 0.5);
}

.btn-warning.disabled, .btn-warning:disabled {
  color: #fff;
  background-color: #d64202;
  border-color: #d64202;
}

.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: #fff;
  background-color: #a33100;
  border-color: #912c00;
}

.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(214, 66, 2, 0.5);
}
















/*! ### Modified for minimum necessary functionality ###
 * Bootstrap v4.1.3 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

.btn {
  display: inline-block;
  font-weight: 400;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border: 1px solid transparent;
  padding: 0.375rem 0.75rem;
  font-size: 1rem;
  line-height: 1.5;
  border-radius: 0.25rem;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

@media screen and (prefers-reduced-motion: reduce) {
  .btn {
    transition: none;
  }
}

.btn:hover, .btn:focus {
  text-decoration: none;
}

.btn:focus, .btn.focus {
  outline: 0;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.btn.disabled, .btn:disabled {
  opacity: 0.65;
}

.btn:not(:disabled):not(.disabled) {
  cursor: pointer;
}

fieldset {
  margin-bottom: 0.5em;
}

a.btn.disabled,
fieldset:disabled a.btn {
  pointer-events: none;
}

.btn-primary {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:hover {
  color: #fff;
  background-color: #0069d9;
  border-color: #0062cc;
}

.btn-primary:focus, .btn-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-primary.disabled, .btn-primary:disabled {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-primary:not(:disabled):not(.disabled):active, .btn-primary:not(:disabled):not(.disabled).active,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: #0062cc;
  border-color: #005cbf;
}

.btn-primary:not(:disabled):not(.disabled):active:focus, .btn-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-secondary {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:hover {
  color: #fff;
  background-color: #5a6268;
  border-color: #545b62;
}

.btn-secondary:focus, .btn-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-secondary.disabled, .btn-secondary:disabled {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-secondary:not(:disabled):not(.disabled):active, .btn-secondary:not(:disabled):not(.disabled).active,
.show > .btn-secondary.dropdown-toggle {
  color: #fff;
  background-color: #545b62;
  border-color: #4e555b;
}

.btn-secondary:not(:disabled):not(.disabled):active:focus, .btn-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-success {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:hover {
  color: #fff;
  background-color: #218838;
  border-color: #1e7e34;
}

.btn-success:focus, .btn-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-success.disabled, .btn-success:disabled {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-success:not(:disabled):not(.disabled):active, .btn-success:not(:disabled):not(.disabled).active,
.show > .btn-success.dropdown-toggle {
  color: #fff;
  background-color: #1e7e34;
  border-color: #1c7430;
}

.btn-success:not(:disabled):not(.disabled):active:focus, .btn-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-info {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:hover {
  color: #fff;
  background-color: #138496;
  border-color: #117a8b;
}

.btn-info:focus, .btn-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-info.disabled, .btn-info:disabled {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-info:not(:disabled):not(.disabled):active, .btn-info:not(:disabled):not(.disabled).active,
.show > .btn-info.dropdown-toggle {
  color: #fff;
  background-color: #117a8b;
  border-color: #10707f;
}

.btn-info:not(:disabled):not(.disabled):active:focus, .btn-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

/*.btn-warning {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:hover {
  color: #212529;
  background-color: #e0a800;
  border-color: #d39e00;
}

.btn-warning:focus, .btn-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-warning.disabled, .btn-warning:disabled {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-warning:not(:disabled):not(.disabled):active, .btn-warning:not(:disabled):not(.disabled).active,
.show > .btn-warning.dropdown-toggle {
  color: #212529;
  background-color: #d39e00;
  border-color: #c69500;
}

.btn-warning:not(:disabled):not(.disabled):active:focus, .btn-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}*/

.btn-danger {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:hover {
  color: #fff;
  background-color: #c82333;
  border-color: #bd2130;
}

.btn-danger:focus, .btn-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-danger.disabled, .btn-danger:disabled {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-danger:not(:disabled):not(.disabled):active, .btn-danger:not(:disabled):not(.disabled).active,
.show > .btn-danger.dropdown-toggle {
  color: #fff;
  background-color: #bd2130;
  border-color: #b21f2d;
}

.btn-danger:not(:disabled):not(.disabled):active:focus, .btn-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-light {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:hover {
  color: #212529;
  background-color: #e2e6ea;
  border-color: #dae0e5;
}

.btn-light:focus, .btn-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-light.disabled, .btn-light:disabled {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-light:not(:disabled):not(.disabled):active, .btn-light:not(:disabled):not(.disabled).active,
.show > .btn-light.dropdown-toggle {
  color: #212529;
  background-color: #dae0e5;
  border-color: #d3d9df;
}

.btn-light:not(:disabled):not(.disabled):active:focus, .btn-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-dark {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:hover {
  color: #fff;
  background-color: #23272b;
  border-color: #1d2124;
}

.btn-dark:focus, .btn-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-dark.disabled, .btn-dark:disabled {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-dark:not(:disabled):not(.disabled):active, .btn-dark:not(:disabled):not(.disabled).active,
.show > .btn-dark.dropdown-toggle {
  color: #fff;
  background-color: #1d2124;
  border-color: #171a1d;
}

.btn-dark:not(:disabled):not(.disabled):active:focus, .btn-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-primary {
  color: #007bff;
  background-color: transparent;
  background-image: none;
  border-color: #007bff;
}

.btn-outline-primary:hover {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:focus, .btn-outline-primary.focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-primary.disabled, .btn-outline-primary:disabled {
  color: #007bff;
  background-color: transparent;
}

.btn-outline-primary:not(:disabled):not(.disabled):active, .btn-outline-primary:not(:disabled):not(.disabled).active,
.show > .btn-outline-primary.dropdown-toggle {
  color: #fff;
  background-color: #007bff;
  border-color: #007bff;
}

.btn-outline-primary:not(:disabled):not(.disabled):active:focus, .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-primary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5);
}

.btn-outline-secondary {
  color: #6c757d;
  background-color: transparent;
  background-image: none;
  border-color: #6c757d;
}

.btn-outline-secondary:hover {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:focus, .btn-outline-secondary.focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-secondary.disabled, .btn-outline-secondary:disabled {
  color: #6c757d;
  background-color: transparent;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active, .btn-outline-secondary:not(:disabled):not(.disabled).active,
.show > .btn-outline-secondary.dropdown-toggle {
  color: #fff;
  background-color: #6c757d;
  border-color: #6c757d;
}

.btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-secondary.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5);
}

.btn-outline-success {
  color: #28a745;
  background-color: transparent;
  background-image: none;
  border-color: #28a745;
}

.btn-outline-success:hover {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:focus, .btn-outline-success.focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-success.disabled, .btn-outline-success:disabled {
  color: #28a745;
  background-color: transparent;
}

.btn-outline-success:not(:disabled):not(.disabled):active, .btn-outline-success:not(:disabled):not(.disabled).active,
.show > .btn-outline-success.dropdown-toggle {
  color: #fff;
  background-color: #28a745;
  border-color: #28a745;
}

.btn-outline-success:not(:disabled):not(.disabled):active:focus, .btn-outline-success:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-success.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5);
}

.btn-outline-info {
  color: #17a2b8;
  background-color: transparent;
  background-image: none;
  border-color: #17a2b8;
}

.btn-outline-info:hover {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:focus, .btn-outline-info.focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-info.disabled, .btn-outline-info:disabled {
  color: #17a2b8;
  background-color: transparent;
}

.btn-outline-info:not(:disabled):not(.disabled):active, .btn-outline-info:not(:disabled):not(.disabled).active,
.show > .btn-outline-info.dropdown-toggle {
  color: #fff;
  background-color: #17a2b8;
  border-color: #17a2b8;
}

.btn-outline-info:not(:disabled):not(.disabled):active:focus, .btn-outline-info:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-info.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5);
}

.btn-outline-warning {
  color: #ffc107;
  background-color: transparent;
  background-image: none;
  border-color: #ffc107;
}

.btn-outline-warning:hover {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:focus, .btn-outline-warning.focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-warning.disabled, .btn-outline-warning:disabled {
  color: #ffc107;
  background-color: transparent;
}

.btn-outline-warning:not(:disabled):not(.disabled):active, .btn-outline-warning:not(:disabled):not(.disabled).active,
.show > .btn-outline-warning.dropdown-toggle {
  color: #212529;
  background-color: #ffc107;
  border-color: #ffc107;
}

.btn-outline-warning:not(:disabled):not(.disabled):active:focus, .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-warning.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5);
}

.btn-outline-danger {
  color: #dc3545;
  background-color: transparent;
  background-image: none;
  border-color: #dc3545;
}

.btn-outline-danger:hover {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:focus, .btn-outline-danger.focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-danger.disabled, .btn-outline-danger:disabled {
  color: #dc3545;
  background-color: transparent;
}

.btn-outline-danger:not(:disabled):not(.disabled):active, .btn-outline-danger:not(:disabled):not(.disabled).active,
.show > .btn-outline-danger.dropdown-toggle {
  color: #fff;
  background-color: #dc3545;
  border-color: #dc3545;
}

.btn-outline-danger:not(:disabled):not(.disabled):active:focus, .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-danger.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5);
}

.btn-outline-light {
  color: #f8f9fa;
  background-color: transparent;
  background-image: none;
  border-color: #f8f9fa;
}

.btn-outline-light:hover {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:focus, .btn-outline-light.focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-light.disabled, .btn-outline-light:disabled {
  color: #f8f9fa;
  background-color: transparent;
}

.btn-outline-light:not(:disabled):not(.disabled):active, .btn-outline-light:not(:disabled):not(.disabled).active,
.show > .btn-outline-light.dropdown-toggle {
  color: #212529;
  background-color: #f8f9fa;
  border-color: #f8f9fa;
}

.btn-outline-light:not(:disabled):not(.disabled):active:focus, .btn-outline-light:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-light.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5);
}

.btn-outline-dark {
  color: #343a40;
  background-color: transparent;
  background-image: none;
  border-color: #343a40;
}

.btn-outline-dark:hover {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:focus, .btn-outline-dark.focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-outline-dark.disabled, .btn-outline-dark:disabled {
  color: #343a40;
  background-color: transparent;
}

.btn-outline-dark:not(:disabled):not(.disabled):active, .btn-outline-dark:not(:disabled):not(.disabled).active,
.show > .btn-outline-dark.dropdown-toggle {
  color: #fff;
  background-color: #343a40;
  border-color: #343a40;
}

.btn-outline-dark:not(:disabled):not(.disabled):active:focus, .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
.show > .btn-outline-dark.dropdown-toggle:focus {
  box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5);
}

.btn-link {
  font-weight: 400;
  color: #007bff;
  background-color: transparent;
}

.btn-link:hover {
  color: #0056b3;
  text-decoration: underline;
  background-color: transparent;
  border-color: transparent;
}

.btn-link:focus, .btn-link.focus {
  text-decoration: underline;
  border-color: transparent;
  box-shadow: none;
}

.btn-link:disabled, .btn-link.disabled {
  color: #6c757d;
  pointer-events: none;
}

.btn-lg, .btn-group-lg > .btn {
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  line-height: 1.5;
  border-radius: 0.3rem;
}

.btn-sm, .btn-group-sm > .btn {
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  line-height: 1.5;
  border-radius: 0.2rem;
}

.btn-block {
  display: block;
  width: 100%;
}

.btn-block + .btn-block {
  margin-top: 0.5rem;
}

input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}