.popup2__tail {
    position: absolute;
    z-index: 1;

    width: 10px;
    height: 10px;
}

.popup2_direction_top-left .popup2__tail,
.popup2_direction_top-center .popup2__tail,
.popup2_direction_top-right .popup2__tail {
    transform: rotate(-45deg);
}

.popup2_direction_bottom-left .popup2__tail,
.popup2_direction_bottom-center .popup2__tail,
.popup2_direction_bottom-right .popup2__tail {
    transform: rotate(135deg);
}

.popup2_direction_left-top .popup2__tail,
.popup2_direction_left-center .popup2__tail,
.popup2_direction_left-bottom .popup2__tail {
    transform: rotate(-135deg);
}

.popup2_direction_right-top .popup2__tail,
.popup2_direction_right-center .popup2__tail,
.popup2_direction_right-bottom .popup2__tail {
    transform: rotate(45deg);
}

/**
 * Без important стили класса перебиваются inline-стилями
 */
.popup2 {
    position: absolute;
}

.popup2_outside_yes {
    top: -10000px !important;
    left: -10000px !important;

    display: block !important;
}

/*
 * 1. Предотвращает пропадание тени в iOS. https://st.yandex-team.ru/ISLCOMPONENTS-1710
 */

.popup2_theme_normal {
    visibility: hidden;

    box-sizing: border-box;
    margin: -9999px 0 0 -9999px;

    border: 1px solid rgba(0,0,0,.06);

    animation-duration: .1s;
    animation-timing-function: ease-out;

    animation-fill-mode: forwards;
}

.popup2_theme_normal .popup2__tail:before {
    position: absolute;
    top: 1px;
    right: 1px;
    bottom: 0;
    left: 0;

    content: '';

    border: 1px solid transparent;
    border-bottom-color: rgba(0, 0, 0, .06);
    border-left-color: rgba(0, 0, 0, .06);
}

.popup2_theme_normal .popup2__tail:after {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 1px;
    left: 1px;

    content: '';

    background-image: linear-gradient(to top right, #fff 50%, transparent 50%);
}

.popup2_theme_normal:before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';

    border-radius: .1px; /*1*/
    background: #fff;
    box-shadow: 0 10px 20px -5px rgba(0,0,0,.4);
}

/* NOTE: ISL-5672 */
.popup2_theme_normal.popup2_visible_yes:before {
    z-index: -1;
}

.popup2_theme_normal.popup2_js_inited {
    display: block;
}

.popup2_theme_normal.popup2_visible_yes {
    visibility: visible;

    margin: 0;
}

.popup2_theme_normal.popup2_direction_bottom-left,
.popup2_theme_normal.popup2_direction_bottom-center,
.popup2_theme_normal.popup2_direction_bottom-right {
    animation-name: popup2_theme_normal_bottom;
}

.popup2_theme_normal.popup2_direction_bottom-left.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_bottom-center.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_bottom-right.popup2_visible_yes {
    animation-name: popup2_theme_normal_bottom_visible;
}

.popup2_theme_normal.popup2_direction_top-left,
.popup2_theme_normal.popup2_direction_top-center,
.popup2_theme_normal.popup2_direction_top-right {
    animation-name: popup2_theme_normal_top;
}

.popup2_theme_normal.popup2_direction_top-left.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_top-center.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_top-right.popup2_visible_yes {
    animation-name: popup2_theme_normal_top_visible;
}

.popup2_theme_normal.popup2_direction_right-top,
.popup2_theme_normal.popup2_direction_right-center,
.popup2_theme_normal.popup2_direction_right-bottom {
    animation-name: popup2_theme_normal_right;
}

.popup2_theme_normal.popup2_direction_right-top.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_right-center.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_right-bottom.popup2_visible_yes {
    animation-name: popup2_theme_normal_right_visible;
}

.popup2_theme_normal.popup2_direction_left-top,
.popup2_theme_normal.popup2_direction_left-center,
.popup2_theme_normal.popup2_direction_left-bottom {
    animation-name: popup2_theme_normal_left;
}

.popup2_theme_normal.popup2_direction_left-top.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_left-center.popup2_visible_yes,
.popup2_theme_normal.popup2_direction_left-bottom.popup2_visible_yes {
    animation-name: popup2_theme_normal_left_visible;
}

@keyframes popup2_theme_normal_bottom {
    0% {
        visibility: visible;

        margin: 0;

        opacity: 1;

        transform: translateY(0);
    }
    99% {
        margin: 0;

        transform: translateY(10px);
    }
    100% {
        visibility: hidden;

        margin: -9999px 0 0 -9999px;

        opacity: 0;
    }
}
@keyframes popup2_theme_normal_bottom_visible {
    0% {
        opacity: 0;

        transform: translateY(10px);
    }
    100% {
        opacity: 1;

        transform: translateY(0);
    }
}
@keyframes popup2_theme_normal_top {
    0% {
        visibility: visible;

        margin: 0;

        opacity: 1;

        transform: translateY(0);
    }
    99% {
        margin: 0;

        transform: translateY(-10px);
    }
    100% {
        visibility: hidden;

        margin: -9999px 0 0 -9999px;

        opacity: 0;
    }
}
@keyframes popup2_theme_normal_top_visible {
    0% {
        opacity: 0;

        transform: translateY(-10px);
    }
    100% {
        opacity: 1;

        transform: translateY(0);
    }
}
@keyframes popup2_theme_normal_right {
    0% {
        visibility: visible;

        margin: 0;

        opacity: 1;

        transform: translateX(0);
    }
    99% {
        margin: 0;

        transform: translateX(10px);
    }
    100% {
        visibility: hidden;

        margin: -9999px 0 0 -9999px;

        opacity: 0;
    }
}
@keyframes popup2_theme_normal_right_visible {
    0% {
        opacity: 0;

        transform: translateX(10px);
    }
    100% {
        opacity: 1;

        transform: translateX(0);
    }
}
@keyframes popup2_theme_normal_left {
    0% {
        visibility: visible;

        margin: 0;

        opacity: 1;

        transform: translateX(0);
    }
    99% {
        margin: 0;

        transform: translateX(-10px);
    }
    100% {
        visibility: hidden;

        margin: -9999px 0 0 -9999px;

        opacity: 0;
    }
}
@keyframes popup2_theme_normal_left_visible {
    0% {
        opacity: 0;

        transform: translateX(-10px);
    }
    100% {
        opacity: 1;

        transform: translateX(0);
    }
}

/*
 * 1. В мобильном сафари есть неприятный bug, связанный с -webkit-overflow-scrolling: touch. Дело в том, что при
 * применении этого свойства, вложенный контент может просто пропадать, это решается включением аппаратного
 * рендеринга, что и сделано. Подробнее http://cantina.co/thought_leadership/ios-5-native-scrolling-grins-and-gothcas/
 * 2. Усиливаем селектор, т.к. modal является миксом для popup из-за этого стили могут приезжать не в правильном порядке.
 */

.modal[class] { /* 2 */
    position: fixed;
    top: 0;
    left: 0;

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    width: 100%;
    height: 100%;

    -webkit-tap-highlight-color: rgba(0,0,0,0);
}

.modal__table {
    display: table;

    width: 100%;
    height: 100%;

    text-align: center;
}

.modal__cell {
    display: table-cell;

    vertical-align: middle;
}

.modal__content {
    display: inline-block;

    text-align: left;

    -webkit-transform: translate3d(0,0,0); /*1*/
}

/* Анимация открытия/закрытия реализована только на desktop из соображений производительности. */

.modal_theme_normal {
    display: none;

    background: rgba(50, 50, 50, .2);
}

.modal_theme_normal.modal_visible_yes {
    display: block;
}

.modal_theme_normal .modal__content {
    margin: 5px;

    background: #fff;
}

/*
 * 1-3. Если показывать модальное окно без анимации - то все просто, можно использовать display: none/block. К сожалению,
 *  менять display во время анимации нельзя, поэтому в любом состоянии после инициализации модальное окно
 *  имеет display: block [2]. А скрываем его унося за пределы документа с помощью отрицательных margin [1], которые
 *  можно убрать при открытии модального окна и выставить заново в самый последний момент анимации перед закрытием [3].
 *  Так же для скрытия используется visibility:hidden, но это больше из соображений a11y. Использовать только visibility
 *  без margin нельзя, т.к. оно наследуется и обрабатывается для каждого элемента отдельно, т.е. если любой из вложенных
 *  в модальное окно элементов будет иметь visibility:visible, то он будет виден даже в скрытом модальном окне.
 *
 * 4. .modal_has-animation_yes выставляется в момент первого открытия модального окна. Если применять анимацию без этого
 *  модификатора, то она будет проиграна сразу при первой же инициализации блока, когда он получит display: block.
 *  В popup2 роль такого модификатора играет _direction, который так же выставляется при при первом открытии и
 *  и на который применяется анимация.
 */

.modal_theme_normal {
    visibility: hidden;

    margin: -9999px 0 0 -9999px; /*1*/
}

.modal_theme_normal.modal_js_inited {
    display: block; /*2*/
}

.modal_theme_normal.modal_visible_yes {
    visibility: visible;

    margin: 0;
}

.modal_theme_normal,
.modal_theme_normal .modal__content {
    animation-duration: .2s;
    animation-timing-function: ease-in-out;
}

.modal_theme_normal.modal_has-animation_yes /*4*/ {
    animation-name: modal_theme_normal;
}

.modal_theme_normal.modal_has-animation_yes .modal__content /*4*/ {
    animation-name: modal_theme_normal__content;
}

.modal_theme_normal.modal_visible_yes.modal_has-animation_yes {
    animation-name: modal_theme_normal_visible;
}

.modal_theme_normal.modal_visible_yes.modal_has-animation_yes .modal__content {
    animation-name: modal_theme_normal_visible__content;
}

@keyframes modal_theme_normal {
    0% {
        visibility: visible;

        margin: 0;

        opacity: 1;
    }
    99% {
        margin: 0;
    }
    100% {
        visibility: hidden;

        margin: -9999px 0 0 -9999px; /*3*/

        opacity: 0;
    }
}

@keyframes modal_theme_normal_visible {
    0% {
        opacity: 0;
    }
    100% {
        opacity: 1;
    }
}

@keyframes modal_theme_normal__content {
    0% {
        transform: scale(1);
    }
    100% {
        transform: scale(1.5);
    }
}

@keyframes modal_theme_normal_visible__content {
    0% {
        transform: scale(.75);
    }
    100% {
        transform: scale(1);
    }
}

.icon {
    display: inline-block;

    background-repeat: no-repeat;
    background-position: 50%;
}

/**
 * Для правильного позиционирования относительно baseline.
 * Плюс высота блока начинает определяться по унаследованному line-height.
 */
.icon:after {
    visibility: hidden;

    content: '\00A0';
}

/**
 * 1. В IE9+ с помощью position:relative у <button> лечится супер эффект "нажимания".
 *    Подробнее: http://stackoverflow.com/questions/6744406;
 * 2. В IE8 нужно, чтобы элемент приобрел "layout" и применялись фильтры прозрачности.
 *    Сделано на common для однообразности.
 * 3. Если не прибить resize в Safari 8 у __text появляется "уголочек".
 *    http://jing.yandex-team.ru/files/karamadjong/2015-03-18_1319.png
 * 4. Устраняет проблему с mouseover/mouseout внутри кнопки.
 */
.button2__text {
    position: relative; /*1*/

    display: inline-block; /*2*/

    resize: none; /*3*/
    white-space: nowrap;
    pointer-events: none; /*4*/
}

/**
 * 1. Устраняет проблему с mouseover/mouseout внутри кнопки.
 * 2. В IE9+ с помощью position:relative у <button> лечится супер эффект "нажимания".
 *    Подробнее: http://stackoverflow.com/questions/6744406.
 * 3. Селектор усиливается, чтобы перебить position: relative у icon_type_glyph.
 */
.button2 .button2__icon {
    position: relative; /*2*/

    pointer-events: none; /*1*/
}

.button2 .button2__icon_side_left {
    position: absolute;
    top: 0;
    left: 0;
}

.button2 .button2__icon_side_right {
    position: absolute;
    top: 0;
    right: 0;
}

.button2__control {
    display: none;
}

/**
 * 1. Значения padding и margin каждый браузер выставляет по-своему – сбрасываем в ноль.
 * 2. Не должно быть возможности выделить контент кнопки, в т.ч. кнопки-ссылки.
 * 3. У содержимого кнопок-ссылок не должно быть подчеркивания.
 * 4. Кнопка не предполагает многострочного содержимого.
 * 5. Чтобы FF под MacOS не делал blur после программного выставления фокуса по mousedown.
 *    Подробности: http://jsfiddle.net/mishaberezin/892yppts/10/.
 * 6. Для кнопок-ссылок.
 * 7. Убираем нативную подсветку на iOS и Android.
 * 8. В IE по дефолту hidden, в остальных браузерах visible, требуется нормализация.
 *    В пользу visible, т.к. мы используем тень для отображения фокуса.
 * 9. Такой сброс стилей нужен для всех тем.
 * 10. Сбрасываем браузерные стили для кнопок, в особенности для link.
 */
.button2 {
    display: inline-block; /*6*/
    overflow: visible; /*8*/

    box-sizing: border-box;
    margin: 0; /*1*/
    padding: 0; /*1*/

    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    -moz-user-focus: ignore; /*5*/
    user-select: none; /*2*/
    text-align: center; /*10*/
    white-space: nowrap; /*4*/
    text-decoration: none; /*3*/

    background: transparent; /*9*/
    -webkit-tap-highlight-color: rgba(0,0,0,0); /*7*/

    touch-action: manipulation;
}

/**
 * Кнопка не должна реагировать на события мыши, если имеет атрибут disabled.
 * Нативная поддержка атрибута disabled для ссылок есть только в IE.
 * В других браузерах схожее поведение дает свойство pointer-events:none.
 *
 * NB:
 * - Фикс не избавляет от необходимости удалять ссылку из taborder.
 */
.button2[aria-disabled="true"],
.button2_disabled_yes {
    pointer-events: none;
}

/**
 * В FF 4+ у содержимого кнопки есть внутренняя обводка, которая используется для
 * индикации фокуса на кнопках с измененными css-свойствами border или background.
 * Обводка влияет на размеры, для нормализации с другими браузерами ее нужно убрать.
 * Подробности: http://stackoverflow.com/questions/8859908.
 */
.button2::-moz-focus-inner {
    padding: 0;

    border: 0;
}

.button2:before {
    position: absolute;
    z-index: -1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    content: '';
}

.button2 {
    cursor: pointer;
}

.button2[aria-disabled="true"],
.button2_disabled_yes {
    cursor: default;
}

.button2_view_default.button2_action_yes.button2_progress_yes,
.button2_view_default.button2_action_yes.button2_disabled_yes .button2__text,
.button2_view_default.button2_action_yes.button2_disabled_yes .button2__icon {
    opacity: 1;
}

.button2_view_default.button2_action_yes.button2_progress_yes:before {
    animation-name: button2-action-progress;
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

@keyframes button2-action-progress {
    0% {
        background-position: -12px 0;
    }
    100% {
        background-position: 0 0;
    }
}

/*
/ TODO https://st.yandex-team.ru/ISL-5465
/ Временный модификатор для выравнивания по базовой линии, будет внедрено в следующем мажоре
*/

.button2_baseline_yes.button2_width_auto .button2__text {
    /*https://st.yandex-team.ru/ISL-5076
    Фикс для firefox - при добавлении свойства overflow: hidden, у элемента перестает работать baseline*/
    overflow: -moz-hidden-unscrollable;
}

.button2_baseline_yes.button2_width_max .button2__text {
    /*https://st.yandex-team.ru/ISL-5076
    Фикс для firefox - при добавлении свойства overflow: hidden, у элемента перестает работать baseline*/
    overflow: -moz-hidden-unscrollable;
}

.button2.button2_pale_yes .button2__text,
.button2.button2_pale_yes .button2__icon {
    opacity: .2;
}

.button2.button2.button2_pin_brick-brick:before {
    border-radius: 0;
}

.button2.button2.button2_pin_brick-circle:before {
    border-top-left-radius: 0;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-bottom-left-radius: 0;
}

.button2.button2.button2_pin_brick-clear:before {
    border-right-width: 0;
    border-radius: 0;
}

.button2.button2.button2_pin_brick-round:before {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.button2.button2.button2_pin_circle-brick:before {
    border-top-left-radius: 100px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 100px;
}

.button2.button2.button2_pin_circle-circle:before {
    border-radius: 100px;
}

.button2.button2.button2_pin_circle-clear:before {
    border-right-width: 0;

    border-top-left-radius: 100px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 100px;
}

.button2.button2.button2_pin_clear-brick:before {
    border-left-width: 0;
    border-radius: 0;
}

.button2.button2.button2_pin_clear-circle:before {
    border-left-width: 0;

    border-top-left-radius: 0;
    border-top-right-radius: 100px;
    border-bottom-right-radius: 100px;
    border-bottom-left-radius: 0;
}

.button2.button2.button2_pin_clear-clear:before {
    border-right-width: 0;
    border-left-width: 0;
    border-radius: 0;
}

.button2.button2.button2_pin_clear-round:before {
    border-left-width: 0;
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
}

.button2.button2.button2_pin_round-brick:before {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.button2.button2.button2_pin_round-clear:before {
    border-right-width: 0;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

/* TODO: https://st.yandex-team.ru/ISL-2547 (2) */

.button2_size_head {
    font-size: 13px;
    line-height: 36px;
}

.button2_size_head .button2__text {
    margin: 0 13px;
}

.button2_size_head .button2__icon {
    width: 36px;
}

.button2_size_head .button2__icon_side_left ~ .button2__text {
    margin-left: 33px;
}

.button2_size_head .button2__icon_side_right ~ .button2__text {
    margin-right: 33px;
}

.button2_size_l {
    height: 38px;

    font-size: 18px;
    line-height: 38px;
}

.button2_size_l .button2__text {
    margin: 0 18px;
}

.button2_size_l .button2__icon {
    width: 38px;
}

.button2_size_l .button2__icon.icon_type_arrow {
    width: 38px;
}

.button2_size_l .button2__icon_side_left ~ .button2__text {
    margin-left: 35px;
}

.button2_size_l .button2__icon_side_right ~ .button2__text {
    margin-right: 35px;
}

.button2_size_m {
    height: 32px;

    font-size: 15px;
    line-height: 32px;
}

.button2_size_m .button2__text {
    margin: 0 15px;
}

.button2_size_m .button2__icon {
    width: 32px;
}

.button2_size_m .button2__icon.icon_type_arrow {
    width: 35px;
}

.button2_size_m .button2__icon_side_left ~ .button2__text {
    margin-left: 29px;
}

.button2_size_m .button2__icon_side_right ~ .button2__text {
    margin-right: 29px;
}

.button2_size_n {
    height: 36px;

    font-size: 13px;
    line-height: 36px;
}

.button2_size_n .button2__text {
    margin: 0 20px;
}

.button2_size_n .button2__icon {
    width: 36px;
}

.button2_size_n .button2__icon.icon_type_arrow {
    width: 39px;
}

.button2_size_n .button2__icon_side_left ~ .button2__text {
    margin-left: 33px;
}

.button2_size_n .button2__icon_side_right ~ .button2__text {
    margin-right: 33px;
}

.button2_size_ns {
    height: 24px;

    font-size: 11px;
    line-height: 24px;
}

.button2_size_ns .button2__text {
    margin: 0 13px;
}

.button2_size_ns .button2__icon {
    width: 24px;
}

.button2_size_ns .button2__icon.icon_type_arrow {
    width: 27px;
}

.button2_size_ns .button2__icon_side_left ~ .button2__text {
    margin-left: 22px;
}

.button2_size_ns .button2__icon_side_right ~ .button2__text {
    margin-right: 22px;
}

.button2_size_s {
    height: 28px;

    font-size: 13px;
    line-height: 28px;
}

.button2_size_s .button2__text {
    margin: 0 13px;
}

.button2_size_s .button2__icon {
    width: 28px;
}

.button2_size_s .button2__icon.icon_type_arrow {
    width: 31px;
}

.button2_size_s .button2__icon_side_left ~ .button2__text {
    margin-left: 25px;
}

.button2_size_s .button2__icon_side_right ~ .button2__text {
    margin-right: 25px;
}

.button2_size_xs {
    height: 24px;

    font-size: 13px;
    line-height: 24px;
}

.button2_size_xs .button2__text {
    margin: 0 10px;
}

.button2_size_xs .button2__icon {
    width: 24px;
}

.button2_size_xs .button2__icon.icon_type_arrow {
    width: 27px;
}

.button2_size_xs .button2__icon_side_left ~ .button2__text {
    margin-left: 22px;
}

.button2_size_xs .button2__icon_side_right ~ .button2__text {
    margin-right: 22px;
}

.button2_theme_action {
    position: relative;
    z-index: 0;

    color: #000;
    border: none;
    outline: none;
}

.button2_view_classic.button2_theme_action:before {
    border-radius: 3px;
    background-color: #ffdb4d;
}

.button2_view_classic.button2.button2_theme_action:not([aria-disabled="true"]):active:before,
.button2_view_classic.button2.button2_theme_action.button2_pressed_yes[class]:before {
    background-color: #fc0;
}

.button2_view_classic.button2_theme_action[aria-disabled="true"]:before,
.button2_view_classic.button2_theme_action.button2_disabled_yes:before {
    background-color: rgba(0,0,0,.08);
}

.button2_theme_action[aria-disabled="true"] .button2__text,
.button2_theme_action[aria-disabled="true"] .button2__icon,
.button2_theme_action.button2_disabled_yes .button2__text,
.button2_theme_action.button2_disabled_yes .button2__icon {
    opacity: .5;
}

.button2_view_classic.button2_theme_action.button2_progress_yes:before {
    background-color: #ffd426;
    background-image: repeating-linear-gradient(-45deg, #ffd426, #ffd426 4px, #f7c600 4px, #f7c600 8px);
    background-size: 34px 34px; /* 34 ~= Math.sqrt(8² + 8²) * 3times = 33.941125496954285 */
}

.button2.button2_theme_action.button2_progress_yes .button2__text,
.button2.button2_theme_action.button2_progress_yes .button2__icon {
    opacity: 1;
}

@keyframes button2-progress {
    0% {
        background-position: -12px 0;
    }
    100% {
        background-position: 0 0;
    }
}

.button2.button2_theme_action.button2_progress_yes:before {
    animation-name: button2-progress;
    animation-duration: 0.5s;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
}

.button2_view_classic.button2_theme_action:before {
    transition: background-color .1s ease-out 0s;
}

.button2_view_classic.button2_theme_action:not([aria-disabled="true"]):hover:before,
.button2_view_classic.button2_theme_action.button2_hovered_yes:before {
    background-color: #ffd633;
}

.utilityfocus .button2_view_classic.button2_theme_action:not([aria-disabled="true"]):focus:before,
.utilityfocus .button2_view_classic.button2_theme_action.button2_focused_yes:before {
    animation: button2-action-focus 1s infinite linear;
}

@keyframes button2-action-focus {
    from,
    to {
        background-color: #fc0;
    }
    40%,
    60% {
        background-color: #ffe066;
    }
}

.button2_theme_clear {
    position: relative;
    z-index: 0;

    color: #000;
    border: none;
    outline: none;
}

.button2_view_classic.button2_theme_clear:before {
    border-radius: 3px;
}

.button2_theme_clear .button2__text,
.button2_theme_clear .button2__icon {
    opacity: .3;
}

.button2.button2_theme_clear.button2_checked_yes:not([aria-disabled="true"]) .button2__text,
.button2.button2_theme_clear.button2_checked_yes:not([aria-disabled="true"]) .button2__icon,
.button2.button2_theme_clear.button2_checked_yes:not(.button2_disabled_yes) .button2__text,
.button2.button2_theme_clear.button2_checked_yes:not(.button2_disabled_yes) .button2__icon {
    opacity: .8;
}

.utilityfocus .button2_view_classic.button2_theme_clear:focus:before,
.utilityfocus .button2_view_classic.button2_theme_clear.button2_focused_yes[class]:before {
    border: 2px solid #ffdb4d;
}

.button2_view_classic.button2_theme_clear.button2_checked_yes:not([aria-disabled="true"]):active:before,
.button2_view_classic.button2_theme_clear.button2_checked_yes.button2_pressed_yes:before {
    background-color: transparent;
}

.button2_view_classic.button2_theme_clear[aria-disabled="true"]:before,
.button2_view_classic.button2_theme_clear.button2_disabled_yes:before {
    background-color: rgba(0,0,0,.08);
}

.button2_view_classic.button2_theme_clear[aria-disabled="true"].button2_checked_yes:before,
.button2_view_classic.button2_theme_clear.button2_disabled_yes.button2_checked_yes:before {
    background-color: rgba(0,0,0,.15);
}

/**
 * Толщина рамки здесь не анимируется. В других темах это нужно чтобы избежать «скачка»,
 * когда граница толщиной в 1px превращается в желтую рамку фокуса толщиной 2px.
 * Здесь граница изначально нулевой толщины и анимация утолщения её до двух пикселей смотрится неуместно.
 */
.button2_view_classic.button2_theme_clear:before {
    transition: background-color .1s ease-out;
}

.button2_theme_clear .button2__text,
.button2_theme_clear .button2__icon {
    transition: opacity .1s ease-out;
}

.button2_theme_clear:not([aria-disabled="true"]):hover .button2__text,
.button2_theme_clear:not([aria-disabled="true"]):hover .button2__icon,
.button2_theme_clear.button2_hovered_yes .button2__text,
.button2_theme_clear.button2_hovered_yes .button2__icon {
    opacity: .8;
}

.button2_theme_link {
    position: relative;
    z-index: 0;

    color: #04B;
    border: none;
    outline: none;
    background: transparent;
}

/**
 * 1. Полупрозрачные границы должны накладываться на общий фон, а не на фон самой кнопки.
 * 2. Нельзя использовать border:none, т.к. в сочетании с анимированным border-color
 *    Chrome показывает черную рамку при переключении.
 *    Подробнее: http://jing.yandex-team.ru/files/karamadjong/2015-04-28_1218.swf?w=111&h=178
 * 3. Селектор удваивается, чтобы заменить html.utilityfocus
 */
.button2_theme_normal {
    position: relative;
    z-index: 0;

    color: #000;
    border: none;
    outline: none;
}

.button2_view_classic.button2_theme_normal:before {
    border: 1px solid;
    border-color: rgba(0,0,0,.2);
    border-radius: 3px;
    background-color: #fff;
    background-clip: padding-box; /*1*/
}

.utilityfocus.utilityfocus .button2_view_classic.button2_theme_normal[class]:focus:before,
.utilityfocus.utilityfocus .button2_view_classic.button2_theme_normal.button2_focused_yes[class]:before { /*3*/
    border-width: 2px;
    border-color: #ffdb4d;
}

.button2_view_classic.button2_theme_normal:not([aria-disabled="true"]):active:before,
.button2_view_classic.button2_theme_normal.button2_pressed_yes:before {
    background-color: #f3f1ed;
}

.button2_view_classic.button2_theme_normal.button2_checked_yes:before {
    border-color: rgba(153,122,0,.5);
    background-color: #ffeba0;
}

.button2_view_classic.button2_theme_normal.button2_checked_yes:not([aria-disabled="true"]):active:before,
.button2_view_classic.button2_theme_normal.button2_checked_yes.button2_pressed_yes:before {
    border-color: rgba(129,103,0,.6);
    background-color: #fee481;
}

.button2_view_classic.button2_theme_normal[aria-disabled="true"]:before,
.button2_view_classic.button2_theme_normal.button2_disabled_yes:before {
    border-color: rgba(0,0,0,.08); /*2*/
    background-color: rgba(0,0,0,.08);
}

.button2_view_classic.button2_theme_normal[aria-disabled="true"].button2_checked_yes:before,
.button2_view_classic.button2_theme_normal.button2_disabled_yes.button2_checked_yes:before {
    border-color: rgba(0,0,0,.15); /*2*/
    background-color: rgba(0,0,0,.15);
}

.button2_theme_normal[aria-disabled="true"] .button2__text,
.button2_theme_normal[aria-disabled="true"] .button2__icon,
.button2_theme_normal.button2_disabled_yes .button2__text,
.button2_theme_normal.button2_disabled_yes .button2__icon {
    opacity: .5;
}

/* border-width нужен для меняющейся толщины обводки при фокусе */
.button2_view_classic.button2_theme_normal:before {
    transition: .1s ease-out;
    transition-property: border-color, border-width, background-color;
}

.button2_view_classic.button2_theme_normal:not([aria-disabled="true"]):hover:before,
.button2_view_classic.button2_theme_normal.button2_hovered_yes:before {
    border-color: rgba(0,0,0,.3);
}

.button2_view_classic.button2_theme_normal.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2_view_classic.button2_theme_normal.button2_checked_yes.button2_hovered_yes:before {
    border-color: rgba(129,103,0,.6);
}

.button2_theme_pseudo {
    position: relative;
    z-index: 0;

    color: #000;
    border: none;
    outline: none;
}

/**
 * 1. Полупрозрачные границы должны накладываться на общий фон, а не на фон самой кнопки.
 * 2. Селектор удваивается, чтобы заменить html.utilityfocus
 */
.button2_view_classic.button2_theme_pseudo:before {
    border: 1px solid;
    border-color: rgba(0,0,0,.2);
    border-radius: 3px;
    background-color: transparent;
    background-clip: padding-box; /*1*/
}

.utilityfocus.utilityfocus .button2_view_classic.button2_theme_pseudo:focus[class]:before,
.utilityfocus.utilityfocus .button2_view_classic.button2_theme_pseudo.button2_focused_yes[class]:before { /*3*/
    border-width: 2px;
    border-color: #ffdb4d;
}

.button2_view_classic.button2_theme_pseudo:not([aria-disabled="true"]):active:before,
.button2_view_classic.button2_theme_pseudo.button2_pressed_yes:before {
    background-color: rgba(0,0,0,.05);
}

.button2_view_classic.button2_theme_pseudo.button2_checked_yes:before {
    border-color: rgba(153,122,0,.5);
    background-color: #ffeba0;
}

.button2_view_classic.button2_theme_pseudo.button2_checked_yes:not([aria-disabled="true"]):active:before,
.button2_view_classic.button2_theme_pseudo.button2_checked_yes.button2_pressed_yes:before {
    border-color: rgba(129,103,0,.6);
    background-color: #fee481;
}

/**
 * 1. Нельзя использовать border:none, т.к. в сочетании с анимированным border-color
 *    Chrome показывает черную рамку при переключении.
 *    Подробнее: http://jing.yandex-team.ru/files/karamadjong/2015-04-28_1218.swf?w=111&h=178
 */
.button2_view_classic.button2_theme_pseudo[aria-disabled="true"]:before,
.button2_view_classic.button2_theme_pseudo.button2_disabled_yes:before {
    border-color: rgba(0,0,0,.08);
    background-color: rgba(0,0,0,.08);
}

.button2_view_classic.button2_theme_pseudo[aria-disabled="true"].button2_checked_yes:before,
.button2_view_classic.button2_theme_pseudo.button2_disabled_yes.button2_checked_yes:before {
    border-color: rgba(0,0,0,.15);
    background-color: rgba(0,0,0,.15);
}

.button2_theme_pseudo[aria-disabled="true"] .button2__text,
.button2_theme_pseudo[aria-disabled="true"] .button2__icon,
.button2_theme_pseudo.button2_disabled_yes .button2__text,
.button2_theme_pseudo.button2_disabled_yes .button2__icon {
    opacity: .5;
}

/* border-width нужен для меняющейся толщины обводки при фокусе */
.button2_view_classic.button2_theme_pseudo:before {
    transition: .1s ease-out;
    transition-property: border-color, border-width, background-color;
}

.button2_view_classic.button2_theme_pseudo:not([aria-disabled="true"]):hover:before,
.button2_view_classic.button2_theme_pseudo.button2_hovered_yes:before {
    border-color: rgba(0,0,0,.3);
}

.button2_view_classic.button2_theme_pseudo.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2_view_classic.button2_theme_pseudo.button2_checked_yes.button2_hovered_yes:before {
    border-color: rgba(118,94,0,.65);
}

.button2_theme_raised {
    position: relative;
    z-index: 0;

    color: #000;
    border: none;
    outline: none;
    background: transparent;
}

.button2_theme_raised:before {
    background-color: #fff;
}

.button2_theme_raised:not([aria-disabled="true"]):hover:before,
.button2_theme_raised.button2_hovered_yes:before {
    background-color: #eee;
}

.button2_theme_raised[aria-disabled="true"],
.button2_theme_raised.button2_disabled_yes {
    opacity: 0.75;
}

.button2_theme_raised:before {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, .05),
        0 1px 0 1px rgba(0, 0, 0, .05),
        0 4px 6px 0 rgba(0, 0, 0, .05);
}

.button2_theme_raised:not([aria-disabled="true"]):active:before,
.button2_theme_raised.button2_pressed_yes:before {
    box-shadow: 0 1px 1px 0 rgba(0, 0, 0, .1),
        0 1px 1px 0 rgba(0, 0, 0, .1),
        0 1px 2px 0 rgba(0, 0, 0, .1);
}

.button2.button2_theme_websearch {
    overflow: hidden; /* Скрывает выступающие края уголка */

    width: 88px;

    font-family: Arial, sans-serif; /* Нужно для единообразия с Серпом */
    font-size: 16px;
    line-height: 36px;

    border: 0;
    outline: 0;
    background: none;
}

.button2.button2_theme_websearch:before {
    content: none;
}

.button2.button2_theme_websearch .button2__text {
    position: relative;

    display: block;

    margin-right: 9px;
    padding-left: 5px;

    color: #000;
    border: 0 solid #ffdb4d; /* В Opera 12 не анимируется :before. Анимируем элемент, а для :before ставим inherit */
    background-color: #ffdb4d;

    transition: .1s ease-out; /* TODO: https://st.yandex-team.ru/ISL-2547 (3) */
    transition-property: border-color, background;
}

/**
 * 1. Если установить псевдоэлемент у .button2_theme_websearch, уголок начинал прыгать при нажатии кнопки в IE8.
 * При отказе от поддержки IE8 переверстывать было дорого и бессмысленно.
 * 2. Если установить свойство `border-color: transparent;`, в старых Firefox у уголка появляется черная граница.
 *    `transparent` интерпретируется как «черный прозрачный». Если соседняя граница прямоугольника непрозрачная,
 *    то этот черный цвет становится видимым на стыке границ. Поэтому нужно делать «желтый прозрачный».
 * 3. Граница псевдоэлемента наследует цвет и transition.
 */
.button2.button2_theme_websearch .button2__text:before /* 1 */ {
    position: absolute;
    top: -4px;
    right: -9px;

    width: 0;
    height: 0;

    content: '';

    border-width: 22px 0 22px 11px; /* Уголок шире на 2px, чтобы не отрываться при изменении масштаба */
    border-style: solid;
    border-color: rgba(255, 219, 76, 0); /* 2 */
    border-left-color: inherit; /* 3 */
}

.button2.button2_theme_websearch:not([aria-disabled="true"]):hover .button2__text,
.button2.button2_theme_websearch.button2_hovered_yes .button2__text {
    border-color: #ffd633;
    background-color: #ffd633;
}

.button2.button2_theme_websearch:not([aria-disabled="true"]):active .button2__text,
.button2.button2_theme_websearch.button2_pressed_yes[class] .button2__text {
    border-color: #fc0;
    background-color: #fc0;
}

/*.button2_tone_default {
    --color-bg-base: #fff;

    --color-text: #000;
    --color-bg-control: #e6e6e6;
    --color-bg-control-hovered: #dbdbdb;

    --color-text-action: #000;
    --color-bg-action: #fc0;
    --color-bg-action-hovered: #f2c200;

    --color-bg-progress: #ffd426;
    --color-gradient-progress: #f7c600;

    --color-border-pseudo: rgba(0,0,0,.2);
    --color-bg-pseudo-hovered: rgba(0,0,0,.03);

    --color-text-link: #04b;
    --color-border-link: rgba(0,68,187,.6);
    --color-bg-link-hovered: rgba(0,68,187,.03);

    --color-text-disabled: #7f7f7f;
    --color-bg-disabled: #f2f2f2;

    --color-bg-checked: #555;
    --color-bg-checked-hovered: #515151;

    --color-bg-light: #fff;
    --color-bg-light-hovered: #f5f5f5;

    --color-border-focused: #b3b3b3;
    --color-border-action-focused: #b38f00;
    --color-border-checked-focused: #b3b3b3;
    --color-transparent: transparent;

    --color-text-checked-adaptive: #fff;
}*/

/*.button2_tone_red {
    --color-bg-base: #c62828;

    --color-text: #fff;
    --color-bg-control: #9e2020;
    --color-bg-control-hovered: #961e1e;

    --color-text-action: #c62828;
    --color-bg-action: #fff;
    --color-bg-action-hovered: #f2f2f2;

    --color-bg-progress: #fff;
    --color-gradient-progress: #e6e6e6;

    --color-border-pseudo: rgba(255,255,255,.2);
    --color-bg-pseudo-hovered: transparent;

    --color-text-link: #d4e4ff;
    --color-border-link: rgba(213,228,255,.6);
    --color-bg-link-hovered: transparent;

    --color-text-disabled: #e29393;
    --color-bg-disabled: #b22424;

    --color-bg-checked: #fff;
    --color-bg-checked-hovered: #f2f2f2;

    --color-bg-light: #d62b2b;
    --color-bg-light-hovered: #cd2323;

    --color-border-focused: #ff3838;
    --color-border-action-focused: #fff;
    --color-border-checked-focused: #ff3838;
    --color-transparent: transparent;

    --color-text-checked-adaptive: #c62828;
}*/

/*.button2_tone_grey {
    --color-bg-base: #f5f5f5;

    --color-text: #000;
    --color-bg-control: #ddd;
    --color-bg-control-hovered: #d2d2d2;

    --color-text-action: #f5f5f5;
    --color-bg-action: #2196f3;
    --color-bg-action-hovered: #1f8fe7;

    --color-bg-progress: #42a6f5;
    --color-gradient-progress: #2092ec;

    --color-border-pseudo: rgba(0,0,0,.2);
    --color-bg-pseudo-hovered: transparent;

    --color-text-link: #04b;
    --color-border-link: rgba(0,68,187,.6);
    --color-bg-link-hovered: transparent;

    --color-text-disabled: #7a7a7a;
    --color-bg-disabled: #e9e9e9;

    --color-bg-checked: #2196f3;
    --color-bg-checked-hovered: #1f8fe7;

    --color-bg-light: #fff;
    --color-bg-light-hovered: #eaeaea;

    --color-border-focused: #acacac;
    --color-border-action-focused: #1769aa;
    --color-border-checked-focused: #acacac;
    --color-transparent: transparent;

    --color-text-checked-adaptive: #f5f5f5;
}*/

/*.button2_tone_dark {
    --color-bg-base: #263238;

    --color-text: #eceff1;
    --color-bg-control: #435862;
    --color-bg-control-hovered: #40545d;

    --color-text-action: #263238;
    --color-bg-action: #eceff1;
    --color-bg-action-hovered: #e0e3e5;

    --color-bg-progress: #eff1f3;
    --color-gradient-progress: #d4d7d9;

    --color-border-pseudo: rgba(255,255,255,.2);
    --color-bg-pseudo-hovered: transparent;

    --color-text-link: #d4e4ff;
    --color-border-link: rgba(213,228,255,.6);
    --color-bg-link-hovered: transparent;

    --color-text-disabled: #899094;
    --color-bg-disabled: #303f46;

    --color-bg-checked: #eceff1;
    --color-bg-checked-hovered: #e0e3e5;

    --color-bg-light: #29363c;
    --color-bg-light-hovered: #364248;

    --color-border-focused: #7296a8;
    --color-border-action-focused: #fff;
    --color-border-checked-focused: #7296a8;
    --color-transparent: transparent;

    --color-text-checked-adaptive: #263238;
}*/

/*.button2_tone_market {
    --color-bg-base: #fff;

    --color-text: #000;
    --color-bg-control: #E6E6E6;
    --color-bg-control-hovered: #dbdbdb;

    --color-text-action: #000000;
    --color-bg-action: #fc0;
    --color-bg-action-hovered: #f2c200;

    --color-bg-progress: #ffd426;
    --color-gradient-progress: #f7c600;

    --color-border-pseudo: rgba(0, 0, 0, 0.2);
    --color-bg-pseudo-hovered: rgba(0, 0, 0, 0.03);

    --color-text-link: #04B;
    --color-border-link: rgba(0, 68, 187, 0.6);
    --color-bg-link-hovered: rgba(0, 68, 187, 0.03);

    --color-text-disabled: #7f7f7f;
    --color-bg-disabled: #f2f2f2;

    --color-bg-checked: #fc0;
    --color-bg-checked-hovered: #f2c200;

    --color-bg-light: #fff;
    --color-bg-light-hovered: #f5f5f5;

    --color-border-focused: #b3b3b3;
    --color-border-action-focused: #b38f00;
    --color-border-checked-focused: #B38F00;
    --color-transparent: rgba(0, 0, 0, 0);

    --color-text-checked-adaptive: #000000;
}*/

.button2_view_default.button2_tone_dark.button2_theme_normal,
.button2_view_default.button2_tone_dark.button2_theme_action {
    color: #eceff1;
}
.button2_view_default.button2_tone_dark.button2_theme_normal:before {
    background-color: #435862;
}
.button2_view_default.button2_tone_dark.button2_theme_normal:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_dark.button2_theme_normal.button2_hovered_yes:before {
    background-color: #40545d;
}
.utilityfocus .button2_view_default.button2_tone_dark:focus:before,
.utilityfocus .button2_view_default.button2_tone_dark.button2_focused_yes:before {
    border-color: #7296a8;
}
.utilityfocus .button2_view_default.button2_tone_dark.button2_theme_action:focus:before,
.utilityfocus .button2_view_default.button2_tone_dark.button2_theme_action.button2_focused_yes:before {
    border-color: #fff;
}
.utilityfocus .button2_view_default.button2_tone_dark.button2_theme_lin:focus:before,
.utilityfocus .button2_view_default.button2_tone_dark.button2_theme_link.button2_focused_yes:before {
    border-color: rgba(213,228,255,.6);
}
.utilityfocus .button2_view_default.button2_tone_dark.button2_type_check.button2_checked_yes:focus:before,
.utilityfocus .button2_view_default.button2_tone_dark.button2_type_check.button2_checked_yes.button2_focused_yes:before {
    border-color: #7296a8;
}
.button2_view_default.button2_tone_dark.button2_theme_pseudo {
    color: #eceff1;
}
.button2_view_default.button2_tone_dark.button2_theme_pseudo:before {
    border-color: rgba(255,255,255,.2);
    background-color: transparent;
}
.button2_view_default.button2_tone_dark.button2_theme_pseudo:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_dark.button2_theme_pseudo.button2_hovered_yes:before {
    background-color: transparent;
}
.button2_view_default.button2_tone_dark.button2_theme_link {
    color: #d4e4ff;
}
.button2_view_default.button2_tone_dark.button2_theme_link:before {
    border-color: rgba(213,228,255,.6);
    background-color: transparent;
}
.button2_view_default.button2_tone_dark.button2_theme_lin:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_dark.button2_theme_link.button2_hovered_yes:before {
    background-color: transparent;
}
.button2_view_default.button2_tone_dark.button2_theme_raised {
    color: #eceff1;
}
.button2_view_default.button2_tone_dark.button2_theme_raised:before {
    background-color: #29363c;
}
.button2_view_default.button2_tone_dark.button2_theme_raised:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_dark.button2_theme_raised.button2_hovered_yes:before {
    background-color: #364248;
}
.button2_view_default.button2_tone_dark.button2_theme_action,
.button2_view_default.button2_tone_dark.button2_action_yes {
    color: #263238;
}
.button2_view_default.button2_tone_dark.button2_theme_action:before,
.button2_view_default.button2_tone_dark.button2_action_yes:before {
    background-color: #eceff1;
}
.button2_view_default.button2_tone_dark.button2_theme_action:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_dark.button2_action_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_dark.button2_theme_action.button2_hovered_yes,
.button2_view_default.button2_tone_dark.button2_action_yes.button2_hovered_yes {
    color: #263238;
}
.button2_view_default.button2_tone_dark.button2_theme_action:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_dark.button2_action_yes:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_dark.button2_theme_action.button2_hovered_yes:before,
.button2_view_default.button2_tone_dark.button2_action_yes.button2_hovered_yes:before {
    background-color: #e0e3e5;
}
.button2.button2_view_default.button2_tone_dark.button2_theme_action.button2_progress_yes:before,
.button2.button2_view_default.button2_tone_dark.button2_action_yes.button2_progress_yes:before {
    background-color: #eff1f3;
    background-image: repeating-linear-gradient(-45deg, #eff1f3, #eff1f3 4px, #d4d7d9 4px, #d4d7d9 8px);
}
.button2.button2_view_default.button2_tone_dark.button2_theme_action.button2_progress_yes,
.button2.button2_view_default.button2_tone_dark.button2_action_yes.button2_progress_yes {
    color: #263238;
}
.button2.button2_view_default.button2_tone_dark.button2_theme_clear {
    color: #eceff1;
}
.button2.button2_view_default.button2_tone_dark.button2_theme_clear:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_dark.button2_theme_clear.button2_hovered_yes:before {
    background-color: transparent;
}
.button2.button2_view_default.button2_tone_dark[aria-disabled="true"]:before,
.button2.button2_view_default.button2_tone_dark.button2_disabled_yes:before {
    border-color: transparent;
    background-color: #303f46;
}
.button2.button2_view_default.button2_tone_dark.button2_theme_clear.button2_checked_yes {
    color: #263238;
}
.button2.button2_view_default.button2_tone_dark.button2_checked_yes:before {
    background-color: #eceff1;
}
.button2_view_default.button2_tone_dark.button2_checked_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_dark.button2_checked_yes.button2_hovered_yes {
    color: #263238;
}
.button2.button2_view_default.button2_tone_dark.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_dark.button2_checked_yes.button2_hovered_yes:before {
    background-color: #e0e3e5;
}
.button2_view_default.button2_tone_dark.button2_theme_pseudo.button2_checked_yes:before {
    border-color: transparent;
}
.button2_view_default.button2_tone_dark.button2_theme_clear.button2_checked_yes {
    background-color: transparent;
}
.button2.button2_view_default.button2_tone_dark.button2_checked_yes {
    color: #263238;
}
.button2.button2_view_default.button2_tone_dark[aria-disabled="true"],
.button2.button2_view_default.button2_tone_dark.button2_disabled_yes {
    color: #899094;
}
.button2.button2_view_default.button2_tone_dark.button2_theme_clear.button2_checked_yes[aria-disabled="true"],
.button2.button2_view_default.button2_tone_dark.button2_theme_clear.button2_checked_yes.button2_disabled_yes {
    color: #899094;
}

.button2_view_default.button2_tone_default.button2_theme_normal,
.button2_view_default.button2_tone_default.button2_theme_action {
    color: #000;
}
.button2_view_default.button2_tone_default.button2_theme_normal:before {
    background-color: #e6e6e6;
}
.button2_view_default.button2_tone_default.button2_theme_normal:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_default.button2_theme_normal.button2_hovered_yes:before {
    background-color: #dbdbdb;
}
.utilityfocus .button2_view_default.button2_tone_default:focus:before,
.utilityfocus .button2_view_default.button2_tone_default.button2_focused_yes:before {
    border-color: #b3b3b3;
}
.utilityfocus .button2_view_default.button2_tone_default.button2_theme_action:focus:before,
.utilityfocus .button2_view_default.button2_tone_default.button2_theme_action.button2_focused_yes:before {
    border-color: #b38f00;
}
.utilityfocus .button2_view_default.button2_tone_default.button2_theme_lin:focus:before,
.utilityfocus .button2_view_default.button2_tone_default.button2_theme_link.button2_focused_yes:before {
    border-color: rgba(0,68,187,.6);
}
.utilityfocus .button2_view_default.button2_tone_default.button2_type_check.button2_checked_yes:focus:before,
.utilityfocus .button2_view_default.button2_tone_default.button2_type_check.button2_checked_yes.button2_focused_yes:before {
    border-color: #b3b3b3;
}
.button2_view_default.button2_tone_default.button2_theme_pseudo {
    color: #000;
}
.button2_view_default.button2_tone_default.button2_theme_pseudo:before {
    border-color: rgba(0,0,0,.2);
    background-color: transparent;
}
.button2_view_default.button2_tone_default.button2_theme_pseudo:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_default.button2_theme_pseudo.button2_hovered_yes:before {
    background-color: rgba(0,0,0,.03);
}
.button2_view_default.button2_tone_default.button2_theme_link {
    color: #04b;
}
.button2_view_default.button2_tone_default.button2_theme_link:before {
    border-color: rgba(0,68,187,.6);
    background-color: transparent;
}
.button2_view_default.button2_tone_default.button2_theme_lin:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_default.button2_theme_link.button2_hovered_yes:before {
    background-color: rgba(0,68,187,.03);
}
.button2_view_default.button2_tone_default.button2_theme_raised {
    color: #000;
}
.button2_view_default.button2_tone_default.button2_theme_raised:before {
    background-color: #fff;
}
.button2_view_default.button2_tone_default.button2_theme_raised:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_default.button2_theme_raised.button2_hovered_yes:before {
    background-color: #f5f5f5;
}
.button2_view_default.button2_tone_default.button2_theme_action,
.button2_view_default.button2_tone_default.button2_action_yes {
    color: #000;
}
.button2_view_default.button2_tone_default.button2_theme_action:before,
.button2_view_default.button2_tone_default.button2_action_yes:before {
    background-color: #fc0;
}
.button2_view_default.button2_tone_default.button2_theme_action:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_default.button2_action_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_default.button2_theme_action.button2_hovered_yes,
.button2_view_default.button2_tone_default.button2_action_yes.button2_hovered_yes {
    color: #000;
}
.button2_view_default.button2_tone_default.button2_theme_action:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_default.button2_action_yes:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_default.button2_theme_action.button2_hovered_yes:before,
.button2_view_default.button2_tone_default.button2_action_yes.button2_hovered_yes:before {
    background-color: #f2c200;
}
.button2.button2_view_default.button2_tone_default.button2_theme_action.button2_progress_yes:before,
.button2.button2_view_default.button2_tone_default.button2_action_yes.button2_progress_yes:before {
    background-color: #ffd426;
    background-image: repeating-linear-gradient(-45deg, #ffd426, #ffd426 4px, #f7c600 4px, #f7c600 8px);
}
.button2.button2_view_default.button2_tone_default.button2_theme_action.button2_progress_yes,
.button2.button2_view_default.button2_tone_default.button2_action_yes.button2_progress_yes {
    color: #000;
}
.button2.button2_view_default.button2_tone_default.button2_theme_clear {
    color: #000;
}
.button2.button2_view_default.button2_tone_default.button2_theme_clear:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_default.button2_theme_clear.button2_hovered_yes:before {
    background-color: rgba(0,0,0,.03);
}
.button2.button2_view_default.button2_tone_default[aria-disabled="true"]:before,
.button2.button2_view_default.button2_tone_default.button2_disabled_yes:before {
    border-color: transparent;
    background-color: #f2f2f2;
}
.button2.button2_view_default.button2_tone_default.button2_theme_clear.button2_checked_yes {
    color: #fff;
}
.button2.button2_view_default.button2_tone_default.button2_checked_yes:before {
    background-color: #555;
}
.button2_view_default.button2_tone_default.button2_checked_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_default.button2_checked_yes.button2_hovered_yes {
    color: #fff;
}
.button2.button2_view_default.button2_tone_default.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_default.button2_checked_yes.button2_hovered_yes:before {
    background-color: #515151;
}
.button2_view_default.button2_tone_default.button2_theme_pseudo.button2_checked_yes:before {
    border-color: transparent;
}
.button2_view_default.button2_tone_default.button2_theme_clear.button2_checked_yes {
    background-color: transparent;
}
.button2.button2_view_default.button2_tone_default.button2_checked_yes {
    color: #fff;
}
.button2.button2_view_default.button2_tone_default[aria-disabled="true"],
.button2.button2_view_default.button2_tone_default.button2_disabled_yes {
    color: #7f7f7f;
}
.button2.button2_view_default.button2_tone_default.button2_theme_clear.button2_checked_yes[aria-disabled="true"],
.button2.button2_view_default.button2_tone_default.button2_theme_clear.button2_checked_yes.button2_disabled_yes {
    color: #7f7f7f;
}

.button2_view_default.button2_tone_grey.button2_theme_normal,
.button2_view_default.button2_tone_grey.button2_theme_action {
    color: #000;
}
.button2_view_default.button2_tone_grey.button2_theme_normal:before {
    background-color: #ddd;
}
.button2_view_default.button2_tone_grey.button2_theme_normal:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_grey.button2_theme_normal.button2_hovered_yes:before {
    background-color: #d2d2d2;
}
.utilityfocus .button2_view_default.button2_tone_grey:focus:before,
.utilityfocus .button2_view_default.button2_tone_grey.button2_focused_yes:before {
    border-color: #acacac;
}
.utilityfocus .button2_view_default.button2_tone_grey.button2_theme_action:focus:before,
.utilityfocus .button2_view_default.button2_tone_grey.button2_theme_action.button2_focused_yes:before {
    border-color: #1769aa;
}
.utilityfocus .button2_view_default.button2_tone_grey.button2_theme_lin:focus:before,
.utilityfocus .button2_view_default.button2_tone_grey.button2_theme_link.button2_focused_yes:before {
    border-color: rgba(0,68,187,.6);
}
.utilityfocus .button2_view_default.button2_tone_grey.button2_type_check.button2_checked_yes:focus:before,
.utilityfocus .button2_view_default.button2_tone_grey.button2_type_check.button2_checked_yes.button2_focused_yes:before {
    border-color: #acacac;
}
.button2_view_default.button2_tone_grey.button2_theme_pseudo {
    color: #000;
}
.button2_view_default.button2_tone_grey.button2_theme_pseudo:before {
    border-color: rgba(0,0,0,.2);
    background-color: transparent;
}
.button2_view_default.button2_tone_grey.button2_theme_pseudo:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_grey.button2_theme_pseudo.button2_hovered_yes:before {
    background-color: transparent;
}
.button2_view_default.button2_tone_grey.button2_theme_link {
    color: #04b;
}
.button2_view_default.button2_tone_grey.button2_theme_link:before {
    border-color: rgba(0,68,187,.6);
    background-color: transparent;
}
.button2_view_default.button2_tone_grey.button2_theme_lin:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_grey.button2_theme_link.button2_hovered_yes:before {
    background-color: transparent;
}
.button2_view_default.button2_tone_grey.button2_theme_raised {
    color: #000;
}
.button2_view_default.button2_tone_grey.button2_theme_raised:before {
    background-color: #fff;
}
.button2_view_default.button2_tone_grey.button2_theme_raised:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_grey.button2_theme_raised.button2_hovered_yes:before {
    background-color: #eaeaea;
}
.button2_view_default.button2_tone_grey.button2_theme_action,
.button2_view_default.button2_tone_grey.button2_action_yes {
    color: #f5f5f5;
}
.button2_view_default.button2_tone_grey.button2_theme_action:before,
.button2_view_default.button2_tone_grey.button2_action_yes:before {
    background-color: #2196f3;
}
.button2_view_default.button2_tone_grey.button2_theme_action:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_grey.button2_action_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_grey.button2_theme_action.button2_hovered_yes,
.button2_view_default.button2_tone_grey.button2_action_yes.button2_hovered_yes {
    color: #f5f5f5;
}
.button2_view_default.button2_tone_grey.button2_theme_action:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_grey.button2_action_yes:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_grey.button2_theme_action.button2_hovered_yes:before,
.button2_view_default.button2_tone_grey.button2_action_yes.button2_hovered_yes:before {
    background-color: #1f8fe7;
}
.button2.button2_view_default.button2_tone_grey.button2_theme_action.button2_progress_yes:before,
.button2.button2_view_default.button2_tone_grey.button2_action_yes.button2_progress_yes:before {
    background-color: #42a6f5;
    background-image: repeating-linear-gradient(-45deg, #42a6f5, #42a6f5 4px, #2092ec 4px, #2092ec 8px);
}
.button2.button2_view_default.button2_tone_grey.button2_theme_action.button2_progress_yes,
.button2.button2_view_default.button2_tone_grey.button2_action_yes.button2_progress_yes {
    color: #f5f5f5;
}
.button2.button2_view_default.button2_tone_grey.button2_theme_clear {
    color: #000;
}
.button2.button2_view_default.button2_tone_grey.button2_theme_clear:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_grey.button2_theme_clear.button2_hovered_yes:before {
    background-color: transparent;
}
.button2.button2_view_default.button2_tone_grey[aria-disabled="true"]:before,
.button2.button2_view_default.button2_tone_grey.button2_disabled_yes:before {
    border-color: transparent;
    background-color: #e9e9e9;
}
.button2.button2_view_default.button2_tone_grey.button2_theme_clear.button2_checked_yes {
    color: #f5f5f5;
}
.button2.button2_view_default.button2_tone_grey.button2_checked_yes:before {
    background-color: #2196f3;
}
.button2_view_default.button2_tone_grey.button2_checked_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_grey.button2_checked_yes.button2_hovered_yes {
    color: #f5f5f5;
}
.button2.button2_view_default.button2_tone_grey.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_grey.button2_checked_yes.button2_hovered_yes:before {
    background-color: #1f8fe7;
}
.button2_view_default.button2_tone_grey.button2_theme_pseudo.button2_checked_yes:before {
    border-color: transparent;
}
.button2_view_default.button2_tone_grey.button2_theme_clear.button2_checked_yes {
    background-color: transparent;
}
.button2.button2_view_default.button2_tone_grey.button2_checked_yes {
    color: #f5f5f5;
}
.button2.button2_view_default.button2_tone_grey[aria-disabled="true"],
.button2.button2_view_default.button2_tone_grey.button2_disabled_yes {
    color: #7a7a7a;
}
.button2.button2_view_default.button2_tone_grey.button2_theme_clear.button2_checked_yes[aria-disabled="true"],
.button2.button2_view_default.button2_tone_grey.button2_theme_clear.button2_checked_yes.button2_disabled_yes {
    color: #7a7a7a;
}

.button2_view_default.button2_tone_market.button2_theme_normal,
.button2_view_default.button2_tone_market.button2_theme_action {
    color: #000;
}
.button2_view_default.button2_tone_market.button2_theme_normal:before {
    background-color: #E6E6E6;
}
.button2_view_default.button2_tone_market.button2_theme_normal:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_market.button2_theme_normal.button2_hovered_yes:before {
    background-color: #dbdbdb;
}
.utilityfocus .button2_view_default.button2_tone_market:focus:before,
.utilityfocus .button2_view_default.button2_tone_market.button2_focused_yes:before {
    border-color: #b3b3b3;
}
.utilityfocus .button2_view_default.button2_tone_market.button2_theme_action:focus:before,
.utilityfocus .button2_view_default.button2_tone_market.button2_theme_action.button2_focused_yes:before {
    border-color: #b38f00;
}
.utilityfocus .button2_view_default.button2_tone_market.button2_theme_lin:focus:before,
.utilityfocus .button2_view_default.button2_tone_market.button2_theme_link.button2_focused_yes:before {
    border-color: rgba(0, 68, 187, 0.6);
}
.utilityfocus .button2_view_default.button2_tone_market.button2_type_check.button2_checked_yes:focus:before,
.utilityfocus .button2_view_default.button2_tone_market.button2_type_check.button2_checked_yes.button2_focused_yes:before {
    border-color: #B38F00;
}
.button2_view_default.button2_tone_market.button2_theme_pseudo {
    color: #000;
}
.button2_view_default.button2_tone_market.button2_theme_pseudo:before {
    border-color: rgba(0, 0, 0, 0.2);
    background-color: rgba(0, 0, 0, 0);
}
.button2_view_default.button2_tone_market.button2_theme_pseudo:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_market.button2_theme_pseudo.button2_hovered_yes:before {
    background-color: rgba(0, 0, 0, 0.03);
}
.button2_view_default.button2_tone_market.button2_theme_link {
    color: #04B;
}
.button2_view_default.button2_tone_market.button2_theme_link:before {
    border-color: rgba(0, 68, 187, 0.6);
    background-color: rgba(0, 0, 0, 0);
}
.button2_view_default.button2_tone_market.button2_theme_lin:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_market.button2_theme_link.button2_hovered_yes:before {
    background-color: rgba(0, 68, 187, 0.03);
}
.button2_view_default.button2_tone_market.button2_theme_raised {
    color: #000;
}
.button2_view_default.button2_tone_market.button2_theme_raised:before {
    background-color: #fff;
}
.button2_view_default.button2_tone_market.button2_theme_raised:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_market.button2_theme_raised.button2_hovered_yes:before {
    background-color: #f5f5f5;
}
.button2_view_default.button2_tone_market.button2_theme_action,
.button2_view_default.button2_tone_market.button2_action_yes {
    color: #000000;
}
.button2_view_default.button2_tone_market.button2_theme_action:before,
.button2_view_default.button2_tone_market.button2_action_yes:before {
    background-color: #fc0;
}
.button2_view_default.button2_tone_market.button2_theme_action:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_market.button2_action_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_market.button2_theme_action.button2_hovered_yes,
.button2_view_default.button2_tone_market.button2_action_yes.button2_hovered_yes {
    color: #000000;
}
.button2_view_default.button2_tone_market.button2_theme_action:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_market.button2_action_yes:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_market.button2_theme_action.button2_hovered_yes:before,
.button2_view_default.button2_tone_market.button2_action_yes.button2_hovered_yes:before {
    background-color: #f2c200;
}
.button2.button2_view_default.button2_tone_market.button2_theme_action.button2_progress_yes:before,
.button2.button2_view_default.button2_tone_market.button2_action_yes.button2_progress_yes:before {
    background-color: #ffd426;
    background-image: repeating-linear-gradient(-45deg, #ffd426, #ffd426 4px, #f7c600 4px, #f7c600 8px);
}
.button2.button2_view_default.button2_tone_market.button2_theme_action.button2_progress_yes,
.button2.button2_view_default.button2_tone_market.button2_action_yes.button2_progress_yes {
    color: #000000;
}
.button2.button2_view_default.button2_tone_market.button2_theme_clear {
    color: #000;
}
.button2.button2_view_default.button2_tone_market.button2_theme_clear:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_market.button2_theme_clear.button2_hovered_yes:before {
    background-color: rgba(0, 0, 0, 0.03);
}
.button2.button2_view_default.button2_tone_market[aria-disabled="true"]:before,
.button2.button2_view_default.button2_tone_market.button2_disabled_yes:before {
    border-color: rgba(0, 0, 0, 0);
    background-color: #f2f2f2;
}
.button2.button2_view_default.button2_tone_market.button2_theme_clear.button2_checked_yes {
    color: #000000;
}
.button2.button2_view_default.button2_tone_market.button2_checked_yes:before {
    background-color: #fc0;
}
.button2_view_default.button2_tone_market.button2_checked_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_market.button2_checked_yes.button2_hovered_yes {
    color: #000000;
}
.button2.button2_view_default.button2_tone_market.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_market.button2_checked_yes.button2_hovered_yes:before {
    background-color: #f2c200;
}
.button2_view_default.button2_tone_market.button2_theme_pseudo.button2_checked_yes:before {
    border-color: rgba(0, 0, 0, 0);
}
.button2_view_default.button2_tone_market.button2_theme_clear.button2_checked_yes {
    background-color: rgba(0, 0, 0, 0);
}
.button2.button2_view_default.button2_tone_market.button2_checked_yes {
    color: #000000;
}
.button2.button2_view_default.button2_tone_market[aria-disabled="true"],
.button2.button2_view_default.button2_tone_market.button2_disabled_yes {
    color: #7f7f7f;
}
.button2.button2_view_default.button2_tone_market.button2_theme_clear.button2_checked_yes[aria-disabled="true"],
.button2.button2_view_default.button2_tone_market.button2_theme_clear.button2_checked_yes.button2_disabled_yes {
    color: #7f7f7f;
}

.button2_view_default.button2_tone_red.button2_theme_normal,
.button2_view_default.button2_tone_red.button2_theme_action {
    color: #fff;
}
.button2_view_default.button2_tone_red.button2_theme_normal:before {
    background-color: #9e2020;
}
.button2_view_default.button2_tone_red.button2_theme_normal:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_red.button2_theme_normal.button2_hovered_yes:before {
    background-color: #961e1e;
}
.utilityfocus .button2_view_default.button2_tone_red:focus:before,
.utilityfocus .button2_view_default.button2_tone_red.button2_focused_yes:before {
    border-color: #ff3838;
}
.utilityfocus .button2_view_default.button2_tone_red.button2_theme_action:focus:before,
.utilityfocus .button2_view_default.button2_tone_red.button2_theme_action.button2_focused_yes:before {
    border-color: #fff;
}
.utilityfocus .button2_view_default.button2_tone_red.button2_theme_lin:focus:before,
.utilityfocus .button2_view_default.button2_tone_red.button2_theme_link.button2_focused_yes:before {
    border-color: rgba(213,228,255,.6);
}
.utilityfocus .button2_view_default.button2_tone_red.button2_type_check.button2_checked_yes:focus:before,
.utilityfocus .button2_view_default.button2_tone_red.button2_type_check.button2_checked_yes.button2_focused_yes:before {
    border-color: #ff3838;
}
.button2_view_default.button2_tone_red.button2_theme_pseudo {
    color: #fff;
}
.button2_view_default.button2_tone_red.button2_theme_pseudo:before {
    border-color: rgba(255,255,255,.2);
    background-color: transparent;
}
.button2_view_default.button2_tone_red.button2_theme_pseudo:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_red.button2_theme_pseudo.button2_hovered_yes:before {
    background-color: transparent;
}
.button2_view_default.button2_tone_red.button2_theme_link {
    color: #d4e4ff;
}
.button2_view_default.button2_tone_red.button2_theme_link:before {
    border-color: rgba(213,228,255,.6);
    background-color: transparent;
}
.button2_view_default.button2_tone_red.button2_theme_lin:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_red.button2_theme_link.button2_hovered_yes:before {
    background-color: transparent;
}
.button2_view_default.button2_tone_red.button2_theme_raised {
    color: #fff;
}
.button2_view_default.button2_tone_red.button2_theme_raised:before {
    background-color: #d62b2b;
}
.button2_view_default.button2_tone_red.button2_theme_raised:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_red.button2_theme_raised.button2_hovered_yes:before {
    background-color: #cd2323;
}
.button2_view_default.button2_tone_red.button2_theme_action,
.button2_view_default.button2_tone_red.button2_action_yes {
    color: #c62828;
}
.button2_view_default.button2_tone_red.button2_theme_action:before,
.button2_view_default.button2_tone_red.button2_action_yes:before {
    background-color: #fff;
}
.button2_view_default.button2_tone_red.button2_theme_action:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_red.button2_action_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_red.button2_theme_action.button2_hovered_yes,
.button2_view_default.button2_tone_red.button2_action_yes.button2_hovered_yes {
    color: #c62828;
}
.button2_view_default.button2_tone_red.button2_theme_action:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_red.button2_action_yes:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_tone_red.button2_theme_action.button2_hovered_yes:before,
.button2_view_default.button2_tone_red.button2_action_yes.button2_hovered_yes:before {
    background-color: #f2f2f2;
}
.button2.button2_view_default.button2_tone_red.button2_theme_action.button2_progress_yes:before,
.button2.button2_view_default.button2_tone_red.button2_action_yes.button2_progress_yes:before {
    background-color: #fff;
    background-image: repeating-linear-gradient(-45deg, #fff, #fff 4px, #e6e6e6 4px, #e6e6e6 8px);
}
.button2.button2_view_default.button2_tone_red.button2_theme_action.button2_progress_yes,
.button2.button2_view_default.button2_tone_red.button2_action_yes.button2_progress_yes {
    color: #c62828;
}
.button2.button2_view_default.button2_tone_red.button2_theme_clear {
    color: #fff;
}
.button2.button2_view_default.button2_tone_red.button2_theme_clear:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_red.button2_theme_clear.button2_hovered_yes:before {
    background-color: transparent;
}
.button2.button2_view_default.button2_tone_red[aria-disabled="true"]:before,
.button2.button2_view_default.button2_tone_red.button2_disabled_yes:before {
    border-color: transparent;
    background-color: #b22424;
}
.button2.button2_view_default.button2_tone_red.button2_theme_clear.button2_checked_yes {
    color: #c62828;
}
.button2.button2_view_default.button2_tone_red.button2_checked_yes:before {
    background-color: #fff;
}
.button2_view_default.button2_tone_red.button2_checked_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_tone_red.button2_checked_yes.button2_hovered_yes {
    color: #c62828;
}
.button2.button2_view_default.button2_tone_red.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_tone_red.button2_checked_yes.button2_hovered_yes:before {
    background-color: #f2f2f2;
}
.button2_view_default.button2_tone_red.button2_theme_pseudo.button2_checked_yes:before {
    border-color: transparent;
}
.button2_view_default.button2_tone_red.button2_theme_clear.button2_checked_yes {
    background-color: transparent;
}
.button2.button2_view_default.button2_tone_red.button2_checked_yes {
    color: #c62828;
}
.button2.button2_view_default.button2_tone_red[aria-disabled="true"],
.button2.button2_view_default.button2_tone_red.button2_disabled_yes {
    color: #e29393;
}
.button2.button2_view_default.button2_tone_red.button2_theme_clear.button2_checked_yes[aria-disabled="true"],
.button2.button2_view_default.button2_tone_red.button2_theme_clear.button2_checked_yes.button2_disabled_yes {
    color: #e29393;
}

/**
 * Этот файл создан, чтобы не было предупреждений webpack-loader
 * при сборке пакета и/или примеров для React.
 * Впоследствии файл будет наполнен содержимым или удален.
 */

.button2_view_default {
    transition: transform 0.1s ease-out, color 0.15s linear;
    transform: scale(1);
}

.button2_view_default:not([aria-disabled="true"]):active,
.button2_view_default.button2_pressed_yes {
    transition: none;
    transform: scale(0.96);
}

.button2_view_default:before {
    border-radius: 4px;
    transition: background-color 0.15s linear, opacity 0.15s linear;
}

/* colors */
/*.button2_view_default.button2_theme_normal,
.button2_view_default.button2_theme_action {
    color: var(--color-text);
}*/

/*.button2_view_default.button2_theme_normal:before {
    background-color: var(--color-bg-control);
}*/

/*.button2_view_default.button2_theme_normal:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_theme_normal.button2_hovered_yes:before {
    background-color: var(--color-bg-control-hovered);
}*/

.utilityfocus .button2_view_default:focus:before,
.utilityfocus .button2_view_default.button2_focused_yes:before {
    border: 2px solid rgba(0, 0, 0, .2);
    /* border-color: var(--color-border-focused); */
}

/*.utilityfocus .button2_view_default.button2_theme_action:focus:before,
.utilityfocus .button2_view_default.button2_theme_action.button2_focused_yes:before {
    border-color: var(--color-border-action-focused);
}*/

/*.utilityfocus .button2_view_default.button2_theme_lin:focus:before,
.utilityfocus .button2_view_default.button2_theme_link.button2_focused_yes:before {
    border-color: var(--color-border-link);
}*/

/*.utilityfocus .button2_view_default.button2_type_check.button2_checked_yes:focus:before,
.utilityfocus .button2_view_default.button2_type_check.button2_checked_yes.button2_focused_yes:before {
    border-color: var(--color-border-checked-focused);
}*/

.button2_view_default.button2_theme_pseudo {
    color: rgb(0, 0, 0);
    /* color: var(--color-text); */
}

.button2_view_default.button2_theme_pseudo:before {
    border: 1px solid rgba(0, 0, 0, .2);
    /* border-color: var(--color-border-pseudo); */
    /* background-color: var(--color-transparent); */
}

.button2_view_default.button2_theme_pseudo:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_theme_pseudo.button2_hovered_yes:before {
    background-color: rgba(0, 0, 0, .04);
    /* background-color: var(--color-bg-pseudo-hovered); */
}

.button2_view_default.button2_theme_link {
    color: rgb(0, 68, 187);
    /* color: var(--color-text-link); */
}

.button2_view_default.button2_theme_link:before {
    border: 1px solid rgba(0, 68, 187, .6);
    /* border-color: var(--color-border-link); */
    /* background-color: var(--color-transparent); */
}

.button2_view_default.button2_theme_lin:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_theme_link.button2_hovered_yes:before {
    background-color: rgba(0, 68, 187, 0.04);
    /* background-color: var(--color-bg-link-hovered); */
}

/*.button2_view_default.button2_theme_raised {
    color: var(--color-text);
}*/

/*.button2_view_default.button2_theme_raised:before {
    background-color: var(--color-bg-light);
}*/

/*.button2_view_default.button2_theme_raised:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_theme_raised.button2_hovered_yes:before {
    background-color: var(--color-bg-light-hovered);
}*/

/*.button2_view_default.button2_theme_action,
.button2_view_default.button2_action_yes {
    color: var(--color-text-action);
}*/

/*.button2_view_default.button2_theme_action:before,
.button2_view_default.button2_action_yes:before {
    background-color: var(--color-bg-action);
}*/

/*.button2_view_default.button2_theme_action:not([aria-disabled="true"]):hover,
.button2_view_default.button2_action_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_theme_action.button2_hovered_yes,
.button2_view_default.button2_action_yes.button2_hovered_yes {
    color: var(--color-text-action);
}*/

/*.button2_view_default.button2_theme_action:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_action_yes:not([aria-disabled="true"]):hover:before,
.button2_view_default.button2_theme_action.button2_hovered_yes:before,
.button2_view_default.button2_action_yes.button2_hovered_yes:before {
    background-color: var(--color-bg-action-hovered);
}*/

/*
 * Если не усилить вес селектора для _progress и _progress + _disabled,
 * при переключении состояния срабатывает transition, и кнопка заметно "моргает".
 */
.button2.button2_view_default.button2_theme_action.button2_progress_yes:before,
.button2.button2_view_default.button2_action_yes.button2_progress_yes:before {
    /* background-color: var(--color-bg-progress); */
    /* background-image: repeating-linear-gradient(-45deg, var(--color-bg-progress), var(--color-bg-progress) 4px, var(--color-gradient-progress) 4px, var(--color-gradient-progress) 8px); */
    background-size: 34px 34px;
}

.button2.button2_view_default.button2_theme_action.button2_progress_yes,
.button2.button2_view_default.button2_action_yes.button2_progress_yes {
    /* color: var(--color-text-action); */
    transform: scale(1);
}

/*.button2.button2_view_default.button2_theme_clear {
    color: var(--color-text);
}*/

.button2.button2_view_default.button2_theme_clear .button2__text,
.button2.button2_view_default.button2_theme_clear .button2__icon {
    opacity: .65;
}

.button2.button2_view_default.button2_theme_clear:not([aria-disabled="true"]):hover .button2__text,
.button2.button2_view_default.button2_theme_clear:not([aria-disabled="true"]):hover .button2__icon,
.button2.button2_view_default.button2_theme_clear:not(.button2_disabled_yes).button2_hovered_yes .button2__text,
.button2.button2_view_default.button2_theme_clear:not(.button2_disabled_yes).button2_hovered_yes .button2__icon {
    opacity: 1;
}

.button2.button2_view_default.button2_theme_clear:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_theme_clear.button2_hovered_yes:before {
    opacity: .03;
    /* background-color: var(--color-bg-pseudo-hovered); */
}

/*.button2.button2_view_default[aria-disabled="true"]:before,
.button2.button2_view_default.button2_disabled_yes:before {
    border-color: var(--color-transparent);
    background-color: var(--color-bg-disabled);
}*/

/*.button2.button2_view_default.button2_theme_clear.button2_checked_yes {
    color: var(--color-text-checked-adaptive);
}*/

/*.button2.button2_view_default.button2_checked_yes:before {
    background-color: var(--color-bg-checked);
}*/

/*.button2_view_default.button2_checked_yes:not([aria-disabled="true"]):hover,
.button2_view_default.button2_checked_yes.button2_hovered_yes {
    color: var(--color-text-checked-adaptive);
}*/

.button2.button2_view_default.button2_checked_yes:not([aria-disabled="true"]):hover:before,
.button2.button2_view_default.button2_checked_yes.button2_hovered_yes:before {
    opacity: 1;
    /* background-color: var(--color-bg-checked-hovered); */
}

.button2_view_default.button2_theme_pseudo.button2_checked_yes:before {
    opacity: .9;
    /* border-color: var(--color-transparent); */
}

/*.button2_view_default.button2_theme_clear.button2_checked_yes {
    background-color: var(--color-transparent);
}*/

/*.button2.button2_view_default.button2_checked_yes {
    color: var(--color-text-checked-adaptive);
}*/

.button2.button2_view_default[aria-disabled="true"],
.button2.button2_view_default.button2_disabled_yes {
    opacity: 1;
    /* color: var(--color-text-disabled); */
}

/*.button2.button2_view_default.button2_theme_clear.button2_checked_yes[aria-disabled="true"],
.button2.button2_view_default.button2_theme_clear.button2_checked_yes.button2_disabled_yes {
    color: var(--color-text-disabled);
}*/

.button2_width_auto {
    max-width: 100%;
}

.button2_width_auto .button2__text {
    display: block;
    overflow: hidden;

    text-overflow: ellipsis;
}

.button2_width_max {
    width: 100%;
}

/**
 * У кнопок-ссылок выставляем блочное представление для того,
 * чтобы избавиться от лишнего отступа снизу из-за vertical-align: baseline
 */
.button2_width_max.button2_type_link {
    display: block;
}

.button2_width_max .button2__text {
    display: block;
    overflow: hidden;

    text-overflow: ellipsis;
}

.spin2 {
    display: none;

    box-sizing: border-box;

    border: 2px solid transparent;
    border-radius: 100px; /* На android 2.3 border-radius в % не поддерживается */
    /*
     * Поддержка CSS анимаций и CSS градиентов у основных браузеров совпадает
     * Если браузер не поддерживает градиенты, будет показана gif-анимация
     */
    background-image: url(/user-promo/static/icons/spin2.gif);
    background-image: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0));
}

/* Для правильного позиционирования блока относительно baseline */
.spin2:after {
    visibility: hidden;

    content: '\00A0'; /* &nbsp; */
}

/*
  (1) https://st.yandex-team.ru/ISL-6342
      Добавлена задержка начала анимации, что заставляет её нормально работать в iOS 12-
      Решение взято отсюда:
      https://stackoverflow.com/questions/29219534/css-animation-not-always-starting-in-ios-8-safari
*/
.spin2_progress_yes {
    display: inline-block;

    animation: islands-spin2 1s 0.21s infinite linear; /* (1) */
    backface-visibility: hidden;  /* Для ускорения анимации */
}

@keyframes islands-spin2 {
    from {
        transform: rotate(0deg);
    }
    to {
        transform: rotate(360deg);
    }
}

.spin2_position_center {
    position: absolute;
    top: 50%;
    left: 50%;
}

.spin2_size_l {
    width: 38px;
    height: 38px;

    font-size: 18px;
    line-height: 34px;

    background-position: -2px -106px;
}

.spin2_size_l.spin2_position_center {
    /* Отступ равен половине ширины */
    margin-top: -19px;
    margin-left: -19px;
}

.spin2_size_m {
    width: 32px;
    height: 32px;

    font-size: 15px;
    line-height: 28px;

    background-position: -2px -73px;
}

.spin2_size_m.spin2_position_center {
    /* Отступ равен половине ширины */
    margin-top: -16px;
    margin-left: -16px;
}

.spin2_size_s {
    width: 28px;
    height: 28px;

    font-size: 13px;
    line-height: 24px;

    background-position: -2px -44px;
}

.spin2_size_s.spin2_position_center {
    /* Отступ равен половине ширины */
    margin-top: -14px;
    margin-left: -14px;
}

.spin2_size_xs {
    width: 24px;
    height: 24px;

    font-size: 13px;
    line-height: 20px;

    background-position: -2px -19px;
}

.spin2_size_xs.spin2_position_center {
    /* Отступ равен половине ширины */
    margin-top: -12px;
    margin-left: -12px;
}

.spin2_size_xxs {
    width: 16px;
    height: 16px;

    font-size: 13px;
    line-height: 12px;

    background-position: -2px -2px;
}

.spin2_size_xxs.spin2_position_center {
    /* Отступ равен половине ширины */
    margin-top: -8px;
    margin-left: -8px;
}

/*.spin2_tone_default {
    --color-bg-action: #fc0;
}*/
/*.spin2_tone_red {
    --color-bg-action: #fff;
}*/
/*.spin2_tone_grey {
    --color-bg-action: #2196f3;
}*/
/*.spin2_tone_dark {
    --color-bg-action: #eceff1;
}*/
/*.spin2_tone_market {
    --color-bg-action: #fc0;
}*/
/*.spin2_tone_blue {
    --color-bg-action: #4e66ff;
}*/

.spin2_view_default.spin2_tone_blue.spin2_progress_yes {
    border-top-color: #4e66ff;
    border-left-color: #4e66ff;
}

.spin2_view_default.spin2_tone_dark.spin2_progress_yes {
    border-top-color: #eceff1;
    border-left-color: #eceff1;
}

.spin2_view_default.spin2_tone_default.spin2_progress_yes {
    border-top-color: #fc0;
    border-left-color: #fc0;
}

.spin2_view_default.spin2_tone_grey.spin2_progress_yes {
    border-top-color: #2196f3;
    border-left-color: #2196f3;
}

.spin2_view_default.spin2_tone_market.spin2_progress_yes {
    border-top-color: #fc0;
    border-left-color: #fc0;
}

.spin2_view_default.spin2_tone_red.spin2_progress_yes {
    border-top-color: #fff;
    border-left-color: #fff;
}

/*.spin2_view_default.spin2_progress_yes {
    border-top-color: var(--color-bg-action);
    border-left-color: var(--color-bg-action);
}*/

.message-box .message-box__tail:before,
.message-box .message-box__tail:after {
    display: none;
}

.message-box .message-box__tail {
    width: 22px;
    height: 10px;
}

/* Fix popup2__tail coords */
.popup2_direction_top-left .message-box .message-box__tail,
.popup2_direction_top-center .message-box .message-box__tail,
.popup2_direction_top-right .message-box .message-box__tail {
    transform: rotate(180deg) translateY(-12px) translateX(1px);
}

.popup2_direction_bottom-left .message-box .message-box__tail,
.popup2_direction_bottom-center .message-box .message-box__tail,
.popup2_direction_bottom-right .message-box .message-box__tail {
    transform: rotate(0deg) translateY(0px) translateX(0px);
}

.popup2_direction_left-top .message-box .message-box__tail,
.popup2_direction_left-center .message-box .message-box__tail,
.popup2_direction_left-bottom .message-box .message-box__tail {
    transform: rotate(90deg) translateY(-6px) translateX(7px);
}

.popup2_direction_right-top .message-box .message-box__tail,
.popup2_direction_right-center .message-box .message-box__tail,
.popup2_direction_right-bottom .message-box .message-box__tail {
    transform: rotate(-90deg) translateY(-6px) translateX(-5px);
}

.message-box__close {
    position: absolute;
    z-index: 21;
    top: 9px;
    right: 9px;

    width: 16px;
    height: 16px;

    transform: translateZ(0);

    touch-action: manipulation;
}

.message-box__close svg {
    opacity: .25;

    transition: opacity .1s;
}

.message-box__close:hover svg {
    opacity: .7;
}

.message-box__close:after {
    position: absolute;
    bottom: 100%;
    left: 9px;

    display: none;

    margin-bottom: 13px;
    padding: 5px 10px;

    font-family: Helvetica, Arial, sans-serif;
    font-size: 11px;
    content: attr(aria-label);
    cursor: pointer;
    user-select: none;

    opacity: 0;
    border-radius: 4px;

    transition: opacity .1s;
    transform: translateX(-50%);

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.message-box__close:hover:after {
    display: block;
}

.message-box.message-box_has-close_yes .message-box__content :not(.message-box__text-wrap) .message-box__text {
    margin-right: 7px;
}

.message-box.message-box_has-close_yes .message-box__content .message-box__text-wrap {
    margin-right: 7px;
}

.message-box__corner {
    position: absolute;
    z-index: 10;
}

.message-box .message-box__buttons {
    display: flex;
    overflow: hidden;
    justify-content: flex-end;

    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
}

.message-box .message-box__buttons .button2:last-child:before {
    border-top-right-radius: 0;
    border-bottom-left-radius: 0;
}

.message-box .message-box__buttons .button2.button2_view_default {
    transform: scale(1); /* cause no buttons should scale inside */
}

.message-box .button2 {
    border: none; /* wtf is happening ?? */
    outline: none; /* wtf is happening ?? */
}

.message-box {
    position: relative;
    z-index: 2;

    display: inline-block;
    /* because fuck bPage */

    font-family: Helvetica, Arial, sans-serif;
    font-size: 13px;
    line-height: 16px;
    cursor: pointer;
    user-select: none;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.message-box .message-box__content {
    position: relative;

    box-sizing: border-box;
    padding: 20px;
}

.message-box .message-box__text {
    position: relative;
    z-index: 20;
}

.message-box .message-box__backdrop {
    position: absolute;
    z-index: 0;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.message-box .message-box__backdrop:before {
    display: block;

    width: 100%;
    height: 100%;

    content: '';

    border-radius: 7px;
    box-shadow: 0 6px 20px -4px rgba(0, 0, 0, .7);
}


.message-box.message-box_align_center .message-box__content {
    text-align: center;
}

.message-box.message-box_align_left .message-box__content {
    text-align: left;
}

.message-box.message-box.message-box_custom-width_yes .message-box__content {
    min-width: auto;
    max-width: none;
}

.message-box.message-box_type_text .message-box__content {
    padding: 10px 15px;

    font-size: 12px;
}

.message-box.message-box_type_text .message-box__backdrop:before {
    border-radius: 6px;
}

.message-box .message-box__text-left {
    margin-right: 20px;
}

.message-box .message-box__text-right {
    margin-left: 20px;
}

.message-box .message-box__text-wrap {
    display: flex;
    align-items: center;
}

.message-box .message-box__text-wrap .message-box__text {
    width: 100%;
}

.message-box .message-box__backelem {
    position: absolute;
    z-index: 1;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;

    overflow: hidden;

    border-radius: 5px;
}

.message-box.message-box_size_s .message-box__content {
    max-width: 180px;
}

.message-box.message-box_size_s.message-box_type_text .message-box__content {
    max-width: 260px;
    padding: 5px 10px;

    font-size: 11px;
}

.message-box.message-box_size_s.message-box_type_text .message-box__backdrop:before {
    border-radius: 4px;
}


.message-box.message-box_size_m .message-box__content {
    min-width: 200px;
    max-width: 280px;
}

.message-box.message-box_size_l .message-box__content {
    min-width: 300px;
    max-width: 380px;
}

.message-box.message-box_size_l.message-box_type_text .message-box__content {
    max-width: 380px;
    padding: 15px 20px;

    font-size: 13px;
}

.message-box.message-box_size_l.message-box_type_text .message-box__backdrop:before {
    border-radius: 8px;
}

.message-box.message-box_size_xl .message-box__content {
    min-width: 400px;
    max-width: 480px;
    padding: 20px 70px;

    font-size: 14px;
}

/*.message-box.message-box_view_default {
    color: var(--color-text);
}*/

/*.message-box.message-box_view_default .message-box__backdrop:before {
    background-color: var(--color-bg);
}*/

/*.message-box.message-box_view_default .message-box__tail {
    color: var(--color-bg);
}*/

/*.message-box.message-box_view_default .message-box__close {
    color: var(--color-text);
}*/

/*.message-box.message-box_view_default .message-box__close:after {
    background-color: var(--color-bg);
}*/

.message-box.message-box_view_default .message-box__backdrop {
    opacity: .85;
}

.message-box.message-box_view_default .message-box__backelem {
    opacity: .85;
}

.message-box.message-box_view_default .message-box__close:hover:after {
    opacity: .85;
}

.message-box.message-box_view_default.message-box_opaque_yes .message-box__backdrop {
    opacity: 1;
}

.message-box.message-box_view_default.message-box_opaque_yes .message-box__backelem {
    opacity: 1;
}

.message-box.message-box_view_default.message-box_opaque_yes .message-box__close:hover:after {
    opacity: 1;
}

/*.message-box_tone_default {
    --color-text: #fff;
    --color-bg: #000;
}*/

/*.message-box_tone_dark {
    --color-text: #000;
    --color-bg: #fff;
}*/

/*.message-box_tone_grey {
    --color-text: #fff;
    --color-bg: #0057d3;
}*/

.message-box.message-box_view_default.message-box_tone_default {
    color: #fff;
}
.message-box.message-box_view_default.message-box_tone_default .message-box__backdrop:before {
    background-color: #000;
}
.message-box.message-box_view_default.message-box_tone_default .message-box__tail {
    color: #000;
}
.message-box.message-box_view_default.message-box_tone_default .message-box__close {
    color: #fff;
}
.message-box.message-box_view_default.message-box_tone_default .message-box__close:after {
    background-color: #000;
}

.message-box.message-box_view_default.message-box_tone_dark {
    color: #000;
}
.message-box.message-box_view_default.message-box_tone_dark .message-box__backdrop:before {
    background-color: #fff;
}
.message-box.message-box_view_default.message-box_tone_dark .message-box__tail {
    color: #fff;
}
.message-box.message-box_view_default.message-box_tone_dark .message-box__close {
    color: #000;
}
.message-box.message-box_view_default.message-box_tone_dark .message-box__close:after {
    background-color: #fff;
}

.message-box.message-box_view_default.message-box_tone_grey {
    color: #fff;
}
.message-box.message-box_view_default.message-box_tone_grey .message-box__backdrop:before {
    background-color: #0057d3;
}
.message-box.message-box_view_default.message-box_tone_grey .message-box__tail {
    color: #0057d3;
}
.message-box.message-box_view_default.message-box_tone_grey .message-box__close {
    color: #fff;
}
.message-box.message-box_view_default.message-box_tone_grey .message-box__close:after {
    background-color: #0057d3;
}

.link__inner {
    color: inherit;
}

.link__icon_side_right {
    margin-left: 5px;
}
/* TODO: Надо будет оставить отступы на иконках для единообразия, 
* сейчас в некоторых местах текущее правило перебивается и просто заменить стили не получится, 
* надо будет найти все использования (хотя бы в рамках islands), поправить и рассказать пользователям,
* если они как-то переопределяли */
.link__icon_side_left ~ .link__inner {
    margin-left: 5px;
}

.link[aria-disabled="true"] .link__icon {
    opacity: .5;
}

.link {
    text-decoration: none;

    outline: 0;

    touch-action: manipulation;
}

.utilityfocus .link:focus {
    outline: 2px solid #fc0;
}

.link[aria-disabled="true"] {
    pointer-events: none;

    color: #ddd;
}

.link {
    cursor: pointer;
}

.link__icon {
    transition: opacity .15s ease-out;
}

.link[aria-disabled="true"] {
    cursor: default;
}

/* because IE doesn't respects pointer-events:none */
.link[aria-disabled="true"]:hover {
    color: #ddd;
}

.link_nonvisual_yes {
    position: absolute;
    z-index: 32767;
    left: -32767px;
}

.link_nonvisual_yes.link_focused_yes,
.link_nonvisual_yes.link_pressed_yes {
    left: inherit;
}

.link_theme_black {
    color: #000;
}

.link_theme_black:hover {
    color: #c00;
}

.link_theme_ghost {
    color: #999;
}

.link_theme_ghost:hover {
    color: #000;
}

.link_theme_normal {
    color: #04b;
}

.link_theme_normal:hover {
    color: #c00;
}

.link_theme_outer {
    color: #070;
}

.link_theme_outer:hover {
    color: #c00;
}

.link_theme_pseudo {
    color: #04b;
}

.link_theme_pseudo .link__inner {
    border-bottom: 1px dotted;
}

.utilityfocus .link_theme_pseudo:focus {
    border-bottom: 1px dotted;
    outline: none;
    box-shadow: 0 0 0 2px #fc0;
}

.utilityfocus .link_theme_pseudo:focus .link__inner {
    border-bottom: none;
}

.link_theme_pseudo:hover {
    color: #c00;
}

.link_theme_strong {
    font-weight: 700;

    color: #04b;
}

.link_theme_strong:hover {
    color: #c00;
}

