@font-face {
	font-family: 'Playlist';
	src: url('../fonts/playlist/Playlist Script.otf') format('opentype');
}

body {
	margin: 0;
	font-family: 'Brother-1816-Light';
	color: #2b2b2b;
}

h1, h2, h3, h4 {
	font-weight: normal;
	text-align: center;
}
h2 {
	font-size: 1em;
	margin-top: 27px;
	margin-bottom: 7px;
}

button {
	border: 1px solid black;
	font-weight: bold;
	padding: 10px 30px;
}
button:hover {
	background-color: white;
}

input:not([type="checkbox"]), select {
	box-sizing: content-box;
	border: 1px solid #2b2b2b;
	padding: 5px;
	width: calc(100% - 76px);
}
input[type="checkbox"] {
	appearance: none;
}

#poster-app {
	width: 100%;
	position: absolute;
	overflow: hidden;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

#poster-login {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}
#poster-login form {
	background-color: #F4F4F4;
	position: absolute;
	width: 975px;
	height: 520px;
	margin-left: auto;
	margin-right: auto;
}
#poster-login form input[type="checkbox"] {
	appearance: auto;
	width: 16px;
	height: 16px;
}
#poster-login form table {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
}
#poster-login form input {
	box-sizing: border-box;
}

#header {
	background-color: white;
	height: 50px;
}

#header img {
	margin-left: 10px;
}

#main {
	display: flex;
	height: calc(100% - 50px);
}

#content {
	display: flex;
	flex: 1 100%;
	flex-direction: column;
}

#content-top {
	display: flex;
	flex: 1 100%;
}

#content-bottom {
	display: flex;
	flex-direction: column;
	height: 100px;
	min-height: 100px;
	max-height: 100px;
	text-align: center;
	align-items: center;
}

#content-bottom > * {
	flex-grow: 2;
}

#canvas-container {
	background-color: white;
	width: 75px;
	height: 100px;
	box-shadow: rgba(0, 0, 0, 0.75) 5px 5px 10px 0px;
	position: relative;
	overflow: hidden;
}

#map {
	position: absolute;
	width: 100%;
	height: 100%;
}

#spinner {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	height: 100%;
	background-image: url('../gfx/svg/spinner-1s-200px.svg');
	background-repeat: no-repeat;
	background-position: center;
	z-index: 1000;
	display: none;
}

.bold {
	font-weight: bold;
}

.error {
	color: red;
}

.map-is-hidden {
	visibility: hidden;
}

.spinner-is-visible {
	display: block !important;
}

.preview-is-hidden {
	display: none !important;
}

.preview-bottom-canvas-is-hidden {
	display: none !important;
}

#preview-map, #svg-container, #preview-map-container > svg {
	position: absolute;
	z-index: 900;
	width: 100%;
	height: 100%;
}
#ghost-preview-map-container {
	position: absolute;
	display: none;
}

#preview-canvas {
	background-color: white;
	position: absolute;
	width: calc(100% - 10px);
	height: 100px;
	bottom: 0px;
	margin: 5px;
	z-index: 900;
}

#navigation {
	background-color: #f0f0f0;
	display: flex;
	width: 25%;
	min-width: 334px;
}

#navigation ul {
	background-color: #2b2b2b;
	list-style-type: none;
	padding: 0;
	margin: 0;
	width: 84px;
	height: 100%;
}

#navigation ul li {
	padding: 8px;
}

#navigation ul li[class~="active"][data-tab] {
	background-color: #f0f0f0;
}
#navigation ul li[class~="active"][data-tab] .tab-image-location {
	background-image: url('../gfx/svg/location_checked.svg') !important;
	background-color: #f0f0f0;
}
#navigation ul li[class~="active"][data-tab] .tab-image-style {
	background-image: url('../gfx/svg/style_checked.svg') !important;
	background-color: #f0f0f0;
}
#navigation ul li[class~="active"][data-tab] .tab-image-layout {
	background-image: url('../gfx/svg/layout_checked.svg') !important;
	background-color: #f0f0f0;
}
#navigation ul li[class~="active"][data-tab] .tab-image-route {
	background-image: url('../gfx/svg/route_checked.svg') !important;
	background-color: #f0f0f0;
}
#navigation ul li[class~="active"][data-tab] .tab-image-buy {
	background-image: url('../gfx/svg/buy_checked.svg') !important;
	background-color: #f0f0f0;
}

#navigation > div {
	flex: 1 100%;
}

.tab-image {
	background-color: #2b2b2b;
	background-repeat: no-repeat;
	background-size: 42px;
	background-position: center top;
	padding-top: 42px;
	text-align: center;
	color: white;
}
.tab-image:hover {
	background-color: #2b2b2b;
}
.active .tab-image {
	color: #2b2b2b;
}
button.active {
	background-color: #2b2b2b;
	color: white;
}

.tab-image-location {
	background-image: url('../gfx/svg/location_unchecked.svg');
}

.tab-image-location:hover {
	background-image: url('../gfx/svg/location_hover.svg');
}

.tab-image-style {
	background-image: url('../gfx/svg/style_unchecked.svg');
}

.tab-image-style:hover {
	background-image: url('../gfx/svg/style_hover.svg');
}

.tab-image-layout {
	background-image: url('../gfx/svg/layout_unchecked.svg');
}

.tab-image-layout:hover {
	background-image: url('../gfx/svg/layout_hover.svg');
}

.tab-image-route {
	background-image: url('../gfx/svg/route_unchecked.svg');
}

.tab-image-route:hover {
	background-image: url('../gfx/svg/route_hover.svg');
}

.tab-image-buy {
	background-image: url('../gfx/svg/buy_unchecked.svg');
}

.tab-image-buy:hover {
	background-image: url('../gfx/svg/buy_hover.svg');
}

.tab-content {
	padding: 25px 25px 0 25px;
	height: calc(100% - 25px);
}

.flex {
	display: flex;
}
.flex-direction-row {
	flex-direction: row;
}
.flex-direction-column {
	flex-direction: column;
}
.flex-grow-0 {
	flex-grow: 0;
}
.flex-grow-1 {
	flex-grow: 1;
}
.flex-grow-2 {
	flex-grow: 2;
}
.flex-grow-3 {
	flex-grow: 3;
}
.flex-grow-4 {
	flex-grow: 4;
}
.flex-grow-5 {
	flex-grow: 5;
}

.left {
	text-align: left;
}
.float-left {
	float: left;
}
.center {
	text-align: center;
	margin-left: auto;
	margin-right: auto;
}
.right {
	text-align: right;
}
.float-right {
	float: right;
}

.hint {
	border: 1px solid #2b2b2b;
	cursor: pointer;
	padding-left: 4px;
	padding-right: 4px;
}

.black {
	background-color: black;
}
.white {
	background-color: white;
}
.red {
	background-color: red;
}
.blue {
	background-color: blue;
}
.green {
	background-color: green;
}

.full-width {
	width: 100%;
}

.clickable {
	cursor: pointer;
}

.hidden {
	display: none;
}

.pointer {
	cursor: pointer;
}

.magnify, .track, .add, .delete, .checked, .unchecked {
	background-color: #555555;
	border: 1px solid #2b2b2b;
	cursor: pointer;
	padding: 5px;
}

.checked {
	background-image: url('../gfx/svg/check.svg');
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center;
}
.unchecked {
	background-color: white;
	background-image: url('../gfx/svg/uncheck.svg');
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center;
}

.input-vertical-margin {
	margin-top: 3.5px;
	margin-bottom: 3.5px;
}

.poster-size {
	border: 1px solid #2b2b2b;
	cursor: pointer;
	display: inline-block;
	padding: 5px;
	margin: 5px;
	text-align: center;
	line-height: 0.8em;
}
.poster-size .size-value {
	font-size: xx-small;
	line-height: 0;
}
.active-size {
	background-color: white;
}

.shirt-size {
	border: 1px solid #2b2b2b;
	cursor: pointer;
	display: inline-block;
	padding: 15px 25px;
	margin: 5px;
	text-align: center;
	line-height: 0.8em;
}

.regular {
	background-image: url('../gfx/svg/shirt_regular_unchecked.svg');
}
.active-fit .regular {
	background-image: url('../gfx/svg/shirt_regular_checked.svg');
}
.girly {
	background-image: url('../gfx/svg/shirt_girly_unchecked.svg');
}
.active-fit .girly {
	background-image: url('../gfx/svg/shirt_girly_checked.svg');
}

.portrait {
	background-image: url('../gfx/svg/portrait_unchecked.svg');
}
.portrait:hover {
	background-image: url('../gfx/svg/portrait_hover.svg');
}
.active-orientation .portrait {
	background-image: url('../gfx/svg/portrait_checked.svg');
}

.landscape {
	background-image: url('../gfx/svg/landscape_unchecked.svg');
}
.landscape:hover {
	background-image: url('../gfx/svg/landscape_hover.svg');
}
.active-orientation .landscape {
	background-image: url('../gfx/svg/landscape_checked.svg');
}

.color {
	cursor: pointer;
	display: inline-block;
	width: 30%;
	text-align: center;
}
.color-sub {
	width: 40px;
	height: 40px;
	border: 1px solid black;
	margin-left: auto;
	margin-right: auto;
}
.active-color > div {
	background-color: white;
}

.layout {
	cursor: pointer;
	display: inline-block;
	width: 30%;
	text-align: center;
}
.layout-sub {
	width: 40px;
	height: 60px;
	border: 1px solid black;
	margin-left: auto;
	margin-right: auto;
}
.active-layout > div {
	background-color: white;
}

.map-style {
	cursor: pointer;
	display: inline-block;
	position: relative;
	margin: 4px;
	width: 200px;
}
.map-style.disabled {
	opacity: 0.5;
}
.map-style-checkbox {
	border: 1px solid #2b2b2b;
	background-color: white;
	width: 18px;
	height: 18px;
	position: absolute;
	top: 0;
	left: 0;
}
.map-style-name {
	border: 1px solid #2b2b2b;
	background-color: #2b2b2b;
	color: white;
	height: 18px;
	line-height: 18px;
	padding-left: 3px;
	padding-right: 3px;
	position: absolute;
	top: 0;
	left: 20px;
}
.active-map-style .map-style-checkbox .inner-map-style-checkbox {
	background-color: #2b2b2b;
	width: 12px;
	height: 12px;
	position: absolute;
	top: 3px;
	left: 3px;
}
.map-style img {
	border: 1px solid #2b2b2b;
	/* opacity: 0.5; */
}
.map-style img:hover {
	opacity: 1;
}
.active-map-style img {
	border: 1px solid #2b2b2b;
	opacity: 1;
}

.active-map-style .color-schemes {
	display: block;
}
.color-schemes {
	display: none;
	border: 1px solid #f0f0f0;
	position: absolute;
	left: 0;
	top: 20px;
	width: 100%;
	height: 30px;
	background-color: #f0f0f0;
}
.color-scheme-icon {
	border: 1px solid transparent !important;
	padding-top: 2px;
	padding-left: 2px;
	padding-right: 2px;
}
.active-color-scheme-icon {
	border: 1px solid #2b2b2b !important;
	padding-top: 1px;
	padding-bottom: 1px;
	margin-bottom: -1px;
}

.color-selector, .icon-selector {
	border: 1px solid #2b2b2b;
	cursor: pointer;
	display: inline-block;
	opacity: 0.5;
	margin: 2px;
	width: 30px;
	height: 30px;
}
.color-selector:hover, .icon-selector:hover {
	opacity: 1;
}
.custom-color-selector {
	background-image: url('../gfx/svg/edit.svg');
	background-size: 20px;
	background-repeat: no-repeat;
	background-position: center;
	border: 1px solid #2b2b2b;
}

.active-color, .active-icon {
	border: 1px solid #2b2b2b;
	opacity: 1;
}

.icon-1 {
	background-image: url('../gfx/svg/icon_1_unchecked.svg');
}
.icon-2 {
	background-image: url('../gfx/svg/icon_2_unchecked.svg');
}
.icon-3 {
	background-image: url('../gfx/svg/icon_3_unchecked.svg');
}

button.routing-course {
	font-weight: initial;
}
.routing-course {
	padding: 10px 8px;
	width: 49%;
}

.no-box-shadow {
	box-shadow: none !important;
}

.shirt-background {
	background-image: url('../gfx/png/shirt_front.png');
	background-repeat: no-repeat;
	background-size: cover;
}

/**
 * jquery-ui adjustments
 */

.ui-widget {
	z-index: 1001;
}
.ui-widget-overlay {
	opacity: 0.3;
}
