/**
 * for Designer's list_templates.php
***/

.button.button--download-template-presets {
	background-color: #8bc34a;
	color: #ffffff;
	line-height: 2rem;
}

.button.button--download-template-presets:hover {
	background-color: #7cb342;
	color: #ffffff;
}

/**
 * for Designer's design_template.php
***/

label[for="title"],
label[for="menu_set_id"],
label[for="page_template_id"],
label[for="page_template_id"] {
	cursor: default;
	display: block;
}

select#menu_set_id,
select#page_template_id {
	width: auto; min-width: 128px;
}

.setting-section {
}

.setting-section.hidden {
	display: none;
}

.setting-section.section-level-1 > h1 {
	border: 0 solid #454545;
	border-width: 0 0 1px;
	line-height: 2;
	margin: 1.125rem 0;
	padding: 0;
}

.setting-section.section-level-2 {
	border: 0 solid #e0e0e0;
	border-width: 0 0 1px;
	box-sizing: border-box;
	margin: 0 auto 1.125rem;
	overflow: hidden;
	padding-bottom: 1.125rem;
}

.setting-section.section-level-2 {
	height: calc(2.25rem + 0px);
}
.setting-section.section-level-2:target {
	height: auto;
}

.setting-section.section-level-2 > h1 {
	border: 0 solid #e0e0e0;
	border-width: 0;
	box-sizing: content-box;
	font-size: 1.125rem;
	line-height: 2.25rem;
	margin: 0 0 1.125rem;
}

.setting-section.section-level-2:target > h1 {
	margin-top: 117px;
}

.setting-section.section-level-2 > h1 a {
	background-color: #454545;
	color: #ffffff;
	display: block;
	padding: 0 12px;
	text-shadow: 0 1px 2px rgba(0,0,0,0.5);
}

.setting-section.section-level-2 > h1 a::after {
	content: "\f07b";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	float: right;
	line-height: 2.25rem;
}

.setting-section.section-level-2:target > h1 a::after {
	content: "\f07c";
}

.setting-section.section-level-3 {
}

.setting-section.section-level-3 > h1 {
	border: 0px solid #e0e0e0;
	border-width: 1px 0;
	font-size: 1.125rem;
	line-height: 2rem;
	margin-top: 2rem;
}

.setting-section.section-level-4 {
	margin-left: 12px;
}

.setting-section.section-level-4 > h1 {
	border: 0px solid #e0e0e0;
	border-width: 0 0 1px;
	font-size: 1rem;
	font-weight: 400px;
	margin-top: 2rem;
}

.setting-container {
	margin: 0.5rem 0 1.125rem;
	margin-left: 12px;
}

.setting-container p {
	line-height: 1.125rem;
	margin: 0 0 0.25rem;
}

p.label {
	font-weight: 700;
}

p.setting-description {
	font-size: 0.75rem;
}

.setting-section h1 + p.setting-description {
	margin: 1.125rem 0 1.125rem 12px;
}

.setting-container input[type="text"],
.setting-container select {
	font-size: 0.875rem;
  min-width: 128px;
	width: auto;
}

.setting-container textarea {
	font-size: 0.875rem;
	resize: vertical;
}

.setting-container input[type="text"] {
  margin-bottom: 0;
	min-width: 256px;
}

.setting-container div.radio-container {
	display: inline-block;
	vertical-align: top;
}

.radio-container input[type="radio"],
.radio-container label {
	cursor: pointer;
	display: inline-block;
	margin: 0;
	vertical-align: baseline;
}

.radio-container input[type="radio"] {
	visibility: hidden;
	width: 0; height: 0;
}

.radio-container label {
	background-color: #e0e0e0;
	border-radius: 3px;
	font-size: 0.75rem;
	font-weight: normal;
	min-width: 48px;
	padding: 0;
	text-align: center;
	text-transform: uppercase;
	transition: 0.2s ease-in-out;
}

.radio-container input[type="radio"]:checked + label {
	background-color: #2196F3;
	box-shadow: 1px 1px 2px rgba(0,0,0,0.25) inset;
	color: #ffffff;
	user-select: none;
}

.setting-container input[type="range"] {
  background: transparent; /* Otherwise white in Chrome */
  width: 100%; /* Specific width is required for Firefox. */
  -webkit-appearance: none; /* Hides the slider so that custom slider can be made */
}

.setting-container input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
}

.setting-container input[type="range"]:focus {
  outline: none; /* Removes the blue border. You should probably do some kind of focus styling for accessibility reasons though. */
}

.setting-container input[type="range"] {
	border: none;
	margin: 0;
	padding: 0;
	width: 192px;
}

.setting-container input[type="range"]::-ms-track {
  cursor: pointer;
  width: 100%;

  /* Hides the slider so custom styles can be added */
  background: transparent;
  border-color: transparent;
  color: transparent;
}

.setting-container input[type="range"]::-webkit-slider-runnable-track {
  background: #eeeeee;
  border: none;
  border-radius: 6px;
  box-shadow: inset 0 0 3px rgba(0,0,0,0.15);
  cursor: pointer;
  width: 100%; height: 12px;
}

.setting-container input[type="range"]::-moz-range-track {
  background: #eeeeee;
  border: none;
  border-radius: 6px;
  box-shadow: inset 0 0 3px rgba(0,0,0,0.15);
  cursor: pointer;
  width: 100%; height: 12px;
}

.setting-container input[type="range"]::-ms-track {
  background: #eeeeee;
  border: none;
  border-radius: 6px;
  box-shadow: inset 0 0 3px rgba(0,0,0,0.15);
  color: transparent;
  cursor: pointer;
  width: 100%; height: 12px;
}
.setting-container input[type="range"]::-ms-fill-lower {
  background: #eeeeee;
  border: none;
  border-radius: 6px;
}
.setting-container input[type="range"]::-ms-fill-upper {
  background: #eeeeee;
  border: none;
  border-radius: 6px;
}

/* Special styling for WebKit/Blink */
.setting-container input[type="range"]::-webkit-slider-thumb {
  background: #333333;
  border: 2px solid #000000;
  border-radius: 50%;
  cursor: pointer;
  margin-top: 0px; /* You need to specify a margin in Chrome, but in Firefox and IE it is automatic */
  width: 12px; height: 12px;
  -webkit-appearance: none;
}
.setting-container input[type="range"]:focus::-webkit-slider-thumb {
  background: #2196F3;
  border-color: #2196F3;
}

/* All the same stuff for Firefox */
.setting-container input[type="range"]::-moz-range-thumb {
  background: #333333;
  border: 2px solid #000000;
  border-radius: 50%;
  cursor: pointer;
  width: 12px; height: 12px;
}
.setting-container input[type="range"]:focus::-moz-range-thumb {
  background: #2196F3;
  border-color: #2196F3;
}

/* All the same stuff for IE */
.setting-container input[type="range"]::-ms-thumb {
  background: #333333;
  border: 2px solid #000000;
  border-radius: 50%;
  cursor: pointer;
  width: 12px; height: 12px;
}
.setting-container input[type="range"]:focus::-ms-thumb {
  background: #2196F3;
  border-color: #2196F3;
}

.setting-container input[type="range"],
.setting-container input.range,
.setting-container input.range ~ span.unit {
	display: inline-block;
	margin: 0 6px 0 0;
	vertical-align: middle;
}

.setting-container input.range {
	font-size: 0.875rem;
	line-height: 1.5rem;
	padding: 0 0 0 15px;
	text-align: center;
	width: 64px;
}

.setting-container input.range ~ span.unit {
	font-size: 0.75rem;
	line-height: 1.125rem;
}

.setting-container.disabled p,
.setting-container.disabled p.label,
.setting-container.disabled p.setting-description
.setting-container.disabled select,
.setting-section.disabled p,
.setting-section.disabled p.label,
.setting-section.disabled p.setting-description
.setting-section.disabled select
{
	color: #e0e0e0;
}

.setting-container.disabled label,
.setting-section.disabled label
{
	color: #aaa;
}

.setting-section.disabled input[type="radio"]:checked + label,
.setting-container.disabled input[type="radio"]:checked + label {
	color: #cbcbcb;
	background-color: #77bef8;
}

.setting-section.disabled input[type="radio"] + label,
.setting-container.disabled input[type="radio"] + label {
	cursor: not-allowed;
}

div.setting-error {
	background: rgba(255,0,0,0.1);
	padding: 6px;
}

.ajax__trigger,
.ajax__success {
	background: red;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 1.33333rem;
	font-weight: normal;
	padding: 0;
	position: absolute;
	top: calc(45px + 36px + 2.25rem); right: 0;
	text-align: center;
}

.ajax__trigger {
	background-color: #2196F3;
  box-shadow: 0 2px 3px -2px rgba(0,0,0,0.5);
  cursor: pointer;
	display: block;
	line-height: 44px;
	margin: 0;
	width: 44px; height: 44px;
}

.ajax__trigger::before {
	line-height: 44px;
}

.ajax__trigger:hover {
	background-color: #1565C0;
}

.ajax__success {
	background-color: #ff9933;
	border: 3px solid #ffffff;
	border-radius: 50%;
	display: block;
	line-height: 32px;
	margin: 3px;
	width: 38px; height: 38px;
}

.ajax__success::before {
	line-height: 35px;
}

@media screen and ( max-width: 1140px ) {
	.ajax__trigger,
	.ajax__success {
		right: 12px;
	}
}

/**
 * for Designer's Spectrum JS
***/

.sp-picker-container .sp-input-container {
	float: none;
	width: auto; max-width: 100%;
}
.setting-container .sp-replacer {
	border-color: #e0e0e0;
}
.setting-container .sp-replacer:hover,
.setting-container .sp-replacer.sp-active {
	border-color: #2196F3;
}

/**
 * for Designer's import_template.php
***/

#uploadFile {
	background-color: #E3F2FD;
	border-color: #2196F3;
	box-shadow: none;
	cursor: pointer;
	padding: 0.625rem;
}

/**
 * for Designer's design_menu_set.php
***/

#menu-builder ul {
	margin: 0;
	padding: 0;
}

#menu-builder ul li {
	background-color: #fff;
	border: 1px solid #e0e0e0;
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0.75rem 0.625rem;
	position: relative;
}

#menu-builder label {
	margin-bottom: 0.25rem;
}

#menu-builder input[type="text"],
#menu-builder select {
	display: inline-block;
	height: 2rem;
	margin-right: 0.625rem;
	width: 256px;
}

#menu-builder input[type="checkbox"],
#menu-builder label.checkbox {
	display: inline-block;
	font-weight: normal;
	line-height: 1;
	margin-right: 0.625rem;
	padding: 0;
	vertical-align: top;
}

#menu-builder ul li::after {
	color: #454545;
	content: '\f0cb';
	cursor: move;
	display: block;
	font-family: "Font Awesome 5 Free";
  font-weight: 900;
	line-height: 44px;
	position: absolute; top: 0; right: 0;
	text-align: center;
	width: 44px; height: 44px;
}

#menu-builder > .actions {
	margin: 1.25rem 0;
}

#menu-builder .actions input {
	font-size: 0.75rem;
	line-height: 1.5rem;
	min-width: 128px;
	padding: 0 0.625rem;
}

#menu-builder li .actions input {
	margin: 0 0.625rem 0 0;
}

#menu-builder li li {
	background-color: #BBDEFB;
	border-color: #42A5F5;
	border-right: none;
	margin: 12px 0;
}

#menu-builder li li li {
	background-color: #C5E1A5;
	border-color: #9CCC65;
}

#menu-builder li li li .add {
	display: none;
}
