/*! ==========================================================================
	 Автор: Павел Белоусов (http://pafnuty.name) */
/*! ========================================================================= */


/*! =========================================================================
   Стили UF-FORM */
/*! ========================================================================= */
/* =========================================================
   UF-FORM — форма обратного звонка
   Адаптировано под дизайн-систему сайта (CSS-переменные)
   ========================================================= */

/* --- Обёртка формы (в модальном окне) --- */
.uf-wrapper {
    position: relative;
    width: min(calc(var(--app-em)*31.25), calc(100vw - var(--sp-6)));
    margin: 0 auto;
    background: var(--surface);
    color: var(--text);
    border-radius: var(--r-xl);
    box-shadow: var(--shadow-modal);
    overflow: hidden;
}

/* --- Обёртка для инлайн-режима --- */
.uf-wrapper-inline {
    width: 100%;
    margin: 0;
    box-shadow: var(--shadow-soft);
}
.uf-wrapper-inline .uf-header {
    border-radius: var(--r-xl) var(--r-xl) 0 0;
}

/* --- Кнопка закрытия (в модалке) --- */
.uf-wrapper .mfp-close {
    position: absolute;
    top: var(--sp-3);
    right: var(--sp-3);
    z-index: 3;
    width: calc(var(--app-em)*2.25);
    height: calc(var(--app-em)*2.25);
    display: grid;
    place-items: center;
    border: 0;
    border-radius: var(--r-lg);
    background: rgba(255,255,255,.18);
    color: var(--accent-ink);
    font-size: calc(var(--app-em)*1.5);
    line-height: 1;
    cursor: pointer;
    opacity: 1;
    transition: background .2s ease, transform .2s ease;
}
.uf-wrapper .mfp-close:hover {
    background: rgba(255,255,255,.32);
    transform: rotate(90deg);
}

/* --- Заголовок формы --- */
.uf-header {
    padding: calc(var(--app-em)*1.25) calc(var(--app-em)*1.75);
    background: var(--accent-strong);
    color: var(--accent-ink);
    font-size: var(--fs-h4);
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1.2;
}

/* --- Контент формы --- */
.uf-content {
    padding: calc(var(--app-em)*1.75);
    font-size: var(--fs-sm);
    color: var(--text);
}

/* --- Поля --- */
.uf-field {
    display: grid;
    gap: var(--sp-2);
    margin-bottom: var(--sp-4);
}
.uf-field:last-child {
    margin-bottom: 0;
}
.uf-field::before,
.uf-field::after { content: none; }  /* сбрасываем старый clearfix */

/* Метка — над полем, а не сбоку (для мобильности и общей сетки) */
.uf-label {
    float: none;
    width: auto;
    padding: 0;
    text-align: left;
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 600;
}
.uf-field-input {
    overflow: visible;
}

/* --- Инпуты и textarea --- */
input.uf-input,
textarea.uf-input,
select.uf-input {
    display: block;
    width: 100%;
    min-height: var(--control-h);
    padding: 0 calc(var(--app-em)*0.9375);
    border: var(--hair) solid var(--line);
    border-radius: var(--r-lg);
    background: var(--surface-soft);
    color: var(--text);
    font-family: inherit;
    font-size: var(--fs-sm);
    line-height: 1.4;
    outline: none;
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
}

input.uf-input:focus,
textarea.uf-input:focus,
select.uf-input:focus {
    border-color: var(--accent);
    background: var(--surface);
    box-shadow: 0 0 0 var(--sp-1) var(--accent-soft);
}

textarea.uf-input {
    height: auto;
    padding: calc(var(--app-em)*0.75) calc(var(--app-em)*0.9375);
    line-height: 1.5;
    resize: vertical;
}

/* Стилизованный select с собственной стрелкой */
select.uf-input {
    padding-right: calc(var(--app-em)*2.25);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--muted) 50%),
        linear-gradient(135deg, var(--muted) 50%, transparent 50%);
    background-position:
        calc(100% - var(--app-em)*1.125) 50%,
        calc(100% - var(--app-em)*0.75) 50%;
    background-size:
        calc(var(--app-em)*0.375) calc(var(--app-em)*0.375),
        calc(var(--app-em)*0.375) calc(var(--app-em)*0.375);
    background-repeat: no-repeat;
    cursor: pointer;
}
select.uf-input[multiple] {
    padding: 0;
    min-height: calc(var(--app-em)*7.5);
    background-image: none;
}

/* Ошибка на поле */
.uf-input-error,
.uf-input-error:focus {
    border-color: var(--negative);
    background: var(--negative-soft);
    box-shadow: 0 0 0 var(--sp-1) rgba(192, 57, 43, .12);
}

/* --- Кнопка отправки --- */
.uf-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--sp-2);
    min-height: var(--control-h);
    padding: 0 calc(var(--app-em)*1.5);
    border: 0;
    border-radius: var(--r-lg);
    background: var(--cta);
    color: var(--cta-ink);
    font-family: inherit;
    font-size: var(--fs-sm);
    font-weight: 700;
    letter-spacing: .01em;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 calc(var(--app-em)*0.25) calc(var(--app-em)*0.75) rgba(224, 157, 0, .25);
}
.uf-btn:hover {
    background: var(--cta-hover);
    transform: translateY(calc(var(--app-em)*-0.0625));
    box-shadow: 0 calc(var(--app-em)*0.375) calc(var(--app-em)*1) rgba(224, 157, 0, .32);
}
.uf-btn:active {
    transform: translateY(0);
}
.uf-btn[disabled],
.uf-btn[data-loading] {
    opacity: .75;
    cursor: progress;
    transform: none;
}

/* Кнопка на всю ширину в форме */
.uf-content .uf-field:last-child .uf-btn,
.uf-content .uf-btn--block {
    width: 100%;
}

/* --- Уведомления --- */
.uf-alert {
    padding: calc(var(--app-em)*0.9375) calc(var(--app-em)*1.25);
    font-size: var(--fs-sm);
    font-weight: 600;
    border-radius: 0;
}
.uf-alert:first-child {
    border-radius: var(--r-xl) var(--r-xl) 0 0;
}
.uf-alert:last-child {
    border-radius: 0 0 var(--r-xl) var(--r-xl);
}

.uf-alert-success {
    background: var(--positive-soft);
    color: var(--positive);
}
.uf-alert-error {
    background: var(--negative-soft);
    color: var(--negative);
}
.uf-alert-info {
    background: var(--warn-soft);
    color: var(--warn);
    font-weight: 500;
}
.uf-alert ul {
    margin: var(--sp-1) 0 0 var(--sp-5);
    padding: 0;
    list-style: disc;
}
.uf-alert b {
    display: block;
    margin-bottom: var(--sp-1);
    font-weight: 700;
}

/* --- Текстовая ошибка под полем --- */
.uf-error-text {
    color: var(--negative);
    font-size: var(--fs-meta);
    margin-top: var(--sp-1);
}

/* --- Инлайн-загрузка (спиннер) --- */
.uf-inline-loading {
    display: grid;
    place-items: center;
    min-height: calc(var(--app-em)*12.5);
    margin: 0;
    font-size: 0;
    position: relative;
    text-indent: -9999em;
    border: 0;
    background: none;
    animation: none;
    border-radius: 0;
    width: auto;
    height: auto;
}
.uf-inline-loading::before,
.uf-inline-loading::after {
    content: "";
    display: block;
}
.uf-inline-loading::before {
    width: calc(var(--app-em)*3.75);
    height: calc(var(--app-em)*3.75);
    border-radius: 50%;
    border: calc(var(--app-em)*0.25) solid var(--accent-soft);
    border-left-color: var(--accent-strong);
    animation: ufSpinner 1s linear infinite;
}

/* =========================================================
   Подпись о согласии на обработку ПД
   ========================================================= */
.uf-consent {
    margin: 0;
    padding: 0;
    color: var(--muted);
    font-size: var(--fs-meta);
    font-weight: 400;
    line-height: 1.5;
    text-align: center;
    text-wrap: pretty;             /* аккуратный перенос строк */
    max-width: 36em;               /* ограничение длины строки */
    margin-inline: auto;
}

.uf-consent a {
    color: var(--accent-strong);
    text-decoration: underline;
    text-decoration-thickness: 1px;             /* не hair — иначе не видно */
    text-underline-offset: 0.15em;
    text-decoration-color: color-mix(in srgb, var(--accent-strong) 45%, transparent);
    transition: color .18s ease, text-decoration-color .18s ease;
}

.uf-consent a:hover {
    color: var(--accent);
    text-decoration-color: currentColor;
}

.uf-consent a:focus-visible {
    outline: calc(var(--hair) * 2) solid var(--accent-strong);
    outline-offset: calc(var(--hair) * 2);
    border-radius: var(--r-sm);
}

/* На узких экранах — по левому краю, чтобы не рвать текст по центру */
@media (max-width: 30em) {
    .uf-consent {
        font-size: var(--font-size-xs);
        text-align: left;
        max-width: none;
        margin-inline: 0;
    }
}

/* Тёмная тема — сделать подпись чуть светлее muted */
[data-theme="dark"] .uf-consent {
    color: color-mix(in srgb, var(--text) 65%, transparent);
}
[data-theme="dark"] .uf-consent a {
    color: var(--accent);
    text-decoration-color: color-mix(in srgb, var(--accent) 50%, transparent);
}



/* --- Тёмная тема --- */
[data-theme="dark"] .uf-wrapper .mfp-close {
    background: rgba(0, 0, 0, .35);
    color: var(--accent-strong);
}
[data-theme="dark"] .uf-wrapper .mfp-close:hover {
    background: rgba(0, 0, 0, .55);
    color: var(--accent);
}
[data-theme="dark"] input.uf-input,
[data-theme="dark"] textarea.uf-input,
[data-theme="dark"] select.uf-input {
    background: var(--surface-soft);
    color: var(--text);
    border-color: var(--line);
}
[data-theme="dark"] input.uf-input:focus,
[data-theme="dark"] textarea.uf-input:focus,
[data-theme="dark"] select.uf-input:focus {
    background: var(--surface);
    border-color: var(--accent);
}
[data-theme="dark"] .uf-btn {
    box-shadow: 0 calc(var(--app-em)*0.25) calc(var(--app-em)*0.75) rgba(224, 157, 0, .18);
}

/* --- Мобильная адаптация --- */
@media (max-width: 30em) {
    .uf-wrapper {
        width: calc(100vw - var(--sp-4));
    }
    .uf-header {
        padding: calc(var(--app-em)*1) calc(var(--app-em)*1.25);
        font-size: var(--fs-ui);
    }
    .uf-content {
        padding: calc(var(--app-em)*1.25);
    }
    .uf-field {
        margin-bottom: var(--sp-3);
    }
}

/* --- Reduced motion --- */
@media (prefers-reduced-motion: reduce) {
    .uf-btn:hover { transform: none; }
    .uf-wrapper .mfp-close:hover { transform: none; }
    .uf-inline-loading::before { animation-duration: .5s; }
}

/*! =========================================================================
   Magnific Popup CSS */
/*! ========================================================================= */
.mfp-bg {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1042;
	overflow: hidden;
	position: fixed;
	background: #0b0b0b;
	opacity: .8;
	filter: alpha(opacity=80);
}

.mfp-wrap {
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1043;
	position: fixed;
	outline: none !important;
	-webkit-backface-visibility: hidden;
}

.mfp-container {
	text-align: center;
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	padding: 0 8px;
	box-sizing: border-box;
}

.mfp-container:before {
	content: "";
	display: inline-block;
	height: 100%;
	vertical-align: middle;
}

.mfp-align-top .mfp-container:before {
	display: none;
}

.mfp-content {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: 0 auto;
	text-align: left;
	z-index: 1045;
}

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
	width: 100%;
	cursor: auto;
}

.mfp-ajax-cur {
	cursor: progress;
}

.mfp-zoom-out-cur,
.mfp-zoom-out-cur .mfp-image-holder .mfp-close {
	cursor: zoom-out;
}

.mfp-zoom {
	cursor: pointer;
	cursor: zoom-in;
}

.mfp-auto-cursor .mfp-content {
	cursor: auto;
}

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
	-webkit-user-select: none;
	user-select: none;
}

.mfp-loading.mfp-figure {
	display: none;
}

.mfp-hide {
	display: none !important;
}

.mfp-preloader {
	color: #ccc;
	position: absolute;
	top: 50%;
	width: auto;
	text-align: center;
	margin-top: -.8em;
	left: 8px;
	right: 8px;
	z-index: 1044;
}

.mfp-preloader a {
	color: #ccc;
}

.mfp-preloader a:hover {
	color: #fff;
}

.mfp-s-ready .mfp-preloader {
	display: none;
}

.mfp-s-error .mfp-content {
	display: none;
}

button.mfp-close,
button.mfp-arrow {
	overflow: visible;
	cursor: pointer;
	background: transparent;
	border: 0;
	-webkit-appearance: none;
	display: block;
	outline: none;
	padding: 0;
	z-index: 1046;
	box-shadow: none;
}

.mfp-close {
	width: 40px;
	height: 40px;
	line-height: 40px;
	position: absolute;
	right: 0;
	top: 5px;
	text-decoration: none;
	text-align: center;
	opacity: .65;
	filter: alpha(opacity=65);
	color: #fff;
	font-style: normal;
	font-size: 28px;
	font-family: Arial, Baskerville, monospace;
	cursor: pointer;
}

.mfp-close:hover,
.mfp-close:focus {
	opacity: 1;
	filter: alpha(opacity=100);
}

.mfp-close-btn-in .mfp-close {
	color: #fff;
}

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
	color: #fff;
	right: -6px;
	text-align: right;
	padding-right: 6px;
	width: 100%;
}

.mfp-counter {
	position: absolute;
	top: 0;
	right: 0;
	color: #ccc;
	font-size: 12px;
	line-height: 18px;
	white-space: nowrap;
}

.mfp-arrow {
	position: absolute;
	opacity: .65;
	filter: alpha(opacity=65);
	margin: 0;
	top: 50%;
	margin-top: -55px;
	padding: 0;
	width: 90px;
	height: 110px;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.mfp-arrow:active {
	margin-top: -54px;
}

.mfp-arrow:hover,
.mfp-arrow:focus {
	opacity: 1;
	filter: alpha(opacity=100);
}

.mfp-arrow:before,
.mfp-arrow:after,
.mfp-arrow .mfp-b,
.mfp-arrow .mfp-a {
	content: "";
	display: block;
	width: 0;
	height: 0;
	position: absolute;
	left: 0;
	top: 0;
	margin-top: 35px;
	margin-left: 35px;
	border: medium inset transparent;
}

.mfp-arrow:after,
.mfp-arrow .mfp-a {
	border-top-width: 13px;
	border-bottom-width: 13px;
	top: 8px;
}

.mfp-arrow:before,
.mfp-arrow .mfp-b {
	border-top-width: 21px;
	border-bottom-width: 21px;
	opacity: .7;
}

.mfp-arrow-left {
	left: 0;
}

.mfp-arrow-left:after,
.mfp-arrow-left .mfp-a {
	border-right: 17px solid #fff;
	margin-left: 31px;
}

.mfp-arrow-left:before,
.mfp-arrow-left .mfp-b {
	margin-left: 25px;
	border-right: 27px solid #3f3f3f;
}

.mfp-arrow-right {
	right: 0;
}

.mfp-arrow-right:after,
.mfp-arrow-right .mfp-a {
	border-left: 17px solid #fff;
	margin-left: 39px;
}

.mfp-arrow-right:before,
.mfp-arrow-right .mfp-b {
	border-left: 27px solid #3f3f3f;
}

.mfp-iframe-holder {
	padding-top: 40px;
	padding-bottom: 40px;
}

.mfp-iframe-holder .mfp-content {
	line-height: 0;
	width: 100%;
	max-width: 900px;
}

.mfp-iframe-holder .mfp-close {
	top: -40px;
}

.mfp-iframe-scaler {
	width: 100%;
	height: 0;
	overflow: hidden;
	padding-top: 56.25%;
}

.mfp-iframe-scaler iframe {
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #000;
}

/* Main image in popup */
img.mfp-img {
	width: auto;
	max-width: 100%;
	height: auto;
	display: block;
	line-height: 0;
	box-sizing: border-box;
	padding: 40px 0 40px;
	margin: 0 auto;
}

/* The shadow behind the image */
.mfp-figure {
	line-height: 0;
}

.mfp-figure:after {
	content: "";
	position: absolute;
	left: 0;
	top: 40px;
	bottom: 40px;
	display: block;
	right: 0;
	width: auto;
	height: auto;
	z-index: -1;
	box-shadow: 0 0 8px rgba(0, 0, 0, .6);
	background: #444;
}

.mfp-figure small {
	color: #bdbdbd;
	display: block;
	font-size: 12px;
	line-height: 14px;
}

.mfp-figure figure {
	margin: 0;
}

.mfp-bottom-bar {
	margin-top: -36px;
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	cursor: auto;
}

.mfp-title {
	text-align: left;
	line-height: 18px;
	color: #f3f3f3;
	word-wrap: break-word;
	padding-right: 36px;
}

.mfp-image-holder .mfp-content {
	max-width: 100%;
}

.mfp-gallery .mfp-image-holder .mfp-figure {
	cursor: pointer;
}

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
	/**
	   * Remove all paddings around the image on small screen
	   */
	.mfp-img-mobile .mfp-image-holder {
		padding-left: 0;
		padding-right: 0;
	}

	.mfp-img-mobile img.mfp-img {
		padding: 0;
	}

	.mfp-img-mobile .mfp-figure:after {
		top: 0;
		bottom: 0;
	}

	.mfp-img-mobile .mfp-figure small {
		display: inline;
		margin-left: 5px;
	}

	.mfp-img-mobile .mfp-bottom-bar {
		background: rgba(0, 0, 0, .6);
		bottom: 0;
		margin: 0;
		top: auto;
		padding: 3px 5px;
		position: fixed;
		box-sizing: border-box;
	}

	.mfp-img-mobile .mfp-bottom-bar:empty {
		padding: 0;
	}

	.mfp-img-mobile .mfp-counter {
		right: 5px;
		top: 3px;
	}

	.mfp-img-mobile .mfp-close {
		top: 0;
		right: 0;
		width: 35px;
		height: 35px;
		line-height: 35px;
		background: rgba(0, 0, 0, .6);
		position: fixed;
		text-align: center;
		padding: 0;
	}
}

@media all and (max-width: 900px) {
	.mfp-arrow {
		transform: scale(.75);
	}

	.mfp-arrow-left {
		transform-origin: 0;
	}

	.mfp-arrow-right {
		transform-origin: 100%;
	}

	.mfp-container {
		padding-left: 6px;
		padding-right: 6px;
	}
}

.mfp-ie7 .mfp-img {
	padding: 0;
}

.mfp-ie7 .mfp-bottom-bar {
	width: 600px;
	left: 50%;
	margin-left: -300px;
	margin-top: 5px;
	padding-bottom: 5px;
}

.mfp-ie7 .mfp-container {
	padding: 0;
}

.mfp-ie7 .mfp-content {
	padding-top: 44px;
}

.mfp-ie7 .mfp-close {
	top: 0;
	right: 0;
	padding-top: 0;
}


/*!
 * Ladda
 * http://lab.hakim.se/ladda
 * MIT licensed
 *
 * Copyright (C) 2016 Hakim El Hattab, http://hakim.se
 */
.ladda-button {
	position: relative
}

.ladda-button .ladda-spinner {
	position: absolute;
	z-index: 2;
	display: inline-block;
	width: 32px;
	height: 32px;
	top: 50%;
	margin-top: 0;
	opacity: 0;
	pointer-events: none
}

.ladda-button .ladda-label {
	position: relative;
	z-index: 3
}

.ladda-button .ladda-progress {
	position: absolute;
	width: 0;
	height: 100%;
	left: 0;
	top: 0;
	background: rgba(0, 0, 0, 0.2);
	visibility: hidden;
	opacity: 0;
	transition: 0.1s linear all !important
}

.ladda-button[data-loading] .ladda-progress {
	opacity: 1;
	visibility: visible
}

.ladda-button, .ladda-button .ladda-spinner, .ladda-button .ladda-label {
	transition: 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) all !important
}

.ladda-button[data-style=zoom-in], .ladda-button[data-style=zoom-in] .ladda-spinner, .ladda-button[data-style=zoom-in] .ladda-label, .ladda-button[data-style=zoom-out], .ladda-button[data-style=zoom-out] .ladda-spinner, .ladda-button[data-style=zoom-out] .ladda-label {
	transition: 0.3s ease all !important
}

.ladda-button[data-style=expand-right] .ladda-spinner {
	right: -6px
}

.ladda-button[data-style=expand-right][data-size="s"] .ladda-spinner, .ladda-button[data-style=expand-right][data-size="xs"] .ladda-spinner {
	right: -12px
}

.ladda-button[data-style=expand-right][data-loading] {
	padding-right: 56px
}

.ladda-button[data-style=expand-right][data-loading] .ladda-spinner {
	opacity: 1
}

.ladda-button[data-style=expand-right][data-loading][data-size="s"], .ladda-button[data-style=expand-right][data-loading][data-size="xs"] {
	padding-right: 40px
}

.ladda-button[data-style=expand-left] .ladda-spinner {
	left: 26px
}

.ladda-button[data-style=expand-left][data-size="s"] .ladda-spinner, .ladda-button[data-style=expand-left][data-size="xs"] .ladda-spinner {
	left: 4px
}

.ladda-button[data-style=expand-left][data-loading] {
	padding-left: 56px
}

.ladda-button[data-style=expand-left][data-loading] .ladda-spinner {
	opacity: 1
}

.ladda-button[data-style=expand-left][data-loading][data-size="s"], .ladda-button[data-style=expand-left][data-loading][data-size="xs"] {
	padding-left: 40px
}

.ladda-button[data-style=expand-up] {
	overflow: hidden
}

.ladda-button[data-style=expand-up] .ladda-spinner {
	top: -32px;
	left: 50%;
	margin-left: 0
}

.ladda-button[data-style=expand-up][data-loading] {
	padding-top: 54px
}

.ladda-button[data-style=expand-up][data-loading] .ladda-spinner {
	opacity: 1;
	top: 26px;
	margin-top: 0
}

.ladda-button[data-style=expand-up][data-loading][data-size="s"], .ladda-button[data-style=expand-up][data-loading][data-size="xs"] {
	padding-top: 32px
}

.ladda-button[data-style=expand-up][data-loading][data-size="s"] .ladda-spinner, .ladda-button[data-style=expand-up][data-loading][data-size="xs"] .ladda-spinner {
	top: 4px
}

.ladda-button[data-style=expand-down] {
	overflow: hidden
}

.ladda-button[data-style=expand-down] .ladda-spinner {
	top: 62px;
	left: 50%;
	margin-left: 0
}

.ladda-button[data-style=expand-down][data-size="s"] .ladda-spinner, .ladda-button[data-style=expand-down][data-size="xs"] .ladda-spinner {
	top: 40px
}

.ladda-button[data-style=expand-down][data-loading] {
	padding-bottom: 54px
}

.ladda-button[data-style=expand-down][data-loading] .ladda-spinner {
	opacity: 1
}

.ladda-button[data-style=expand-down][data-loading][data-size="s"], .ladda-button[data-style=expand-down][data-loading][data-size="xs"] {
	padding-bottom: 32px
}

.ladda-button[data-style=slide-left] {
	overflow: hidden
}

.ladda-button[data-style=slide-left] .ladda-label {
	position: relative
}

.ladda-button[data-style=slide-left] .ladda-spinner {
	left: 100%;
	margin-left: 0
}

.ladda-button[data-style=slide-left][data-loading] .ladda-label {
	opacity: 0;
	left: -100%
}

.ladda-button[data-style=slide-left][data-loading] .ladda-spinner {
	opacity: 1;
	left: 50%
}

.ladda-button[data-style=slide-right] {
	overflow: hidden
}

.ladda-button[data-style=slide-right] .ladda-label {
	position: relative
}

.ladda-button[data-style=slide-right] .ladda-spinner {
	right: 100%;
	margin-left: 0;
	left: 16px
}

.ladda-button[data-style=slide-right][data-loading] .ladda-label {
	opacity: 0;
	left: 100%
}

.ladda-button[data-style=slide-right][data-loading] .ladda-spinner {
	opacity: 1;
	left: 50%
}

.ladda-button[data-style=slide-up] {
	overflow: hidden
}

.ladda-button[data-style=slide-up] .ladda-label {
	position: relative
}

.ladda-button[data-style=slide-up] .ladda-spinner {
	left: 50%;
	margin-left: 0;
	margin-top: 1em
}

.ladda-button[data-style=slide-up][data-loading] .ladda-label {
	opacity: 0;
	top: -1em
}

.ladda-button[data-style=slide-up][data-loading] .ladda-spinner {
	opacity: 1;
	margin-top: 0
}

.ladda-button[data-style=slide-down] {
	overflow: hidden
}

.ladda-button[data-style=slide-down] .ladda-label {
	position: relative
}

.ladda-button[data-style=slide-down] .ladda-spinner {
	left: 50%;
	margin-left: 0;
	margin-top: -2em
}

.ladda-button[data-style=slide-down][data-loading] .ladda-label {
	opacity: 0;
	top: 1em
}

.ladda-button[data-style=slide-down][data-loading] .ladda-spinner {
	opacity: 1;
	margin-top: 0
}

.ladda-button[data-style=zoom-out] {
	overflow: hidden
}

.ladda-button[data-style=zoom-out] .ladda-spinner {
	left: 50%;
	margin-left: 32px;
	transform: scale(2.5)
}

.ladda-button[data-style=zoom-out] .ladda-label {
	position: relative;
	display: inline-block
}

.ladda-button[data-style=zoom-out][data-loading] .ladda-label {
	opacity: 0;
	transform: scale(0.5)
}

.ladda-button[data-style=zoom-out][data-loading] .ladda-spinner {
	opacity: 1;
	margin-left: 0;
	transform: none
}

.ladda-button[data-style=zoom-in] {
	overflow: hidden
}

.ladda-button[data-style=zoom-in] .ladda-spinner {
	left: 50%;
	margin-left: -16px;
	transform: scale(0.2)
}

.ladda-button[data-style=zoom-in] .ladda-label {
	position: relative;
	display: inline-block
}

.ladda-button[data-style=zoom-in][data-loading] .ladda-label {
	opacity: 0;
	transform: scale(2.2)
}

.ladda-button[data-style=zoom-in][data-loading] .ladda-spinner {
	opacity: 1;
	margin-left: 0;
	transform: none
}

.ladda-button[data-style=contract] {
	overflow: hidden;
	width: 100px
}

.ladda-button[data-style=contract] .ladda-spinner {
	left: 50%;
	margin-left: 0
}

.ladda-button[data-style=contract][data-loading] {
	border-radius: 50%;
	width: 52px
}

.ladda-button[data-style=contract][data-loading] .ladda-label {
	opacity: 0
}

.ladda-button[data-style=contract][data-loading] .ladda-spinner {
	opacity: 1
}

.ladda-button[data-style=contract-overlay] {
	overflow: hidden;
	width: 100px;
	box-shadow: 0px 0px 0px 2000px transparent
}

.ladda-button[data-style=contract-overlay] .ladda-spinner {
	left: 50%;
	margin-left: 0
}

.ladda-button[data-style=contract-overlay][data-loading] {
	border-radius: 50%;
	width: 52px;
	box-shadow: 0px 0px 0px 2000px rgba(0, 0, 0, 0.8)
}

.ladda-button[data-style=contract-overlay][data-loading] .ladda-label {
	opacity: 0
}

.ladda-button[data-style=contract-overlay][data-loading] .ladda-spinner {
	opacity: 1
}

