:root {
	--booking-color: #25A0E2;
	--container-width: 1140px;
	--full-tour: #2B3891;
	--complete-tour: #2B3891;
	--incomplete-tour: #F88D2B;
	--warning-color: #ed484e;
	--large-border-radius: 20px;
	--medium-border-radius: 10px;
	--small-border-radius: 5px;
	--default-border-color: #dedede;
	--default-disabled-color: #eeeeee;
	--default-element-background-color: #fafafa;
	--default-shadow: 0 3px 6px #00000029;
	--default-inset-shadow: inset 0 1px 3px #00000029;
	--light-background-color: #f3f6f9;
}

.template {
	display: none;
}

.input-step {
	display: flex;
}

.input-step input::-webkit-outer-spin-button,
.input-step input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.input-step input {
	border: none;
	padding: 0;
	width: 35px;
	outline: none;
	text-align: center;
	-moz-appearance: textfield;
	cursor: auto;
}

.input-step button {
	border: 1px solid var(--default-border-color);
	border-radius: 50%;
	padding: 0;
	width: 34px;
	height: 34px;
	font-size: 20px;
	color: var(--default-border-color);
	background-color: transparent;
	cursor: pointer;
}

.form-control {
    border: 1px solid var(--default-border-color) !important;
	outline: none;
	box-shadow: var(--default-inset-shadow);
	padding: 8px 14px;
	height: 38px;
    background-color: var(--default-element-background-color);
	box-sizing: border-box;
}

textarea.form-control {
	height: auto;
}

.form-select {
    display: block;
    width: 100%;
    padding: .5rem 2.7rem .5rem .9rem;
    -moz-padding-start: calc(.9rem - 3px);
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.5;
    background-color: var(--default-element-background-color);
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e");
    background-repeat: no-repeat;
    background-position: right .9rem center;
    background-size: 16px 12px;
    border: 1px solid var(--default-border-color) !important;
	outline: none;
	box-shadow: var(--default-inset-shadow);
    border-radius: .25rem;
    -webkit-transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
    transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-box-shadow .15s ease-in-out;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.form-select,
.form-control {
	border-radius: var(--small-border-radius);
	box-shadow: none;
	background-color: #ffffff;
}

.form-select:disabled,
.form-control:disabled {
    opacity: 0.7;
    background-color: var(--default-disabled-color);
}

.form-check-input:not([type="radio"]) {
	border-radius: var(--small-border-radius);
    border: 1px solid var(--default-border-color);
	box-shadow: var(--default-inset-shadow);
	width: 38px;
	height: 38px;
    background-color: var(--default-element-background-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    -webkit-print-color-adjust: exact;
    color-adjust: exact;
	cursor: pointer;
}

.form-check-input:checked {
    background-color: var(--default-border-color);
}

.form-check-input:checked[type=checkbox] {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3e%3cpath fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='3' d='M6 10l3 3l6-6'/%3e%3c/svg%3e");
}

.pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 50px;
}

.pagination .page-item {
	border-radius: var(--medium-border-radius);
	width: 40px;
	height: 40px;
	line-height: 40px;
	text-align: center;
}

.pagination .page-item:not(.prev, .next) {
	font-family: var(--e-global-typography-text-font-family);
}

.pagination .page-item.active {
	color: #ffffff;
	background-color: var(--e-global-color-primary);
}

.pagination .page-item.disabled {
	display: none;
}

.pagination .page-item.prev,
.pagination .page-item.next {
	border: 1px solid var(--e-global-color-accent);
	color: var(--e-global-color-accent);
}

.loading {
	background: url('../icon/ui-anim_basic_16x16.gif') no-repeat center center;
	opacity: 0.5;
	pointer-events: none;
}

.blur {
	filter: blur(2px) brightness(0.5);
}

#content.blur {
	background-color: #fff;
}

.dialog_wrapper {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 30;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
}

.cancel-layer {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 31;
}

.dialog {
	position: relative;
	z-index: 32;
	border-radius: var(--medium-border-radius);
	box-shadow: var(--default-shadow);
	max-width: 300px;
	width: 100%;
	background-color: #ffffff;
	overflow: hidden;
}

.dialog_header {
	box-shadow: var(--default-shadow);
	height: 52px;
	line-height: 52px;
	font-size: var(--e-global-typography-primary-font-size);
	font-weight: var(--e-global-typography-primary-font-weight);
	text-align: center;
	background-color: var(--warning-color);
}

.dialog_body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 26px 36px 2px;
}

.dialog_footer {
	display: flex;
	flex-direction: row;
	gap: 16px;
	padding: 23px;
	text-align: center;
}

.dialog h3 {
	margin-bottom: 25px;
	font-size: var(--e-global-typography-primary-font-size);
	font-weight: bold;
	line-height: var(--e-global-typography-primary-line-height);
}

.dialog label {
	font-size: var(--e-global-typography-accent-font-size);
	font-weight: var(--e-global-typography-accent-font-weight);
	line-height: var(--e-global-typography-accent-line-height);
}

.dialog button {
	flex: 1;
	border: 0;
	border-radius: var(--medium-border-radius);
	padding: 12px 24px;
	cursor: pointer;
}

.dialog button.primary {
	color: #fff;
	background-color: var(--warning-color);
}

.dialog button[disabled] {
	opacity: 0.5;
	cursor: not-allowed;
}

.dialog_body a {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: center;
	border-radius: 5px;
	padding: 6px 12px;
	height: 44px;
	background-color: var(--booking-color);
	color: #ffffff;
	text-align: center;
}

.dialog_footer p {
	text-align: initial;
}