@charset "UTF-8";

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
    line-height: 1.15;
    -webkit-text-size-adjust: 100%
}

body {
    margin: 0
}

main {
    display: block
}

h1 {
    font-size: 2em;
    margin: .67em 0
}

hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible
}

pre {
    font-family: monospace, monospace;
    font-size: 1em
}

a {
    background-color: transparent
}

abbr[title] {
    border-bottom: none;
    text-decoration: underline;
    text-decoration: underline dotted
}

b,
strong {
    font-weight: bolder
}

code,
kbd,
samp {
    font-family: monospace, monospace;
    font-size: 1em
}

small {
    font-size: 80%
}

sub,
sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline
}

sub {
    bottom: -.25em
}

sup {
    top: -.5em
}

img {
    border-style: none
}

button,
input,
optgroup,
select,
textarea {
    font-family: inherit;
    font-size: 100%;
    line-height: 1.15;
    margin: 0
}

button,
input {
    overflow: visible
}

button,
select {
    text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
    -webkit-appearance: button
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
    border-style: none;
    padding: 0
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
    outline: 1px dotted ButtonText
}

fieldset {
    padding: .35em .75em .625em
}

legend {
    box-sizing: border-box;
    color: inherit;
    display: table;
    max-width: 100%;
    padding: 0;
    white-space: normal
}

progress {
    vertical-align: baseline
}

textarea {
    overflow: auto
}

[type=checkbox],
[type=radio] {
    box-sizing: border-box;
    padding: 0
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

details {
    display: block
}

summary {
    display: list-item
}

template {
    display: none
}

[hidden] {
    display: none
}

* {
    outline: 0;
    box-sizing: border-box
}

body {
    font-family: "Basel Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Open Sans", "Helvetica Neue", sans-serif;
    color: #381a0c;
    background-color: #f4f3f2;
    font-size: 1rem;
    padding-top: 6.75rem
}

@media only screen and (min-width:992px) {
    body {
        font-size: 1.0625rem;
        padding-top: 6.25rem
    }
}

button {
    border: 0;
    background-color: inherit;
    outline: 0
}

img {
    max-width: 100%;
    height: auto
}

picture {
    display: block
}

a {
    text-decoration: none;
    text-underline-offset: .375rem;
    text-decoration-thickness: 1px
}

.list-reset {
    list-style-type: none !important;
    margin: 0;
    padding: 0
}

iframe {
    border: 0
}

textarea {
    width: 100%
}

.divider {
    border: 0;
    display: inline-block;
    background-color: #f4b71a;
    width: 3.5rem;
    height: 5px;
    border-radius: 2.5px;
    margin: 0 0 1rem
}

@media only screen and (min-width:992px) {
    .divider {
        left: 3rem;
        top: 3rem
    }
}

input[type=number]::-webkit-inner-spin-button,
input[type=number]::-webkit-outer-spin-button {
    -webkit-appearance: none;
    margin: 0
}

.scroll-margin {
    scroll-margin-top: 10rem
}

a[href^=tel] {
    color: inherit;
    text-decoration: none
}

address {
    line-height: 1.5;
    font-style: inherit
}

@font-face {
    font-family: vag;
    src: url(../fonts/vag-rounded-ce-bold.html) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-stretch: normal
}

@font-face {
    font-family: 'Basel Neue';
    src: url(../fonts/BaselNeue.html) format("woff2");
    font-weight: 400;
    font-style: normal;
    font-stretch: normal
}

@font-face {
    font-family: 'Basel Neue';
    src: url(../fonts/BaselNeueItalic.html) format("woff2");
    font-weight: 400;
    font-style: italic;
    font-stretch: normal
}

@font-face {
    font-family: 'Basel Neue';
    src: url(../fonts/BaselNeueMedium.html) format("woff2");
    font-weight: 500;
    font-style: normal;
    font-stretch: normal
}

@font-face {
    font-family: 'Basel Neue';
    src: url(../fonts/BaselNeueBold.html) format("woff2");
    font-weight: 700;
    font-style: normal;
    font-stretch: normal
}

@font-face {
    font-family: 'Basel Neue';
    src: url(../fonts/BaselNeueBoldItalic.html) format("woff2");
    font-weight: 700;
    font-style: italic;
    font-stretch: normal
}

.container {
    padding: 0 1.5rem;
    max-width: 100rem;
    margin: auto
}

@media only screen and (min-width:700px) {
    .container {
        padding: 0 3.5rem
    }
}

@media only screen and (min-width:992px) {
    .container {
        padding: 0 5rem
    }
}

.container--main {
    padding-top: 1.25rem;
    padding-bottom: 3.75rem

}

.container--fullscreen {
    max-width: 100%;
    
}

@media only screen and (min-width:700px) {
    .container--main,
    .container--fullscreen  {
        padding-top: 1rem
    }
}

@media only screen and (min-width:992px) {
    .container--75 {
        max-width: 87.5rem
    }
}

@media only screen and (min-width:1470px) {
    .container--75 {
        max-width: 70rem
    }
}

.container--vh {
    min-height: calc(100vh - 18.25rem)
}

@media only screen and (min-width:700px) {
    .container--vh {
        min-height: calc(100vh - 14.825rem)
    }
}

@media only screen and (min-width:992px) {
    .container--vh {
        min-height: calc(100vh - 12.875rem)
    }
}

@media only screen and (min-width:1470px) {
    .container--vh {
        min-height: calc(100vh - 11.375rem)
    }
}

.wrap-16-9 {
    height: 0;
    padding-bottom: 56.25%;
    position: relative
}

.wrap-16-9 iframe {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%
}

.h1,
.h2,
.h3,
h1,
h2,
h3 {
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    font-weight: 400;
    letter-spacing: 1px
}

.h1 .btn,
.h2 .btn,
.h3 .btn,
h1 .btn,
h2 .btn,
h3 .btn {
    font-family: "Basel Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Open Sans", "Helvetica Neue", sans-serif
}

.h1,
h1 {
    margin: 0 0 1.75rem;
    font-size: 2.5rem;
    line-height: 1.25
}

@media only screen and (min-width:1470px) {

    .h1,
    h1 {
        font-size: 3.75rem
    }
}

.h1--sm {
    font-size: 1.875rem
}

@media only screen and (min-width:1470px) {
    .h1--sm {
        font-size: 3rem
    }
}

.h2,
h2 {
    font-size: 1.875rem;
    line-height: 1.25;
    margin: 0 0 .75rem
}

@media only screen and (min-width:1470px) {

    .h2,
    h2 {
        font-size: 2.25rem;
        margin: 0 0 1.5rem
    }
}

.h3,
h3 {
    font-size: 1.3125rem;
    line-height: 1.25;
    margin: 0 0 .25rem
}

@media only screen and (min-width:1470px) {

    .h3,
    h3 {
        font-size: 1.5rem;
        margin: 0 0 .5rem
    }
}

h4 {
    margin: 0 0 1rem;
    font-size: 1.25rem
}

p {
    margin: 0;
    line-height: 1.5
}

.accordion__item {
    margin: 0 0 -1px;
    border: 1px solid #b5b5b5;
    background-color: #fff
}

.accordion__item .accordion__content {
    display: none;
    padding: 1rem 1.5rem;
    border: 0
}

.accordion__item.active {
    z-index: 1
}

.accordion__item.active .accordion__icon {
    transform: rotate(180deg)
}

.accordion__item.active .accordion__content {
    display: block
}

.accordion__icon {
    transform: none;
    transition: transform .2s ease-in-out;
    min-width: 1rem
}

.accordion__link {
    padding: 1rem 1.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-weight: 700;
    width: 100%;
    text-align: left
}

@media only screen and (min-width:992px) {
    .article--horizontal {
        display: flex
    }
}

@media only screen and (min-width:992px) {
    .article--horizontal .article__img {
        max-width: 41.6666%
    }
}

@media only screen and (min-width:992px) {
    .article--horizontal .article__content {
        padding-top: 5rem
    }

    .article--horizontal .article__content:before {
        content: "";
        position: absolute;
        top: 3.5rem;
        left: -2.5rem;
        width: 2.625rem;
        height: calc(100% - 3.5rem)
    }
}

@media only screen and (min-width:1470px) {
    .article--horizontal .article__content {
        padding-top: 7rem;
        padding-left: .125rem
    }
}

@media only screen and (min-width:992px) {
    .article--horizontal .article__perex {
        display: block;
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3
    }
}

.article__img {
    margin: 0 0 1.25rem
}

@media only screen and (min-width:992px) {
    .article__img {
        margin: 0
    }
}

.article__content {
    width: calc(100% - 1.5rem)
}

@media only screen and (min-width:992px) {
    .article__content {
        position: relative
    }

    .article__content:before {
        content: "";
        position: absolute;
        top: -2rem;
        left: 0;
        width: 100%;
        height: 3rem;
        background-color: #f4f3f2
    }
}

.article__link {
    position: relative;
    color: #381a0c
}

.article__link:hover {
    color: #735837
}

.article__perex {
    color: #706c6c;
    margin: 0 0 1.25rem
}

@media only screen and (min-width:992px) {
    .article__perex {
        margin: 0 0 1.5rem
    }
}

.btn {
    display: inline-flex;
    align-items: center;
    border-radius: .25rem;
    font-size: 1rem;
    padding: 0
}

@media only screen and (min-width:992px) {
    .btn {
        font-size: 1.0625rem
    }
}

a.btn,
button.btn {
    cursor: pointer
}

.btn__icon:first-child {
    margin-right: .5rem
}

.btn__icon:last-child {
    margin-left: .5rem
}

.btn--sm {
    font-size: .875rem
}

.btn--primary {
    color: #fff;
    background-color: #4267b2;
    padding: .825rem 1.25rem;
    border: 1px solid #4267b2
}

.btn--primary:hover {
    background-color: #375694;
    border-color: #375694
}

.btn--primary:focus {
    box-shadow: 0 0 0 .2rem rgba(55, 86, 148, .85)
}

.btn--secondary {
    color: #fff;
    background-color: #381a0c;
    padding: .825rem 1.25rem;
    border: 1px solid #381a0c
}

.btn--secondary:hover {
    background-color: #160a05;
    border-color: #160a05
}

.btn--secondary:focus {
    box-shadow: 0 0 0 .2rem rgba(22, 10, 5, .85)
}

.btn--outline {
    color: #735837;
    background-color: transparent;
    padding: .825rem 1.25rem;
    border: 1px solid #735837
}

.btn--outline:hover {
    color: #fff;
    background-color: #57432a;
    border-color: #57432a
}

.btn--outline:focus {
    box-shadow: 0 0 0 .2rem rgba(87, 67, 42, .65)
}

.btn--link {
    color: #735837;
    line-height: 1.5
}

.btn--link .btn__label {
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: .375rem;
    text-decoration-thickness: 1px
}

.btn--link .btn__icon {
    transition: transform .25s ease-in-out
}

.btn--link[href^=tel] .btn__label {
    text-decoration: none
}

.btn--link:hover {
    color: #381a0c;
    border-bottom-color: #735837
}

.btn--link:hover .btn__icon {
    transform: translateX(.325rem)
}

.btn--link:focus {
    color: #381a0c;
    border-bottom-color: #735837
}

.btn--link.toggle-active .btn__icon {
    transform: rotate(180deg)
}

.btn--select {
    color: #381a0c;
    background-color: #fff;
    padding: .625rem 1.25rem;
    border: 1px solid #aaa19d;
    justify-content: space-between
}

.btn--select:hover {
    border-color: #978c87
}

.btn--select:focus {
    box-shadow: 0 0 0 .2rem rgba(151, 140, 135, .85)
}

.btn--select svg {
    color: #f4b71a
}

.btn--frm {
    color: #381a0c;
    background-color: #f4f3f2;
    padding: .625rem 1rem;
    border: 1px solid #aaa19d;
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    border-radius: 0
}

.btn--frm:hover {
    border-color: #e1dfdc
}

.btn--frm:focus {
    box-shadow: 0 0 0 .2rem rgba(225, 223, 220, .85)
}

.breadcrumbs {
    list-style-type: none;
    margin: 0 0 1.5rem;
    padding: 0;
    display: flex;
    flex-wrap: wrap
}

@media only screen and (min-width:992px) {
    .breadcrumbs {
        margin: 5px 0 0 0
    }
}

.breadcrumbs__item {
    color: #aaa19d;
    line-height: 1.5;
    margin: 0 0 .25rem
}

.breadcrumbs__item:after {
    content: "/";
    display: inline-block;
    padding: 0 .25rem 0 0
}

.breadcrumbs__item:first-of-type .breadcrumbs__link {
    padding-left: 0
}

.breadcrumbs__item:last-of-type {
    white-space: nowrap;
    text-overflow: ellipsis;
    overflow: hidden
}

.breadcrumbs__item:last-of-type:after {
    display: none
}

.breadcrumbs__link {
    padding: 0 .25rem 0 0;
    color: #381a0c
}

.breadcrumbs__link:hover {
    text-decoration: underline
}

.card {
    padding: 2rem 1.5rem 3rem;
    background-color: #fff;
    position: relative;
    width: 100%
}

@media only screen and (min-width:992px) {
    .card {
        padding: 3rem 2rem
    }
}

@media only screen and (min-width:1470px) {
    .card {
        padding: 3rem 3rem
    }
}

.card__link {
    color: inherit
}

.card__link:hover .card__icon {
    transform: translateX(.325rem)
}

.card__perex {
    color: #706c6c;
    margin: 0 0 .75rem
}

@media only screen and (min-width:992px) {
    .card__perex {
        margin: 0 0 1.75rem
    }
}

.card__perex:last-child {
    margin-bottom: 0
}

.card__perex a {
    color: inherit
}

.card__perex a:hover {
    color: #381a0c
}

.card__tag {
    display: inline-block;
    white-space: nowrap;
    padding: .5rem 1.25rem;
    margin-right: -1.5rem
}

@media only screen and (min-width:992px) {
    .card__tag {
        margin-right: -2rem
    }
}

@media only screen and (min-width:1470px) {
    .card__tag {
        margin-right: -3rem
    }
}

.card__tag--table {
    padding: .25rem .75rem;
    margin-right: 0
}

.card__tag--sale {
    background-color: #ed6f68;
    color: #fff
}

.card__icon {
    transition: transform .25s ease-in-out;
    vertical-align: middle;
    margin-top: -4px
}

@media only screen and (min-width:700px) {
    .card-columns {
        column-count: 2;
        column-gap: 1.875rem
    }

    .card-columns>* {
        break-inside: avoid
    }

    .card-columns>:nth-child(2n+1) {
        order: 1
    }

    .card-columns>:nth-child(2n) {
        order: 2
    }
}

@media only screen and (min-width:992px) {

    .card-columns>:nth-child(2n),
    .card-columns>:nth-child(2n+1) {
        order: unset
    }
}

.cart__price {
    font-size: 1.5rem;
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif
}

.cart-list-heading {
    border-top: 2px solid #381a0c;
    padding: 1.25rem 0 0 0
}

@media only screen and (min-width:992px) {
    .cart-list-heading {
        display: flex;
        border-top: 0;
        padding: 0;
        margin: 0 0 1rem
    }
}

.cart-list-heading__title {
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    margin: 0 0 .25rem;
    font-size: 1.3125rem
}

@media only screen and (min-width:992px) {
    .cart-list-heading__title {
        margin: 0 1rem 0 0;
        font-family: "Basel Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Open Sans", "Helvetica Neue", sans-serif;
        font-size: 1.0625rem;
        font-weight: 500
    }
}

.cart-checkout {
    list-style-type: none;
    margin: 0 0 2.5rem;
    padding: 0
}

.cart-checkout__item {
    border-bottom: 1px solid #b5b5b5;
    padding: 1rem 0;
    display: flex;
    line-height: 1.5
}

.cart-checkout__item:first-child {
    border-top: 1px solid #b5b5b5
}

.cart-checkout__count {
    flex: 0 0 1.25rem;
    margin-right: .5rem;
    font-weight: 500
}

.cart-checkout__course {
    flex: 1 1 auto
}

.cart-checkout__price {
    font-weight: 500;
    display: block;
    margin: .5rem 0 0
}

@media only screen and (min-height:700px) and (min-width:992px) {
    .cart-sticky {
        position: sticky;
        top: 6.75rem
    }
}

.cart-course {
    padding: .5rem 0;
    border-top: 1px solid #b5b5b5;
    border-bottom: 1px solid #b5b5b5;
    margin: 0 0 2rem
}

@media only screen and (min-width:992px) {
    .cart-course {
        display: flex;
        justify-content: space-between
    }
}

.cart-course__item {
    padding: .5rem 0
}

@media only screen and (min-width:992px) {
    .cart-course__item {
        padding: 1rem 0
    }
}

.cart-course__head {
    font-weight: 500
}

@media only screen and (min-width:992px) {
    .cart-course__head {
        display: block;
        margin: 0 0 1rem;
        flex: 1
    }
}

.contact-form .frm-row--inline .frm-label {
    flex: 0 0 5.5rem;
    margin: 0 1rem 0 0
}

.contact-form__btn .btn__icon {
    color: #4267b2
}

@media only screen and (min-width:992px) {
    .contact-form__btn--lg {
        font-size: 1.5rem
    }
}

@media only screen and (min-width:992px) {
    .contact-form__textarea {
        display: flex
    }

    .contact-form__textarea .frm-row {
        display: flex;
        flex: 1
    }

    .contact-form__textarea .frm-label {
        padding-top: .5rem;
        align-self: flex-start;
        white-space: nowrap;
        display: none
    }

    .contact-form__textarea .frm-input {
        flex: 1;
        height: 100%
    }
}

.contact-form__btns {
    order: 1
}

@media only screen and (min-width:992px) {
    .contact-form__btns {
        order: initial
    }
}

@media only screen and (min-width:700px) {
    .contact-form__save {
        display: flex;
        flex-flow: row-reverse;
        justify-content: space-between;
        align-items: flex-end
    }
}

@media only screen and (min-width:992px) {
    .contact-form__save {
        margin-top: -2rem
    }
}

.course__title {
    margin: 0 0 1rem;
    font-size: 2.5rem;
    font-size: 1.875rem
}

@media only screen and (min-width:992px) {
    .course__title {
        margin: 0 0 1.5rem;
        font-size: 2.625rem
    }
}

.course__description {
    font-size: 1.1875rem;
    font-style: italic;
    line-height: 1.5;
    margin: 0 0 1.25rem
}

@media only screen and (min-width:992px) {
    .course__description {
        font-size: 1.375rem;
        margin: 0 0 3rem
    }
}

.course__order-form {
    margin: 0 0 2.5rem
}

@media only screen and (min-height:870px) and (min-width:992px) {
    .course__order-form {
        top: 6.75rem;
        position: sticky;
        margin: 0
    }
}

.course__side {
    display: none;
    position: relative
}

@media only screen and (min-width:992px) {
    .course__side {
        display: block
    }
}

.course-dates {
    display: none;
    border-radius: .25rem;
    color: #381a0c;
    background-color: #fff;
    padding: 0 1.25rem .625rem 1.25rem;
    border: 1px solid #aaa19d;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    z-index: 1;
    max-width: 20rem
}

.course-dates.active {
    display: block
}

.course-dates__date {
    font-size: .875rem;
    line-height: 1.5;
    border-bottom: 1px solid #b5b5b5;
    margin: 0 0 .625rem;
    padding: 0 0 .625rem
}

.course-dates__date:last-child {
    border-bottom: 0
}

.course-dates__close {
    font-size: .875rem;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid #b5b5b5;
    margin: 0 0 .75rem;
    padding: .75rem 0
}

.course-dates__close .btn__icon {
    color: #f4b71a;
    margin-left: .5rem
}

.course-order {
    color: #fff;
    background-color: #4267b2;
    padding: 2rem 1.5rem;
    margin-left: -1.5rem;
    margin-right: -1.5rem
}

@media only screen and (min-width:700px) {
    .course-order {
        margin-left: -3.5rem;
        margin-right: -3.5rem;
        padding: 2rem 3.5rem
    }
}

@media only screen and (min-width:992px) {
    .course-order {
        margin-left: 0;
        margin-right: 0;
        padding: 2rem 1.5rem
    }
}

.course-order .divider {
    background-color: #fff
}

.course-order .frm-chk+.frm-label,
.course-order .frm-chk:checked+.frm-label {
    color: inherit
}

.course-order .btn--link {
    color: inherit
}

.course-order__price {
    margin: 0 0 1.25rem
}

.course-order__price strong {
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif
}

.course-order__price--main {
    font-size: 1.25rem;
    margin: 0 0 .5rem
}

.course-order__select {
    position: relative
}

.course-order__select .btn--select {
    width: 100%;
    max-width: 20rem
}

@media only screen and (min-width:1470px) {
    .course-order__form {
        max-width: calc(20rem + 3rem)
    }
}

.footer {
    background-color: #fff;
    padding: 2.5rem 0;
    position: relative;
    overflow: hidden
}

@media only screen and (min-width:1470px) {
    .footer {
        padding: 5rem 0 0
    }
}

@media only screen and (min-width:992px) {
    .footer h3 {
        font-size: 2rem
    }
}

.footer--cart {
    padding: 1.75rem 0
}

.footer--cart .grid {
    justify-content: space-between
}

@media only screen and (min-width:992px) {
    .footer--cart .grid {
        justify-content: flex-start
    }
}

@media only screen and (min-width:700px) {
    .footer__block {
        position: relative;
        z-index: 1;
        padding-bottom: 5rem
    }
}

@media only screen and (min-width:1470px) {
    .footer__block {
        padding-bottom: 8.5rem
    }
}

.footer__ilustration {
    overflow: hidden;
    margin: 0 -1.5rem .25rem;
    position: relative
}

@media only screen and (min-width:700px) {
    .footer__ilustration {
        position: absolute;
        right: -3rem;
        bottom: -2.5rem;
        margin: 0;
        width: 15rem
    }
}

@media only screen and (min-width:1470px) {
    .footer__ilustration {
        overflow: visible;
        position: static;
        width: auto;
        display: flex;
        align-items: flex-end;
        padding-bottom: 2.5rem
    }
}

.footer__bg {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 1900px;
    transform: translate(-50%, -50%)
}

@media only screen and (min-width:700px) {
    .footer__bg {
        width: 1200px
    }
}

@media only screen and (min-width:1470px) {
    .footer__bg {
        width: 1900px
    }
}

.footer__img {
    width: 55%;
    position: relative;
    z-index: 1;
    margin: 1.75rem auto
}

@media only screen and (min-width:700px) {
    .footer__img {
        width: 95%
    }
}

@media only screen and (min-width:1470px) {
    .footer__img {
        max-width: 375px;
        margin: -2.5rem auto -3.5rem
    }
}

@media only screen and (min-width:700px) {
    .footer__social {
        position: absolute;
        left: calc((100% + 1.875rem) * -1);
        bottom: 0
    }
}

@media only screen and (min-width:992px) {
    .footer__social {
        left: calc((100% + 2.5rem) * -1)
    }
}

@media only screen and (min-width:1470px) {
    .footer__social {
        left: 0;
        bottom: 2.75rem
    }
}

@media only screen and (min-width:1470px) {
    .footer__consent {
        position: absolute;
        bottom: 2.75rem;
        left: 0
    }
}

.footer__form .frm-input {
    max-width: calc(100% - 6.5rem);
    background-color: #f4f3f2
}

.frm-input {
    border-radius: .25rem;
    color: #381a0c;
    background-color: #fff;
    padding: .625rem 1.25rem;
    border: 1px solid #aaa19d;
    font-size: 1rem
}

@media only screen and (min-width:992px) {
    .frm-input {
        font-size: 1.0625rem
    }
}

.frm-input:focus {
    border-color: #978c87
}

.frm-input:disabeld {
    background-color: #f4f3f2
}

.frm-input--sm {
    padding: .5rem .875rem
}

.frm-input--icon {
    padding-right: calc(1.25rem + .75rem)
}

.form-input-group {
    display: flex;
    align-items: center
}

.form-input-group .frm-input {
    border-radius: .25rem 0 0 .25rem;
    flex: 1;
    margin-right: -1px
}

.form-input-group .btn {
    border-radius: 0 .25rem .25rem 0;
    padding: .625rem 1.25rem
}

.frm-label {
    display: block;
    margin: 0 0 .5rem;
    font-weight: 400
}

.frm-label-optional {
    display: block;
    font-size: .9375rem;
    color: #aaa19d
}

.frm-count {
    display: flex
}

.frm-count .btn {
    margin: 0
}

.frm-count .frm-input {
    margin: 0 -1px;
    border-radius: 0;
    width: 3rem;
    padding: .625rem .25rem;
    text-align: center
}

.frm-count--xs .btn {
    padding: .5rem .875rem
}

.frm-count--xs .frm-input {
    padding: .5rem .875rem
}

.frm-chk {
    display: none
}

.frm-chk:checked+.frm-label {
    color: #381a0c
}

.frm-chk:checked+.frm-label:after {
    content: "";
    position: absolute;
    left: .325rem;
    top: .875rem;
    width: 1rem;
    height: .625rem;
    background-image: url(../images/check.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.frm-chk+.frm-label {
    padding: .625rem 0 .625rem 2.5rem;
    position: inherit;
    color: #706c6c
}

.frm-chk+.frm-label:before {
    content: "";
    position: absolute;
    left: 0;
    top: .325rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    color: #381a0c;
    background-color: #fff;
    border: 1px solid #aaa19d
}

.frm-radio {
    display: none
}

.frm-radio:checked+.frm-label {
    color: #381a0c
}

.frm-radio:checked+.frm-label:after {
    content: "";
    position: absolute;
    left: .425rem;
    top: .825rem;
    width: .75rem;
    height: .75rem;
    border-radius: 50%;
    background-color: #4267b2
}

.frm-radio+.frm-label {
    padding: .625rem 0 .625rem 2.5rem;
    position: inherit;
    color: #706c6c
}

.frm-radio+.frm-label:before {
    content: "";
    position: absolute;
    left: 0;
    top: .375rem;
    width: 1.5rem;
    height: 1.5rem;
    border-radius: 50%;
    color: #381a0c;
    background-color: #fff;
    border: 1px solid #aaa19d
}

.frm-row {
    position: relative;
    margin: 0 0 1rem
}

.frm-row .btn--select,
.frm-row .frm-input {
    width: 100%
}

.frm-row--inline {
    display: flex;
    align-items: center
}

.frm-row--inline .frm-label {
    flex: 0 0 5.5rem;
    margin: 0 1rem 0 0;
    text-align: right
}

.frm-row--inline .frm-input {
    max-width: 100%
}

@media only screen and (min-width:700px) {
    .frm-row--inline-sm {
        display: flex;
        align-items: center
    }

    .frm-row--inline-sm .frm-label {
        flex: 0 0 10.5rem;
        margin: 0 1rem 0 0;
        text-align: right
    }

    .frm-row--inline-sm .frm-input {
        max-width: 100%
    }
}

.frm-row__icon {
    position: absolute;
    right: calc(1.25rem - .5rem);
    top: 50%;
    transform: translateY(-50%)
}

.frm-select {
    display: none;
    border-radius: .25rem;
    color: #381a0c;
    background-color: #fff;
    padding: 0 1.25rem .625rem 1.25rem;
    border: 1px solid #aaa19d;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    z-index: 1;
    min-width: 16.25rem
}

.frm-select.active {
    display: block
}

.frm-select__item {
    line-height: 1.5;
    border-bottom: 1px solid #b5b5b5;
    margin: 0 0 .625rem;
    padding: 0 0 .625rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #706c6c
}

.frm-select__item:last-child {
    border-bottom: 0;
    margin-bottom: 0
}

.frm-select__close {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    width: 100%;
    border-bottom: 1px solid #b5b5b5;
    margin: 0 0 .75rem;
    padding: .75rem 0;
    color: #735837
}

@media only screen and (min-width:992px) {
    .frm-select__close {
        font-size: 1.0625rem
    }
}

.frm-select__close .btn__icon {
    margin-left: .5rem
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    background-color: #fff;
    display: flex;
    flex-wrap: wrap;
    z-index: 20
}

@media only screen and (min-width:992px) {
    .header {
        align-items: center;
        justify-content: space-between;
        padding: 0 2rem
    }
}

@media only screen and (min-width:1470px) {
    .header {
        padding: 0 5rem
    }
}

.header__logo {
    padding: 1.25rem 0 0 1.25rem
}

@media only screen and (min-width:992px) {
    .header__logo {
        padding: 1rem .25rem 1rem 0
    }
}

@media only screen and (min-width:992px) {
    .header__logo svg {
        width: 89px;
        height: 24px
    }
}

.header__links {
    font-size: .8125rem;
    color: #aaa19d;
    font-style: italic;
    padding: 1.5rem 1.25rem 1rem 0;
    flex: 1;
    text-align: right
}

@media only screen and (min-width:700px) {
    .header__links {
        font-size: .875rem;
        padding: 1.25rem 1.25rem 1.25rem 0
    }
}

@media only screen and (min-width:992px) {
    .header__links {
        order: -1;
        min-width: 100%;
        text-align: left;
        font-size: .9375rem;
        padding: 1rem 0 0
    }
}

.header__link {
    color: #aaa19d;
    letter-spacing: 1px
}

.header__link:hover {
    text-decoration: underline;
    color: #978c87
}

.header__tools {
    display: flex;
    align-items: center;
    border-top: 1px solid #f4f3f2;
    width: 100%;
    list-style-type: none;
    padding: 0;
    margin: 0
}

@media only screen and (min-width:992px) {
    .header__tools {
        border-top: 0;
        width: auto
    }
}

@media only screen and (min-width:992px) {
    .header__nav {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: center
    }
}

@media only screen and (max-width:991px) {
    .scrolled .header {
        justify-content: space-between;
        border-bottom: 1px solid #f4f3f2;
        box-shadow: 0 1px 4px rgba(156, 156, 156, .05)
    }

    .scrolled .header .header__links {
        display: none
    }

    .scrolled .header .header__tools {
        width: auto;
        border-top: 0
    }

    .scrolled .header .header-tool__btn {
        padding: 0 .5rem;
        justify-content: center
    }

    .scrolled .header .header-tool__item {
        flex: 1;
        max-width: 6.25rem;
        min-width: 3.5rem
    }

    .scrolled .header .header-tool__label {
        display: none
    }

    .scrolled .header .tools__icon--menu {
        margin: 0
    }

    .scrolled .header .search.active {
        bottom: -2.5rem
    }
}

.header-tool__item {
    flex: 0 0 20%;
    position: relative;
    max-width: 6.25rem;
    display: flex
}

@media only screen and (min-width:992px) {
    .header-tool__item {
        flex: 0;
        padding-top: .5rem;
        padding-bottom: .5rem
    }
}

@media only screen and (min-width:992px) {
    .header-tool__item:last-child .header-tool__btn {
        padding-right: 0
    }
}

.header-tool__item--menu {
    flex: 1 1 auto;
    max-width: none
}

@media only screen and (min-width:992px) {
    .header-tool__item--menu {
        display: none
    }
}

.header-tool__item--menu .header-tool__btn {
    justify-content: start;
    padding: 0 1.25rem;
    border-left: 0;
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    text-transform: uppercase;
    letter-spacing: 1px
}

.header-tool__item--user {
    position: static
}

@media only screen and (min-width:700px) {
    .header-tool__item--user {
        position: relative
    }
}

@media only screen and (min-width:992px) {
    .header-tool__item--user:hover .header-user {
        display: block
    }
}

@media only screen and (min-width:992px) {
    .header-tool__item--cart:hover .header-cart {
        display: block
    }
}

.header-tool__item--search {
    position: static
}

.header-tool__btn {
    display: flex;
    flex: 1;
    align-items: center;
    justify-content: center;
    height: 3.125rem;
    cursor: pointer;
    width: 100%;
    border-left: 1px solid #f4f3f2
}

@media only screen and (min-width:992px) {
    .header-tool__btn {
        height: 1.5rem;
        padding: 0 1.5rem;
        border-left-color: #aaa19d
    }
}

.tools__icon--menu {
    margin-left: .5rem
}

@media only screen and (min-width:992px) {
    .tools__icon--cart {
        width: 22px;
        height: 20px
    }
}

.header-tool__badge {
    background-color: #4267b2;
    color: #fff;
    text-align: center;
    height: 1.25rem;
    line-height: 1.25rem;
    border-radius: 50%;
    padding: 0 .25rem;
    min-width: 1.25rem;
    position: absolute;
    left: 50%;
    top: 50%;
    font-size: .75rem;
    transform: translate(.25rem, -1rem)
}

@media only screen and (min-width:992px) {
    .header-tool__badge {
        transform: translate(.875rem, -1.125rem)
    }
}

.search {
    display: none
}

.search .search__overlay {
    display: none
}

.search.active {
    display: block;
    position: absolute;
    left: 1.25rem;
    right: 1.25rem;
    bottom: .5rem;
    z-index: 30
}

@media only screen and (min-width:992px) {
    .search.active {
        width: 40rem;
        right: 2rem;
        left: auto
    }
}

@media only screen and (min-width:1470px) {
    .search.active {
        right: 5rem
    }
}

.search.active .search__overlay {
    display: block
}

.search__overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .5)
}

.search__content {
    position: relative;
    z-index: 1;
    display: flex;
    background-color: #fff;
    padding: .25rem .5rem
}

.search__content .frm-input {
    background-color: #fff;
    border-color: #fff;
    flex: 1;
    max-width: calc(100% - 7.2rem)
}

.search__content .frm-input:focus {
    border-color: #fff
}

.search__close {
    position: absolute;
    top: -1.75rem;
    right: -.5rem;
    display: flex;
    align-items: center;
    color: #fff;
    font-size: 1.0625rem;
    letter-spacing: 1px;
    cursor: pointer;
    text-shadow: 0 5px 15px rgba(0, 0, 0, .7)
}

.search__close .btn__label {
    margin-left: .25rem
}

.search-results {
    position: absolute;
    left: 0;
    top: 100%;
    right: 0;
    background-color: #fff;
    padding: .825rem 1.25rem;
    border-top: 1px solid #aaa19d;
    max-height: calc(95vh - 6rem);
    overflow-y: auto
}

.search-results__title {
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    margin: 0 0 .25rem;
    font-size: .875rem;
    text-transform: uppercase;
    letter-spacing: 1px
}

.search-results__list {
    list-style-type: none;
    margin: 0 0 1rem;
    padding: 0
}

.search-results__list:last-of-type {
    margin-bottom: 0
}

.search-results__link {
    list-style-type: none;
    padding: .25rem 0;
    display: block;
    color: #aaa19d;
    font-size: .9375rem
}

.search-results__link:hover {
    text-decoration: underline
}

.search-results__link strong {
    color: #735837;
    font-weight: 400
}

.search-results__link--more {
    color: #735837;
    font-style: italic
}

.header-user {
    display: none;
    position: absolute;
    right: 2.5vw;
    top: 100%;
    width: 95vw;
    max-width: 22.5rem;
    margin: -.25rem 0 0 0;
    background-color: #fff;
    border: 1px solid #aaa19d;
    padding: 1.25rem;
    z-index: 1
}

@media only screen and (min-width:700px) {
    .header-user {
        right: 0
    }
}

@media only screen and (min-width:992px) {
    .header-user {
        margin: 0 .75rem 0 0
    }
}

@media screen and (max-width:480px),
screen and (max-height:480px) {
    .header-user {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: 0;
        width: 100vw;
        max-width: none;
        overflow-y: auto;
        z-index: 30;
        padding-top: 3.5rem
    }
}

.header-user.active {
    display: block
}

@media only screen and (min-width:700px) {
    .header-user:hover {
        display: block
    }
}

.header-user__title {
    border-bottom: 1px solid #b5b5b5;
    padding: 0 0 1.25rem;
    margin: 0 0 1.25rem;
    color: #735837
}

.header-user__name {
    display: flex;
    justify-content: space-between;
    align-items: baseline
}

.header-user__name strong {
    font-weight: 400;
    color: #381a0c;
    display: block
}

.header-user__link {
    text-decoration: underline;
    text-underline-offset: .375rem;
    text-decoration-thickness: 1px;
    color: #735837;
    padding: .25rem 0;
    margin: 0 0 .75rem;
    display: block
}

.header-user__link:hover {
    color: #381a0c
}

.header-user__close {
    display: none
}

@media screen and (max-width:480px),
screen and (max-height:480px) {
    .header-user__close {
        position: absolute;
        right: .25rem;
        top: 1.25rem;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        color: #735837;
        letter-spacing: 1px;
        cursor: pointer
    }

    .header-user__close .btn__label {
        margin-left: .25rem
    }
}

.header-cart {
    display: none;
    position: absolute;
    right: 0;
    top: 100%;
    width: 95vw;
    max-width: 30rem;
    margin: -.25rem 0 0 0;
    background-color: #fff;
    border: 1px solid #aaa19d;
    padding: .5rem 1.25rem 1.25rem;
    z-index: 1
}

@media screen and (max-width:480px),
screen and (max-height:480px) {
    .header-cart {
        position: fixed;
        top: 0;
        right: 0;
        left: 0;
        bottom: 0;
        margin: 0;
        width: 100vw;
        max-width: none;
        overflow-y: auto;
        z-index: 30
    }
}

@media only screen and (min-width:992px) {
    .header-cart {
        margin: 0
    }
}

.header-cart.active {
    display: block
}

@media only screen and (min-width:700px) {
    .header-cart:hover {
        display: block
    }
}

.header-cart__title {
    display: none
}

@media screen and (max-width:480px),
screen and (max-height:480px) {
    .header-cart__title {
        display: block
    }
}

.header-cart__close {
    display: none
}

@media screen and (max-width:480px),
screen and (max-height:480px) {
    .header-cart__close {
        position: absolute;
        right: .25rem;
        top: 1.25rem;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        color: #735837;
        letter-spacing: 1px;
        cursor: pointer
    }

    .header-cart__close .btn__label {
        margin-left: .25rem
    }
}

.header-cart__table {
    border-collapse: collapse;
    margin: 0 0 1.25rem;
    font-size: .9375rem
}

@media only screen and (min-width:992px) {
    .header-cart__table {
        font-size: 1rem
    }
}

.header-cart__table td {
    vertical-align: middle;
    padding: 1.25rem .25rem
}

.header-cart__table td:first-child {
    padding-left: 0
}

.header-cart__table td:last-child {
    padding-right: 0
}

.header-cart__table tr {
    border-bottom: 1px solid #aaa19d
}

.header-cart__footer {
    display: flex;
    justify-content: space-between;
    margin: 0 0 1.75rem
}

.header-cart__footer .btn--link {
    text-decoration: none
}

.checkout {
    list-style: none;
    display: flex;
    justify-content: space-between;
    margin: 0 0 2rem;
    padding: 0
}

.checkout__item {
    counter-increment: item;
    text-align: center;
    padding: 0 .25rem;
    flex: 1;
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-content: flex-start
}

@media only screen and (max-width:480px) {
    .checkout__item {
        font-size: .9375rem
    }
}

@media only screen and (min-width:700px) {
    .checkout__item {
        flex: 1 1 auto;
        flex-wrap: nowrap;
        align-items: center;
        text-align: left;
        padding: 0;
        justify-content: flex-start
    }
}

.checkout__item:before {
    content: counter(item);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.875rem;
    height: 1.875rem;
    min-width: 1.875rem;
    border-radius: 50%;
    border: 1px solid
}

@media only screen and (min-width:700px) {
    .checkout__item:last-child {
        justify-content: flex-end;
        flex: 0;
        white-space: nowrap
    }
}

.checkout__item:last-child .checkout__link {
    padding-right: 0
}

.checkout__item--active {
    font-weight: 700
}

.checkout__item--active:before {
    border-color: #4267b2;
    background-color: #4267b2;
    color: #fff
}

.checkout__item--inactive {
    color: #aaa19d
}

.checkout__item--inactive:before {
    border-color: #aaa19d;
    color: #aaa19d
}

.checkout__link {
    color: inherit;
    padding: .5rem 0 0;
    flex: 1 1 100%
}

@media only screen and (min-width:700px) {
    .checkout__link {
        padding: 0 0 0 .25rem;
        flex: 0;
        white-space: nowrap
    }
}

@media only screen and (min-width:992px) {
    .checkout__link {
        padding: 0 0 0 1rem
    }
}

.checkout__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    color: #aaa19d;
    position: absolute;
    top: .75rem;
    right: -.5rem
}

@media only screen and (min-width:700px) {
    .checkout__icon {
        position: static
    }
}

.checkout__icon svg {
    margin: 0 0 0 -.5rem
}

.hero {
    position: relative
}

@media only screen and (min-width:700px) {
    .hero--home {
        overflow: hidden;
        margin-left: -3.5rem;
        margin-right: -3.5rem;
        padding-left: 3.5rem;
        padding-right: 3.5rem
    }

    .hero--home .hero__content {
        max-width: 50%
    }
}

@media only screen and (min-width:992px) {
    .hero--home {
        margin-left: -5rem;
        margin-right: -5rem;
        padding-left: 5rem;
        padding-right: 5rem
    }
}

.hero--home .hero__image {
    margin: 2rem -1.5rem -4.75rem
}

@media only screen and (min-width:700px) {
    .hero--home .hero__image {
        position: absolute;
        bottom: -7rem;
        right: -135%;
        width: 70vw;
        margin: 0
    }
}

@media only screen and (min-width:992px) {
    .hero--home .hero__image {
        bottom: -15rem;
        right: -136%;
        width: 155%
    }
}

@media only screen and (min-width:1470px) {
    .hero--home .hero__image {
        top: 3rem;
        right: -126%;
        width: 150%
    }
}

.hero--home .hero__content {
    margin: 0 0 2rem;
    padding: 2rem 0 0;
    position: relative
}

@media only screen and (min-width:700px) {
    .hero--home .hero__content {
        margin: 0 0 2.75rem;
        padding: 1rem 0 0
    }
}

@media only screen and (min-width:992px) {
    .hero--home .hero__content {
        margin: 0 0 6rem;
        padding: 3rem 0 0
    }
}

@media only screen and (min-width:1470px) {
    .hero--home .hero__content {
        margin: 0 0 9rem;
        padding: 7rem 0 0
    }
}

@media only screen and (min-width:992px) {
    .hero--home .hero__content .btn--link .btn__icon {
        width: 3.75rem;
        height: 3.75rem;
        margin-right: 1rem
    }
}

.hero--home .hero__description {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:700px) {
    .hero--home .hero__description {
        padding-right: 1.875rem
    }
}

@media only screen and (min-width:992px) {
    .hero--home .hero__description {
        margin: 0 0 3rem
    }
}

.hero--pages {
    padding-bottom: 7.5rem
}

@media only screen and (min-width:700px) {
    .hero--pages {
        padding-bottom: 0
    }
}

.hero--pages .hero__image-wrap {
    position: absolute;
    bottom: -9rem;
    right: -1.5rem;
    overflow: visible;
    overflow-x: hidden;
    width: 23.375rem;
    height: 18.5rem
}

@media only screen and (min-width:700px) {
    .hero--pages .hero__image-wrap {
        position: absolute;
        bottom: -4rem;
        right: -3.5rem;
        width: 30rem;
        height: 25rem
    }
}

@media only screen and (min-width:992px) {
    .hero--pages .hero__image-wrap {
        bottom: -10rem;
        right: -5rem;
        width: 40rem;
        height: 26.675rem
    }
}

@media only screen and (min-width:1470px) {
    .hero--pages .hero__image-wrap {
        width: 42rem;
        height: 32.625rem;
        bottom: -12rem
    }
}

@media only screen and (max-width:699px) {
    .hero--pages .hero__image-wrap--center {
        left: -1.5rem;
        right: 0
    }
}

.hero--pages .hero__image-wrap--center .hero__image {
    right: 0
}

@media only screen and (min-width:1470px) {
    .hero--pages .hero__image-wrap--relative .hero__image {
        right: 0
    }
}

@media only screen and (max-width:699px) {
    .hero--pages .hero__image-wrap--relative {
        bottom: -3rem;
        left: -1.5rem;
        right: 0
    }

    .hero--pages .hero__image-wrap--relative .hero__image {
        right: 0
    }
}

.hero--pages .hero__image {
    position: absolute;
    bottom: 0;
    right: -6rem;
    max-width: 100%
}

@media only screen and (min-width:992px) {
    .hero--pages .hero__image {
        right: -10rem
    }
}

@media only screen and (min-width:1470px) {
    .hero--pages .hero__image {
        right: -11rem
    }
}

.hero--courses .hero__description {
    margin: 0 0 2rem
}

@media only screen and (min-width:700px) {
    .hero--courses .hero__description {
        margin: 0 0 3rem
    }
}

@media only screen and (min-width:992px) {
    .hero--courses .hero__description {
        margin: 0 0 4rem
    }
}

.hero--courses .hero__content {
    position: relative;
    z-index: 1
}

.hero--courses .frm-row {
    max-width: 20rem
}

@media only screen and (min-width:700px) {
    .hero--courses .frm-row {
        max-width: 100%
    }
}

.hero--courses .hero__image-wrap {
    position: absolute;
    bottom: -6.75rem;
    right: -1.5rem;
    overflow: visible;
    overflow-x: hidden;
    width: 13.5rem;
    height: 10.5rem
}

@media only screen and (min-width:700px) {
    .hero--courses .hero__image-wrap {
        bottom: -10rem;
        right: -3.5rem;
        width: 25rem;
        height: 19.5rem
    }
}

@media only screen and (min-width:992px) {
    .hero--courses .hero__image-wrap {
        bottom: -4rem;
        right: -2rem;
        width: 30rem;
        height: 23.25rem
    }
}

@media only screen and (min-width:1470px) {
    .hero--courses .hero__image-wrap {
        width: 48rem;
        height: 37.25rem;
        right: -5rem;
        bottom: -6rem
    }
}

.hero--courses .hero__image {
    position: absolute;
    bottom: 0;
    right: -3rem;
    max-width: 100%
}

.hero--catalog .hero__description {
    margin: 0 0 2rem
}

@media only screen and (min-width:700px) {
    .hero--catalog .hero__description {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:992px) {
    .hero--catalog .hero__description {
        margin: 0 0 5.5rem
    }
}

.hero--catalog .hero__content {
    position: relative;
    z-index: 1
}

.hero--catalog .frm-row {
    max-width: 20rem
}

@media only screen and (min-width:700px) {
    .hero--catalog .frm-row {
        max-width: 100%
    }
}

.hero--catalog .hero__image-wrap {
    position: absolute;
    bottom: -6.75rem;
    right: -1.5rem;
    overflow: visible;
    overflow-x: hidden;
    width: 13.5rem;
    height: 10.5rem
}

@media only screen and (min-width:700px) {
    .hero--catalog .hero__image-wrap {
        bottom: -12.25rem;
        right: -3.5rem;
        width: 25rem;
        height: 19.5rem
    }
}

@media only screen and (min-width:992px) {
    .hero--catalog .hero__image-wrap {
        bottom: -10rem;
        right: -5rem;
        width: 25rem;
        height: 19.5rem
    }
}

@media only screen and (min-width:1470px) {
    .hero--catalog .hero__image-wrap {
        width: 42rem;
        height: 32.625rem;
        bottom: -12rem
    }
}

.hero--catalog .hero__image {
    position: absolute;
    bottom: 0;
    right: -3rem;
    max-width: 100%
}

@media only screen and (min-width:1470px) {
    .hero--catalog .hero__image {
        right: 0
    }
}

.hero--contact .hero__image-wrap {
    z-index: -1;
    position: absolute;
    overflow: hidden
}

@media only screen and (min-width:992px) {
    .hero--contact .hero__image-wrap {
        top: -5.5rem;
        bottom: auto;
        right: -5rem;
        height: 26.675rem;
        width: 40rem
    }
}

@media only screen and (min-width:1470px) {
    .hero--contact .hero__image-wrap {
        height: 35rem;
        width: 60rem
    }
}

.hero--contact .hero__image {
    position: absolute;
    top: 0;
    bottom: auto;
    max-width: 100%;
    right: 0
}

.hero__description {
    font-size: 1.1875rem;
    font-style: italic;
    line-height: 1.5
}

@media only screen and (min-width:992px) {
    .hero__description {
        font-size: 1.375rem
    }
}

.listing-select {
    display: none
}

@media only screen and (min-width:992px) {
    .listing-select {
        position: absolute;
        right: -3rem;
        bottom: -2rem
    }
}

.listing-switch {
    margin-bottom: -2rem
}

.listing-switch__item {
    opacity: .5;
    transition: opacity .25s ease-in-out
}

.listing-switch__item:hover {
    opacity: 1
}

.listing-switch__item--active {
    opacity: 1
}

.list-checks>li {
    padding: 0 0 0 2rem;
    margin: 0 0 1rem;
    position: relative;
    color: #706c6c;
    font-size: .875rem
}

.list-checks>li:before {
    content: "";
    position: absolute;
    left: 0;
    top: -.125rem;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 50%;
    background-color: #4267b2
}

.list-checks>li:after {
    content: "";
    position: absolute;
    left: .125rem;
    top: .25rem;
    width: 1rem;
    height: .625rem;
    background-image: url(../images/check-white.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain
}

.milestone {
    list-style: none;
    margin: 0 0 1rem;
    padding: 0 0 1.75rem;
    border-bottom: 1px solid #aaa19d
}

@media only screen and (min-width:992px) {
    .milestone {
        display: flex;
        flex-flow: column;
        justify-content: center;
        padding: 1rem 1rem 1rem 4rem;
        border-bottom: 0;
        border-left: 1px solid #aaa19d
    }
}

.milestone--primary .milestone__value {
    color: #4267b2
}

.milestone__value {
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    font-size: 1.875rem;
    margin: 0 0 .5rem
}

@media only screen and (min-width:992px) {
    .milestone__value {
        font-size: 3rem
    }
}

.milestone__content {
    line-height: 1.5;
    font-weight: 700
}

.modal {
    display: none
}

.modal.active {
    display: block;
    position: relative;
    z-index: 30
}

.modal--login .modal__content {
    max-width: 50rem
}

.modal--video .modal__content {
    background-color: transparent;
    color: #fff;
    overflow-y: unset;
    padding: 0
}

.modal--video .modal__close {
    top: -2.5rem;
    right: -.5rem
}

.modal__overlay {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(23, 23, 23, .8)
}

.modal__content {
    position: fixed;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background-color: #fff;
    color: #381a0c;
    width: 90vw;
    max-width: 1200px;
    max-height: 90vh;
    overflow-y: auto
}

.modal__close {
    position: absolute;
    top: .75rem;
    right: 0;
    display: flex;
    align-items: center;
    color: inherit;
    font-size: 1.0625rem;
    letter-spacing: 1px;
    cursor: pointer;
    background-color: transparent
}

.modal__close .btn__label {
    margin-left: .25rem
}

.nav {
    background-color: #4267b2;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    transform: translateY(-100%);
    overflow: hidden;
    overflow-y: auto;
    transition: transform .25s ease-in-out;
    list-style: none;
    padding: 0 0 1.5rem;
    margin: 0;
    z-index: 1
}

@media only screen and (min-width:992px) {
    .nav {
        background-color: transparent;
        position: static;
        transform: none;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
        z-index: unset
    }
}

.nav.active {
    transform: translateY(0)
}

.nav__item {
    margin-bottom: .25rem;
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif
}

@media only screen and (min-width:992px) {
    .nav__item {
        margin: 0 .5rem
    }
}

@media only screen and (min-width:992px) {
    .nav__item--close {
        display: none
    }
}

.nav__item--close .nav__link {
    text-align: right;
    padding: 1.25rem 1.5rem .25rem;
    width: 100%
}

.nav__item--close .nav__link:hover:before {
    display: none
}

.nav__link {
    color: #381a0c;
    padding: 1rem 0 1rem;
    display: block;
    font-size: 1.0625rem;
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    cursor: pointer;
    text-align: center;
    white-space: nowrap;
    text-transform: uppercase;
    position: relative;
    letter-spacing: 1px
}

@media only screen and (min-width:992px) {
    .nav__link {
        padding: 1.5rem 1rem
    }
}

@media only screen and (min-width:1470px) {
    .nav__link {
        padding: 1.5rem 1.25rem
    }
}

.nav__link.nav__link--active:before,
.nav__link:hover:before {
    content: "";
    position: relative;
    margin-left: -2rem;
    top: -.125rem;
    left: -.5rem;
    display: inline-block;
    background-color: #f4b71a;
    width: 1.5rem;
    height: 3px;
    border-radius: 1px;
    transform: translateY(-50%)
}

@media only screen and (min-width:992px) {

    .nav__link.nav__link--active:before,
    .nav__link:hover:before {
        position: absolute;
        top: 50%;
        left: -.375rem;
        width: .75rem;
        margin: 0
    }
}

@media only screen and (min-width:1470px) {

    .nav__link.nav__link--active:before,
    .nav__link:hover:before {
        left: -.625rem;
        width: 1.5rem
    }
}

@media only screen and (min-width:992px) {
    .nav__item--en {
        position: absolute;
        right: 2rem;
        top: 0;
        text-align: right;
        margin: 0
    }
}

@media only screen and (min-width:1470px) {
    .nav__item--en {
        right: 5rem
    }
}

.nav__item--en .nav__link {
    font-style: italic;
    font-size: .9375rem;
    color: #fff;
    font-family: "Basel Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Open Sans", "Helvetica Neue", sans-serif;
    letter-spacing: 1px;
    text-transform: none
}

@media only screen and (min-width:992px) {
    .nav__item--en .nav__link {
        color: #aaa19d;
        padding: 1.25rem 0 1.25rem .75rem
    }

    .nav__item--en .nav__link:hover {
        text-decoration: underline;
        color: #978c87
    }
}

.nav__item--en .nav__link:before {
    display: none
}

.pagination {
    display: flex;
    align-items: center;
    justify-content: center;
    list-style: none;
    padding: 0;
    margin: 0
}

.pagination__item {
    text-align: center
}

.pagination__link {
    color: #aaa19d;
    padding: .25rem 1rem
}

a.pagination__link,
button.pagination__link {
    color: #381a0c;
    font-weight: 500
}

.pagination__link--btn {
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 50%;
    background-color: #aaa19d;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0 .75rem
}

.pagination__link--btn svg {
    margin-top: -2px
}

a.pagination__link--btn,
button.pagination__link--btn {
    background-color: #381a0c;
    color: #fff
}

.person {
    display: block;
    text-align: center;
   /* margin: 0 auto; */
   padding-bottom: 15px;
}

.person .person__img {
    width: 150px; /* Nastavení velikosti fotky */
    height: 150px;
    /* border-width: .625rem; /* Bílý vnitřní okraj */
    box-shadow: 0 0 0 5px #fab90f; /* Žlutý vnější okraj */
}

/* Výchozí styl pro kontakt v garanci kurzu s menší fotkou */
.person--contact .person__img {
    width: 125px;
    height: 125px;
    /* border-width: .375rem; /* Užší bílý vnitřní okraj */
    /* box-shadow: 0 0 0 5px #fab90f; /* Užší žlutý vnější okraj */
    margin: 0;
}

.person__img {
  display: block;
  width: clamp(84px, 12vw, 125px); /* responsivní šířka: min 84, max 125 */
  aspect-ratio: 1 / 1;            /* šířka == výška → vždy čtverec */
  height: auto;                   /* dopočítá se z aspect-ratio */
  border-radius: 50%;             /* z čtverce udělá kruh */
  object-fit: cover;              /* vyplnit bez deformace, případně oříznout */
  object-position: center;        /* výřez na střed */
  background-color: #fab90f; 
  box-shadow: 0 0 0 5px #fab90f;
  /* margin: 0 0 1rem; */
  max-width: 100%;                /* kdyby rodič byl užší */
  flex: 0 0 auto;                 /* zabraň „roztažení“ přes flexbox */
}

.person__name {
    color: #735837;
    display: block;
    margin: 0 0 1rem;
    text-decoration: underline;
    text-decoration-style: dashed;
    text-underline-offset: .375rem;
    text-decoration-thickness: 1px;
}

.person__description {
    color: #706c6c;
    font-size: 1rem;
}

@media only screen and (min-width:992px) {
    .person__description {
        font-size: 1.0625rem;
    }
}



.person--link {
    display: flex;
    flex: 1;
    align-items: center
}

@media only screen and (min-width:700px) {
    .person--link {
        margin-top: -4rem
    }
}

.person__link {
    color: #735837;
    font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
    font-size: 2.5rem
}

@media only screen and (min-width:1470px) {
    .person__link {
        font-size: 3rem
    }
}

.quote {
    margin: 0 0 -3rem
}

@media only screen and (min-width:992px) {
    .quote {
        margin: 0 0 -3rem
    }
}

@media only screen and (min-width:992px) and (min-width:992px) {
    .quote .recommendation {
        padding: 0 5rem 0 1rem
    }
}

@media only screen and (min-width:992px) and (min-width:1470px) {
    .quote .recommendation {
        padding: 0 7.5rem 0 1rem
    }
}

@media only screen and (min-width:992px) {
    .quote .recommendation:before {
        left: auto;
        right: 0
    }
}

@media only screen and (min-width:992px) and (min-width:992px) {
    .quote .recommendation:before {
        right: .5rem
    }
}

@media only screen and (min-width:992px) {
    .quote--right .quote__content {
        order: 1;
        text-align: right
    }
}

@media only screen and (min-width:992px) and (min-width:992px) {
    .quote--right .recommendation {
        padding: 0 0 0 5rem
    }
}

@media only screen and (min-width:992px) and (min-width:1470px) {
    .quote--right .recommendation {
        padding: 0 0 0 7.5rem
    }
}

@media only screen and (min-width:992px) {
    .quote--right .recommendation:before {
        left: 0;
        right: auto
    }
}

@media only screen and (min-width:992px) and (min-width:992px) {
    .quote--right .recommendation:before {
        left: .5rem
    }
}

@media only screen and (min-width:992px) {
    .quote__content {
        margin: 0 0 4rem
    }
}

@media only screen and (min-width:992px) {
    .quote__img {
        margin: 0 -3.5rem 0
    }
}

@media only screen and (min-width:992px) {
    .quote__img {
        align-self: flex-end;
        margin: -3rem -5rem 0
    }
}

.rating {
    display: flex;
    align-items: center
}

.rating__stars {
    display: flex;
    margin: 0 1.5rem 0 0
}

.rating__star {
    fill: transparent;
    color: #f4b71a;
    margin: 0 .5rem 0 0
}

.rating__star--inactive {
    color: #b5b5b5;
    cursor: pointer
}

.rating__star--inactive:hover {
    color: #f4b71a;
    fill: #f4b71a
}

.recommendation {
    position: relative;
    margin: 0;
    padding: 0 0 0 2.5rem;
    font-style: italic;
    line-height: 1.5;
    font-size: 1.1875rem
}

@media only screen and (min-width:992px) {
    .recommendation {
        padding: 0 0 0 5rem;
        font-size: 1.375rem
    }
}

@media only screen and (min-width:1470px) {
    .recommendation {
        padding: 0 0 0 7.5rem
    }
}

.recommendation:before {
    content: '„';
    color: #f4b71a;
    font-size: 5rem;
    position: absolute;
    top: -4.5rem;
    left: 0
}

@media only screen and (min-width:992px) {
    .recommendation:before {
        font-size: 8rem;
        top: -7rem;
        left: .5rem
    }
}

.recommendation p {
    margin: 0 0 2.25rem
}

.recommendation p:last-child {
    margin: 0
}

.references {
    display: grid;
    gap: 1.875rem;
    grid-template-columns: repeat(3, 1fr);
    list-style-type: none;
    justify-content: center;
    align-items: center;
    margin: 0;
    padding: 0
}

@media only screen and (min-width:700px) {
    .references {
        justify-content: space-between;
        grid-template-columns: repeat(5, 1fr)
    }
}

@media only screen and (min-width:992px) {
    .references {
        gap: 2.5rem
    }
}

@media only screen and (max-width:699px) {
    .references__last {
        grid-column: 1/span 3;
        text-align: center
    }
}

.static ol:not(.list-reset),
.static ul:not(.list-reset) {
    line-height: 1.5;
    margin: 0 0 1.5rem;
    color: #706c6c;
    padding: 0 0 0 1.125rem
}

@media only screen and (min-width:992px) {

    .static ol:not(.list-reset),
    .static ul:not(.list-reset) {
        margin: 0 0 2rem
    }
}

.static ol:not(.list-reset) li,
.static ul:not(.list-reset) li {
    margin: 0 0 .5rem
}

.static ol:not(.list-reset) li:last-child,
.static ul:not(.list-reset) li:last-child {
    margin: 0
}

.static ul {
    list-style-type: disc
}

.static p {
    margin: 0 0 1.5rem;
    color: #706c6c;
    line-height: 1.5
}

@media only screen and (min-width:992px) {
    .static p {
        margin: 0 0 2rem
    }
}

.static a:not(.btn) {
    color: #706c6c;
    text-decoration: underline;
    text-underline-offset: unset
}

.static a:not(.btn):hover {
    color: #381a0c
}

.static a[href^=tel] {
    color: #381a0c;
    text-decoration: none
}

.static code {
    padding: 1rem;
    background-color: #fff;
    display: block;
    white-space: pre-wrap
}

.static blockquote,
.static pre {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:992px) {

    .static blockquote,
    .static pre {
        margin: 0 0 2rem
    }
}

.static blockquote:not(.recommendation) {
    padding: 0 0 0 1rem;
    border-left: 1px solid #aaa19d
}

@media only screen and (min-width:992px) {
    .static blockquote:not(.recommendation) {
        padding: 0 0 0 1.75rem
    }
}

.static .recommendation {
    margin: 0 0 1.5rem
}

@media only screen and (min-width:992px) {
    .static .recommendation {
        margin: 0 0 2rem
    }
}

.static .recommendation p {
    color: #381a0c
}

.static hr {
    height: 2px;
    background-color: #706c6c;
    border: 0;
    width: 25%;
    margin: 1.5rem 0
}

@media only screen and (min-width:992px) {
    .static hr {
        margin: 3rem 0
    }
}

.table {
    border-collapse: collapse;
    width: 100%
}

.table.active .courses__hidden {
    display: table-row
}

.table td,
.table th {
    vertical-align: middle;
    padding: 1.25rem .5rem
}

@media only screen and (min-width:1470px) {

    .table td,
    .table th {
        padding: 1.25rem
    }
}

.table td:first-child,
.table th:first-child {
    padding-left: 0
}

.table td:last-child,
.table th:last-child {
    padding-right: 0
}

.table td svg,
.table th svg {
    vertical-align: middle;
    display: inline-block;
    margin-top: -2px
}

.table tr {
    border-bottom: 1px solid #b5b5b5
}

.table thead tr {
    border-top: 1px solid #b5b5b5;
    border-bottom: 1px solid #b5b5b5
}

.table thead th {
    font-weight: 500
}

.table th {
    color: #381a0c
}

.table th.sort {
    color: #735837;
    font-weight: 400
}

@media only screen and (max-width:991px) {
    .table {
        display: block
    }

    .table tbody {
        display: block
    }

    .table thead {
        display: none
    }

    .table tr {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between
    }

    .table td {
        padding: 1.25rem 1rem 1.25rem 0
    }
}

@media only screen and (max-width:699px) {
    .table td {
        padding: 1rem 1rem 1rem 0
    }
}

th {
    text-align: left
}

@media only screen and (max-width:991px) {
    .table--home .td--title {
        min-width: 100%;
        flex: 1;
        padding: 1.25rem 0 0
    }
}

.table--course .courses__hidden {
    display: none
}

.table--course .td--title a {
    color: #735837
}

.table--course .td--title a:hover {
    color: #381a0c
}

@media only screen and (max-width:991px) {
    .table--course .courses__hidden {
        display: none
    }

    .table--course.active .courses__hidden {
        display: flex
    }

    .table--course tr {
        justify-content: flex-start;
        margin: 0 0 1rem
    }

    .table--course tr:first-child {
        border-top: 1px solid #b5b5b5;
        padding-top: 1rem
    }

    .table--course td {
        padding: 0
    }

    .table--course .td--cart,
    .table--course .td--price {
        min-width: 100%;
        flex: 1;
        padding: 1rem 0
    }

    .table--course .text-muted {
        display: none
    }
}

.table--cart thead tr {
    border-top: 0;
    border-bottom: 2px solid #381a0c
}

.table--cart tr {
    justify-content: flex-start
}

.table--cart .td--title a {
    color: #735837
}

.table--cart .td--city,
.table--cart .td--date {
    color: #706c6c
}

.table--cart .td--remove .btn {
    color: #ed6f68
}

@media only screen and (max-width:991px) {
    .table--cart tr {
        position: relative;
        padding: .75rem 0
    }

    .table--cart tr:first-child {
        border-top: 1px solid #b5b5b5
    }

    .table--cart td {
        padding: .5rem 1rem
    }

    .table--cart .td--title {
        font-family: vag, Basel Neue, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Ubuntu, Open Sans, Helvetica Neue, sans-serif;
        flex: 1 1 100%;
        font-size: 1.3125rem;
        padding-right: 1.5rem
    }

    .table--cart .td--title a {
        color: #381a0c
    }

    .table--cart .td--date {
        padding-left: 0;
        padding-right: 0;
        flex: 0;
        white-space: nowrap
    }

    .table--cart .td--city {
        padding-left: 0
    }

    .table--cart .td--price {
        padding-right: 0;
        flex: 1;
        display: flex;
        align-items: center
    }

    .table--cart .td--remove {
        position: absolute;
        top: 1rem;
        right: 0
    }

    .table--cart .td--participants {
        display: flex;
        align-items: center
    }
}

@media only screen and (max-width:699px) {
    .table--cart td {
        padding: .5rem 0
    }

    .table--cart .td--participants {
        flex: 1 1 100%
    }

    .table--cart .td--price {
        padding-right: 0;
        flex: 1 1 100%
    }

    .table--cart .td--remove {
        top: .75rem
    }
}

.table--users {
    border-bottom: 1px solid #b5b5b5
}

.table--users tr {
    border-bottom: 0
}

.table--users thead th {
    text-align: left;
    font-weight: 400;
    color: #aaa19d;
    padding: 1.25rem .5rem .75rem
}

.table--users thead tr {
    position: relative;
    padding: .75rem 0;
    border-bottom: 0
}

.table--users thead tr:first-child {
    border-top: 2px solid #381a0c
}

.table--users tbody tr:last-child td {
    padding-bottom: 1.25rem
}

.table--users tbody td {
    padding: .5rem
}

.table--users tbody td .frm-input {
    width: 100%;
    font-size: 1rem
}

.table--users tbody td .frm-label {
    display: none
}

.table--users .td--remove .btn {
    color: #ed6f68
}

@media only screen and (max-width:991px) {
    .table--users {
        border-bottom: 0
    }

    .table--users tr {
        position: relative;
        padding: .75rem 0 1rem;
        margin: 0 0 .75rem;
        display: flex;
        flex-wrap: wrap
    }

    .table--users tbody tr {
        border-bottom: 1px solid #b5b5b5
    }

    .table--users tbody tr:last-child {
        border-bottom: 0
    }

    .table--users tbody tr:last-child td {
        padding-bottom: .5rem
    }

    .table--users tbody td {
        display: flex;
        align-items: center;
        padding: .5rem 0
    }

    .table--users tbody td .frm-input {
        width: auto
    }

    .table--users tbody td .frm-label {
        flex: 0 0 5rem;
        display: block;
        margin-right: 1rem;
        color: #aaa19d;
        margin: 0
    }

    .table--users .td--prefix,
    .table--users .td--suffix {
        flex: 1 1 12rem
    }

    .table--users .td--name {
        flex: 1 1 calc(100% - 12rem)
    }

    .table--users .td--surname {
        flex: 0 0 20.5rem
    }

    .table--users .td--count,
    .table--users .td--email {
        flex: 1 1 100%
    }

    .table--users .td--remove {
        position: absolute;
        top: 1rem;
        right: 0
    }
}

@media only screen and (max-width:699px) {
    .table--users tr {
        display: block
    }
}

.table--guarantee tr:last-child {
    border-bottom: 0
}

@media only screen and (max-width:991px) {
    .table--guarantee tr {
        justify-content: flex-start;
        padding: 1.25rem 0
    }

    .table--guarantee td {
        padding: 0
    }

    .table--guarantee .td--datetime {
        order: 1
    }

    .table--guarantee .td--duration {
        order: 3;
        margin-left: auto;
        justify-self: flex-end
    }

    .table--guarantee .td--title {
        order: 4;
        flex: 1 1 100%;
        line-height: 1.5;
        margin: 1rem 0
    }

    .table--guarantee .td--city {
        order: 2
    }

    .table--guarantee .td--price {
        order: 5
    }

    .table--guarantee .td--cart {
        order: 6;
        justify-self: flex-end;
        margin-left: auto
    }
}

@media only screen and (max-width:991px) {
    .table--orders tr {
        justify-content: flex-start;
        padding: 1.25rem 0
    }

    .table--orders td {
        padding: 0
    }

    .table--orders .td--attendee,
    .table--orders .td--city,
    .table--orders .td--invoice,
    .table--orders .td--state,
    .table--orders .td--title {
        flex: 1 1 100%;
        line-height: 1.5;
        margin: 0 0 .5rem
    }
}

.table--attendees .frm-input {
    width: 100%;
    min-width: 4rem
}

.table--attendees .btn--primary {
    padding: .625rem 1.5rem
}

.table--attendees .tr--form {
    border-bottom: 0
}

@media only screen and (max-width:991px) {
    .table--attendees .frm-input {
        width: auto
    }

    .table--attendees tr {
        justify-content: start;
        padding: 1rem 0
    }

    .table--attendees .tr--form td {
        flex: 1 1 100%;
        line-height: 1.5;
        margin: 0 0 1rem
    }

    .table--attendees td {
        padding: 0
    }

    .table--attendees td:not(:empty) {
        padding-right: .25rem
    }

    .table--attendees .td--full {
        flex: 1 1 100%;
        line-height: 1.5;
        margin: .25rem 0
    }
}

.tabs {
    display: flex;
    margin: 0 0 -1px
}

.tab__item {
    border: 1px solid #b5b5b5;
    margin: 0 .75rem 0 0;
    background-color: #f4f3f2
}

.tab__item.active {
    z-index: 1;
    border-bottom: 0
}

.tab__item.active .tab__link {
    font-weight: 700
}

.tab__item.active .tab__content {
    display: block
}

.tab__link {
    align-items: center;
    justify-content: space-between;
    width: 100%;
    text-align: left;
    display: block;
    font-weight: 400;
    padding: .75rem 1.5rem
}

.tab__content {
    display: none;
    border: 1px solid #b5b5b5;
    padding: 1.5rem
}

@media only screen and (min-width:992px) {
    .tab__content {
        padding: 3rem 3.75rem
    }
}

.tab__content.active {
    display: block
}

.tree {
    list-style-type: none;
    margin: 0;
    padding: 0
}

.tree .tree {
    padding-left: 1rem;
    margin: 0 0 .5rem
}

@media only screen and (min-width:992px) {
    .tree .tree {
        padding-left: 2rem
    }
}

.tree__item {
    position: relative;
    margin: .25rem 0
}

.tree__item .frm-label {
    color: #381a0c
}

.tree__item .frm-label:before {
    top: .375rem
}

.tree__item .frm-chk:checked+.frm-label:after {
    top: .85rem
}

.tree__chk {
    display: none
}

.tree__chk~.tree {
    display: none
}

.tree__chk:checked+.tree__label:before {
    transform: rotate(-90deg);
    transform-origin: center
}

.tree__chk:checked~.tree {
    display: block
}

.tree__label {
    padding: .25rem 0 .25rem 2.5rem;
    color: #381a0c;
    position: relative;
    display: block;
    cursor: pointer
}

.tree__label:before {
    content: "";
    position: absolute;
    left: .125rem;
    top: .1875rem;
    width: 1.5rem;
    height: 1.5rem;
    background-image: url(../images/chevron-down-bw.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px 12px;
    transition: transform .25s ease-in-out
}

.tooltip {
    cursor: pointer;
    position: relative
}

.tooltip::before {
    position: absolute;
    bottom: calc(100% + 8px);
    left: -6rem;
    background-color: #735837;
    border-radius: 5px;
    color: #fff;
    content: attr(aria-label);
    padding: .75rem;
    text-transform: none;
    transition: all .5s ease;
    width: 12rem;
    font-family: "Basel Neue", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Ubuntu, "Open Sans", "Helvetica Neue", sans-serif;
    font-size: .875rem
}

.tooltip::after {
    position: absolute;
    top: -8px;
    left: 9px;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #735837;
    content: " ";
    font-size: 0;
    line-height: 0;
    margin-left: -5px;
    width: 0
}

.tooltip::after,
.tooltip::before {
    opacity: 0;
    pointer-events: none;
    text-align: center
}

.tooltip:focus::after,
.tooltip:focus::before,
.tooltip:hover::after,
.tooltip:hover::before {
    opacity: 1;
    transition: all .5s ease
}

.tooltip--left::before {
    left: 0
}

.tooltip--left::after {
    left: 1rem
}

.tooltip--right::before {
    left: auto;
    right: -1rem
}

.tooltip--right::after {
    left: auto;
    right: .25rem
}

.hidden {
    display: none
}

.block {
    display: block
}

.inline-block {
    display: inline-block
}

.inline {
    display: inline-block
}

.flex {
    display: flex
}

.flex-inline {
    display: inline-flex
}

.flex-column {
    display: flex;
    flex-flow: column
}

.grid {
    display: grid
}

.relative {
    position: relative
}

@media (min-width:700px) {
    .hidden-sm {
        display: none
    }

    .block-sm {
        display: block
    }

    .inline-block-sm {
        display: inline-block
    }

    .inline-sm {
        display: inline-block
    }

    .flex-sm {
        display: flex
    }

    .flex-inline-sm {
        display: inline-flex
    }

    .flex-column-sm {
        display: flex;
        flex-flow: column
    }

    .grid-sm {
        display: grid
    }

    .relative-sm {
        position: relative
    }
}

@media (min-width:992px) {
    .hidden-md {
        display: none
    }

    .block-md {
        display: block
    }

    .inline-block-md {
        display: inline-block
    }

    .inline-md {
        display: inline-block
    }

    .flex-md {
        display: flex
    }

    .flex-inline-md {
        display: inline-flex
    }

    .flex-column-md {
        display: flex;
        flex-flow: column
    }

    .grid-md {
        display: grid
    }

    .relative-md {
        position: relative
    }
}

@media (min-width:1470px) {
    .hidden-lg {
        display: none
    }

    .block-lg {
        display: block
    }

    .inline-block-lg {
        display: inline-block
    }

    .inline-lg {
        display: inline-block
    }

    .flex-lg {
        display: flex
    }

    .flex-inline-lg {
        display: inline-flex
    }

    .flex-column-lg {
        display: flex;
        flex-flow: column
    }

    .grid-lg {
        display: grid
    }

    .relative-lg {
        position: relative
    }
}

.hidden.active {
    display: block
}

.grid,
.grid-lg,
.grid-md,
.grid-sm {
    grid-template-columns: repeat(2, 1fr)
}

@media only screen and (min-width:700px) {

    .grid,
    .grid-lg,
    .grid-md,
    .grid-sm {
        grid-template-columns: repeat(12, 1fr)
    }
}

.grid {
    gap: 1.875rem
}

@media only screen and (min-width:992px) {
    .grid {
        gap: 2.5rem
    }
}

.grid-sm {
    gap: 1.875rem
}

@media only screen and (min-width:992px) {
    .grid-sm {
        gap: 2.5rem
    }
}

@media only screen and (min-width:992px) {
    .grid-md {
        gap: 2.5rem
    }
}

@media only screen and (min-width:1470px) {
    .grid-lg {
        gap: 2.5rem
    }
}

.grid--gutter-xs {
    gap: .625rem
}

.col-1 {
    grid-column-end: span 1
}

.col-start-1 {
    grid-column-start: 1
}

.col-2 {
    grid-column-end: span 2
}

.col-start-2 {
    grid-column-start: 2
}

.col-3 {
    grid-column-end: span 3
}

.col-start-3 {
    grid-column-start: 3
}

.col-4 {
    grid-column-end: span 4
}

.col-start-4 {
    grid-column-start: 4
}

.col-5 {
    grid-column-end: span 5
}

.col-start-5 {
    grid-column-start: 5
}

.col-6 {
    grid-column-end: span 6
}

.col-start-6 {
    grid-column-start: 6
}

.col-7 {
    grid-column-end: span 7
}

.col-start-7 {
    grid-column-start: 7
}

.col-8 {
    grid-column-end: span 8
}

.col-start-8 {
    grid-column-start: 8
}

.col-9 {
    grid-column-end: span 9
}

.col-start-9 {
    grid-column-start: 9
}

.col-10 {
    grid-column-end: span 10
}

.col-start-10 {
    grid-column-start: 10
}

.col-11 {
    grid-column-end: span 11
}

.col-start-11 {
    grid-column-start: 11
}

.col-12 {
    grid-column-end: span 12
}

.col-start-12 {
    grid-column-start: 12
}

.justify-start {
    justify-content: flex-start
}

.justify-center {
    justify-content: center
}

.justify-between {
    justify-content: space-between
}

.justify-end {
    justify-content: flex-end
}

.items-center {
    align-items: center
}

.self-center {
    align-self: center
}

.items-start {
    align-items: flex-start
}

.flex-wrap {
    flex-wrap: wrap
}

.gap-0 {
    gap: 0
}

@media (min-width:700px) {
    .col-sm-1 {
        grid-column-end: span 1
    }

    .col-start-sm-1 {
        grid-column-start: 1
    }

    .col-sm-2 {
        grid-column-end: span 2
    }

    .col-start-sm-2 {
        grid-column-start: 2
    }

    .col-sm-3 {
        grid-column-end: span 3
    }

    .col-start-sm-3 {
        grid-column-start: 3
    }

    .col-sm-4 {
        grid-column-end: span 4
    }

    .col-start-sm-4 {
        grid-column-start: 4
    }

    .col-sm-5 {
        grid-column-end: span 5
    }

    .col-start-sm-5 {
        grid-column-start: 5
    }

    .col-sm-6 {
        grid-column-end: span 6
    }

    .col-start-sm-6 {
        grid-column-start: 6
    }

    .col-sm-7 {
        grid-column-end: span 7
    }

    .col-start-sm-7 {
        grid-column-start: 7
    }

    .col-sm-8 {
        grid-column-end: span 8
    }

    .col-start-sm-8 {
        grid-column-start: 8
    }

    .col-sm-9 {
        grid-column-end: span 9
    }

    .col-start-sm-9 {
        grid-column-start: 9
    }

    .col-sm-10 {
        grid-column-end: span 10
    }

    .col-start-sm-10 {
        grid-column-start: 10
    }

    .col-sm-11 {
        grid-column-end: span 11
    }

    .col-start-sm-11 {
        grid-column-start: 11
    }

    .col-sm-12 {
        grid-column-end: span 12
    }

    .col-start-sm-12 {
        grid-column-start: 12
    }

    .justify-start-sm {
        justify-content: flex-start
    }

    .justify-center-sm {
        justify-content: center
    }

    .justify-between-sm {
        justify-content: space-between
    }

    .justify-end-sm {
        justify-content: flex-end
    }

    .items-center-sm {
        align-items: center
    }

    .self-center-sm {
        align-self: center
    }

    .items-start-sm {
        align-items: flex-start
    }

    .flex-wrap-sm {
        flex-wrap: wrap
    }

    .gap-sm-0 {
        gap: 0
    }
}

@media (min-width:992px) {
    .col-md-1 {
        grid-column-end: span 1
    }

    .col-start-md-1 {
        grid-column-start: 1
    }

    .col-md-2 {
        grid-column-end: span 2
    }

    .col-start-md-2 {
        grid-column-start: 2
    }

    .col-md-3 {
        grid-column-end: span 3
    }

    .col-start-md-3 {
        grid-column-start: 3
    }

    .col-md-4 {
        grid-column-end: span 4
    }

    .col-start-md-4 {
        grid-column-start: 4
    }

    .col-md-5 {
        grid-column-end: span 5
    }

    .col-start-md-5 {
        grid-column-start: 5
    }

    .col-md-6 {
        grid-column-end: span 6
    }

    .col-start-md-6 {
        grid-column-start: 6
    }

    .col-md-7 {
        grid-column-end: span 7
    }

    .col-start-md-7 {
        grid-column-start: 7
    }

    .col-md-8 {
        grid-column-end: span 8
    }

    .col-start-md-8 {
        grid-column-start: 8
    }

    .col-md-9 {
        grid-column-end: span 9
    }

    .col-start-md-9 {
        grid-column-start: 9
    }

    .col-md-10 {
        grid-column-end: span 10
    }

    .col-start-md-10 {
        grid-column-start: 10
    }

    .col-md-11 {
        grid-column-end: span 11
    }

    .col-start-md-11 {
        grid-column-start: 11
    }

    .col-md-12 {
        grid-column-end: span 12
    }

    .col-start-md-12 {
        grid-column-start: 12
    }

    .justify-start-md {
        justify-content: flex-start
    }

    .justify-center-md {
        justify-content: center
    }

    .justify-between-md {
        justify-content: space-between
    }

    .justify-end-md {
        justify-content: flex-end
    }

    .items-center-md {
        align-items: center
    }

    .self-center-md {
        align-self: center
    }

    .items-start-md {
        align-items: flex-start
    }

    .flex-wrap-md {
        flex-wrap: wrap
    }

    .gap-md-0 {
        gap: 0
    }
}

@media (min-width:1470px) {
    .col-lg-1 {
        grid-column-end: span 1
    }

    .col-start-lg-1 {
        grid-column-start: 1
    }

    .col-lg-2 {
        grid-column-end: span 2
    }

    .col-start-lg-2 {
        grid-column-start: 2
    }

    .col-lg-3 {
        grid-column-end: span 3
    }

    .col-start-lg-3 {
        grid-column-start: 3
    }

    .col-lg-4 {
        grid-column-end: span 4
    }

    .col-start-lg-4 {
        grid-column-start: 4
    }

    .col-lg-5 {
        grid-column-end: span 5
    }

    .col-start-lg-5 {
        grid-column-start: 5
    }

    .col-lg-6 {
        grid-column-end: span 6
    }

    .col-start-lg-6 {
        grid-column-start: 6
    }

    .col-lg-7 {
        grid-column-end: span 7
    }

    .col-start-lg-7 {
        grid-column-start: 7
    }

    .col-lg-8 {
        grid-column-end: span 8
    }

    .col-start-lg-8 {
        grid-column-start: 8
    }

    .col-lg-9 {
        grid-column-end: span 9
    }

    .col-start-lg-9 {
        grid-column-start: 9
    }

    .col-lg-10 {
        grid-column-end: span 10
    }

    .col-start-lg-10 {
        grid-column-start: 10
    }

    .col-lg-11 {
        grid-column-end: span 11
    }

    .col-start-lg-11 {
        grid-column-start: 11
    }

    .col-lg-12 {
        grid-column-end: span 12
    }

    .col-start-lg-12 {
        grid-column-start: 12
    }

    .justify-start-lg {
        justify-content: flex-start
    }

    .justify-center-lg {
        justify-content: center
    }

    .justify-between-lg {
        justify-content: space-between
    }

    .justify-end-lg {
        justify-content: flex-end
    }

    .items-center-lg {
        align-items: center
    }

    .self-center-lg {
        align-self: center
    }

    .items-start-lg {
        align-items: flex-start
    }

    .flex-wrap-lg {
        flex-wrap: wrap
    }

    .gap-lg-0 {
        gap: 0
    }
}

.flex-1 {
    flex: 1
}

.m-0 {
    margin: 0
}

.mt-0,
.my-0 {
    margin-top: 0
}

.mr-0,
.mx-0 {
    margin-right: 0
}

.mb-0,
.my-0 {
    margin-bottom: 0
}

.ml-0,
.mx-0 {
    margin-left: 0
}

.m-1 {
    margin: .25rem
}

.mt-1,
.my-1 {
    margin-top: .25rem
}

.mr-1,
.mx-1 {
    margin-right: .25rem
}

.mb-1,
.my-1 {
    margin-bottom: .25rem
}

.ml-1,
.mx-1 {
    margin-left: .25rem
}

.m-2 {
    margin: .5rem
}

.mt-2,
.my-2 {
    margin-top: .5rem
}

.mr-2,
.mx-2 {
    margin-right: .5rem
}

.mb-2,
.my-2 {
    margin-bottom: .5rem
}

.ml-2,
.mx-2 {
    margin-left: .5rem
}

.m-4 {
    margin: 1rem
}

.mt-4,
.my-4 {
    margin-top: 1rem
}

.mr-4,
.mx-4 {
    margin-right: 1rem
}

.mb-4,
.my-4 {
    margin-bottom: 1rem
}

.ml-4,
.mx-4 {
    margin-left: 1rem
}

.m-5 {
    margin: 1.25rem
}

.mt-5,
.my-5 {
    margin-top: 1.25rem
}

.mr-5,
.mx-5 {
    margin-right: 1.25rem
}

.mb-5,
.my-5 {
    margin-bottom: 1.25rem
}

.ml-5,
.mx-5 {
    margin-left: 1.25rem
}

.m-6 {
    margin: 1.5rem
}

.mt-6,
.my-6 {
    margin-top: 1.5rem
}

.mr-6,
.mx-6 {
    margin-right: 1.5rem
}

.mb-6,
.my-6 {
    margin-bottom: 1.5rem
}

.ml-6,
.mx-6 {
    margin-left: 1.5rem
}

.m-8 {
    margin: 2rem
}

.mt-8,
.my-8 {
    margin-top: 2rem
}

.mr-8,
.mx-8 {
    margin-right: 2rem
}

.mb-8,
.my-8 {
    margin-bottom: 2rem
}

.ml-8,
.mx-8 {
    margin-left: 2rem
}

.m-10 {
    margin: 2.5rem
}

.mt-10,
.my-10 {
    margin-top: 2.5rem
}

.mr-10,
.mx-10 {
    margin-right: 2.5rem
}

.mb-10,
.my-10 {
    margin-bottom: 2.5rem
}

.ml-10,
.mx-10 {
    margin-left: 2.5rem
}

.m-12 {
    margin: 3rem
}

.mt-12,
.my-12 {
    margin-top: 3rem
}

.mr-12,
.mx-12 {
    margin-right: 3rem
}

.mb-12,
.my-12 {
    margin-bottom: 3rem
}

.ml-12,
.mx-12 {
    margin-left: 3rem
}

.m-14 {
    margin: 3.5rem
}

.mt-14,
.my-14 {
    margin-top: 3.5rem
}

.mr-14,
.mx-14 {
    margin-right: 3.5rem
}

.mb-14,
.my-14 {
    margin-bottom: 3.5rem
}

.ml-14,
.mx-14 {
    margin-left: 3.5rem
}

.m-16 {
    margin: 4rem
}

.mt-16,
.my-16 {
    margin-top: 4rem
}

.mr-16,
.mx-16 {
    margin-right: 4rem
}

.mb-16,
.my-16 {
    margin-bottom: 4rem
}

.ml-16,
.mx-16 {
    margin-left: 4rem
}

.m-18 {
    margin: 4.5rem
}

.mt-18,
.my-18 {
    margin-top: 4.5rem
}

.mr-18,
.mx-18 {
    margin-right: 4.5rem
}

.mb-18,
.my-18 {
    margin-bottom: 4.5rem
}

.ml-18,
.mx-18 {
    margin-left: 4.5rem
}

.m-20 {
    margin: 5rem
}

.mt-20,
.my-20 {
    margin-top: 5rem
}

.mr-20,
.mx-20 {
    margin-right: 5rem
}

.mb-20,
.my-20 {
    margin-bottom: 5rem
}

.ml-20,
.mx-20 {
    margin-left: 5rem
}

.m-24 {
    margin: 6rem
}

.mt-24,
.my-24 {
    margin-top: 6rem
}

.mr-24,
.mx-24 {
    margin-right: 6rem
}

.mb-24,
.my-24 {
    margin-bottom: 6rem
}

.ml-24,
.mx-24 {
    margin-left: 6rem
}

.m-30 {
    margin: 7.5rem
}

.mt-30,
.my-30 {
    margin-top: 7.5rem
}

.mr-30,
.mx-30 {
    margin-right: 7.5rem
}

.mb-30,
.my-30 {
    margin-bottom: 7.5rem
}

.ml-30,
.mx-30 {
    margin-left: 7.5rem
}

.m-40 {
    margin: 10rem
}

.mt-40,
.my-40 {
    margin-top: 10rem
}

.mr-40,
.mx-40 {
    margin-right: 10rem
}

.mb-40,
.my-40 {
    margin-bottom: 10rem
}

.ml-40,
.mx-40 {
    margin-left: 10rem
}

.p-0 {
    padding: 0
}

.pt-0,
.py-0 {
    padding-top: 0
}

.pr-0,
.px-0 {
    padding-right: 0
}

.pb-0,
.py-0 {
    padding-bottom: 0
}

.pl-0,
.px-0 {
    padding-left: 0
}

.p-1 {
    padding: .25rem
}

.pt-1,
.py-1 {
    padding-top: .25rem
}

.pr-1,
.px-1 {
    padding-right: .25rem
}

.pb-1,
.py-1 {
    padding-bottom: .25rem
}

.pl-1,
.px-1 {
    padding-left: .25rem
}

.p-2 {
    padding: .5rem
}

.pt-2,
.py-2 {
    padding-top: .5rem
}

.pr-2,
.px-2 {
    padding-right: .5rem
}

.pb-2,
.py-2 {
    padding-bottom: .5rem
}

.pl-2,
.px-2 {
    padding-left: .5rem
}

.p-4 {
    padding: 1rem
}

.pt-4,
.py-4 {
    padding-top: 1rem
}

.pr-4,
.px-4 {
    padding-right: 1rem
}

.pb-4,
.py-4 {
    padding-bottom: 1rem
}

.pl-4,
.px-4 {
    padding-left: 1rem
}

.p-5 {
    padding: 1.25rem
}

.pt-5,
.py-5 {
    padding-top: 1.25rem
}

.pr-5,
.px-5 {
    padding-right: 1.25rem
}

.pb-5,
.py-5 {
    padding-bottom: 1.25rem
}

.pl-5,
.px-5 {
    padding-left: 1.25rem
}

.p-6 {
    padding: 1.5rem
}

.pt-6,
.py-6 {
    padding-top: 1.5rem
}

.pr-6,
.px-6 {
    padding-right: 1.5rem
}

.pb-6,
.py-6 {
    padding-bottom: 1.5rem
}

.pl-6,
.px-6 {
    padding-left: 1.5rem
}

.p-8 {
    padding: 2rem
}

.pt-8,
.py-8 {
    padding-top: 2rem
}

.pr-8,
.px-8 {
    padding-right: 2rem
}

.pb-8,
.py-8 {
    padding-bottom: 2rem
}

.pl-8,
.px-8 {
    padding-left: 2rem
}

.p-10 {
    padding: 2.5rem
}

.pt-10,
.py-10 {
    padding-top: 2.5rem
}

.pr-10,
.px-10 {
    padding-right: 2.5rem
}

.pb-10,
.py-10 {
    padding-bottom: 2.5rem
}

.pl-10,
.px-10 {
    padding-left: 2.5rem
}

.p-12 {
    padding: 3rem
}

.pt-12,
.py-12 {
    padding-top: 3rem
}

.pr-12,
.px-12 {
    padding-right: 3rem
}

.pb-12,
.py-12 {
    padding-bottom: 3rem
}

.pl-12,
.px-12 {
    padding-left: 3rem
}

.p-14 {
    padding: 3.5rem
}

.pt-14,
.py-14 {
    padding-top: 3.5rem
}

.pr-14,
.px-14 {
    padding-right: 3.5rem
}

.pb-14,
.py-14 {
    padding-bottom: 3.5rem
}

.pl-14,
.px-14 {
    padding-left: 3.5rem
}

.p-16 {
    padding: 4rem
}

.pt-16,
.py-16 {
    padding-top: 4rem
}

.pr-16,
.px-16 {
    padding-right: 4rem
}

.pb-16,
.py-16 {
    padding-bottom: 4rem
}

.pl-16,
.px-16 {
    padding-left: 4rem
}

.p-18 {
    padding: 4.5rem
}

.pt-18,
.py-18 {
    padding-top: 4.5rem
}

.pr-18,
.px-18 {
    padding-right: 4.5rem
}

.pb-18,
.py-18 {
    padding-bottom: 4.5rem
}

.pl-18,
.px-18 {
    padding-left: 4.5rem
}

.p-20 {
    padding: 5rem
}

.pt-20,
.py-20 {
    padding-top: 5rem
}

.pr-20,
.px-20 {
    padding-right: 5rem
}

.pb-20,
.py-20 {
    padding-bottom: 5rem
}

.pl-20,
.px-20 {
    padding-left: 5rem
}

.p-24 {
    padding: 6rem
}

.pt-24,
.py-24 {
    padding-top: 6rem
}

.pr-24,
.px-24 {
    padding-right: 6rem
}

.pb-24,
.py-24 {
    padding-bottom: 6rem
}

.pl-24,
.px-24 {
    padding-left: 6rem
}

.p-30 {
    padding: 7.5rem
}

.pt-30,
.py-30 {
    padding-top: 7.5rem
}

.pr-30,
.px-30 {
    padding-right: 7.5rem
}

.pb-30,
.py-30 {
    padding-bottom: 7.5rem
}

.pl-30,
.px-30 {
    padding-left: 7.5rem
}

.p-40 {
    padding: 10rem
}

.pt-40,
.py-40 {
    padding-top: 10rem
}

.pr-40,
.px-40 {
    padding-right: 10rem
}

.pb-40,
.py-40 {
    padding-bottom: 10rem
}

.pl-40,
.px-40 {
    padding-left: 10rem
}

.m-n1 {
    margin: -.25rem
}

.mt-n1,
.my-n1 {
    margin-top: -.25rem
}

.mr-n1,
.mx-n1 {
    margin-right: -.25rem
}

.mb-n1,
.my-n1 {
    margin-bottom: -.25rem
}

.ml-n1,
.mx-n1 {
    margin-left: -.25rem
}

.m-n2 {
    margin: -.25rem
}

.mt-n2,
.my-n2 {
    margin-top: -.25rem
}

.mr-n2,
.mx-n2 {
    margin-right: -.25rem
}

.mb-n2,
.my-n2 {
    margin-bottom: -.25rem
}

.ml-n2,
.mx-n2 {
    margin-left: -.25rem
}

.m-n4 {
    margin: -.25rem
}

.mt-n4,
.my-n4 {
    margin-top: -.25rem
}

.mr-n4,
.mx-n4 {
    margin-right: -.25rem
}

.mb-n4,
.my-n4 {
    margin-bottom: -.25rem
}

.ml-n4,
.mx-n4 {
    margin-left: -.25rem
}

.m-n5 {
    margin: -.25rem
}

.mt-n5,
.my-n5 {
    margin-top: -.25rem
}

.mr-n5,
.mx-n5 {
    margin-right: -.25rem
}

.mb-n5,
.my-n5 {
    margin-bottom: -.25rem
}

.ml-n5,
.mx-n5 {
    margin-left: -.25rem
}

.m-n6 {
    margin: -.25rem
}

.mt-n6,
.my-n6 {
    margin-top: -.25rem
}

.mr-n6,
.mx-n6 {
    margin-right: -.25rem
}

.mb-n6,
.my-n6 {
    margin-bottom: -.25rem
}

.ml-n6,
.mx-n6 {
    margin-left: -.25rem
}

.m-n8 {
    margin: -.25rem
}

.mt-n8,
.my-n8 {
    margin-top: -.25rem
}

.mr-n8,
.mx-n8 {
    margin-right: -.25rem
}

.mb-n8,
.my-n8 {
    margin-bottom: -.25rem
}

.ml-n8,
.mx-n8 {
    margin-left: -.25rem
}

.m-n10 {
    margin: -.25rem
}

.mt-n10,
.my-n10 {
    margin-top: -.25rem
}

.mr-n10,
.mx-n10 {
    margin-right: -.25rem
}

.mb-n10,
.my-n10 {
    margin-bottom: -.25rem
}

.ml-n10,
.mx-n10 {
    margin-left: -.25rem
}

.m-n12 {
    margin: -.25rem
}

.mt-n12,
.my-n12 {
    margin-top: -.25rem
}

.mr-n12,
.mx-n12 {
    margin-right: -.25rem
}

.mb-n12,
.my-n12 {
    margin-bottom: -.25rem
}

.ml-n12,
.mx-n12 {
    margin-left: -.25rem
}

.m-n14 {
    margin: -.25rem
}

.mt-n14,
.my-n14 {
    margin-top: -.25rem
}

.mr-n14,
.mx-n14 {
    margin-right: -.25rem
}

.mb-n14,
.my-n14 {
    margin-bottom: -.25rem
}

.ml-n14,
.mx-n14 {
    margin-left: -.25rem
}

.m-n16 {
    margin: -.25rem
}

.mt-n16,
.my-n16 {
    margin-top: -.25rem
}

.mr-n16,
.mx-n16 {
    margin-right: -.25rem
}

.mb-n16,
.my-n16 {
    margin-bottom: -.25rem
}

.ml-n16,
.mx-n16 {
    margin-left: -.25rem
}

.m-n18 {
    margin: -.25rem
}

.mt-n18,
.my-n18 {
    margin-top: -.25rem
}

.mr-n18,
.mx-n18 {
    margin-right: -.25rem
}

.mb-n18,
.my-n18 {
    margin-bottom: -.25rem
}

.ml-n18,
.mx-n18 {
    margin-left: -.25rem
}

.m-n20 {
    margin: -.25rem
}

.mt-n20,
.my-n20 {
    margin-top: -.25rem
}

.mr-n20,
.mx-n20 {
    margin-right: -.25rem
}

.mb-n20,
.my-n20 {
    margin-bottom: -.25rem
}

.ml-n20,
.mx-n20 {
    margin-left: -.25rem
}

.m-n24 {
    margin: -.25rem
}

.mt-n24,
.my-n24 {
    margin-top: -.25rem
}

.mr-n24,
.mx-n24 {
    margin-right: -.25rem
}

.mb-n24,
.my-n24 {
    margin-bottom: -.25rem
}

.ml-n24,
.mx-n24 {
    margin-left: -.25rem
}

.m-n30 {
    margin: -.25rem
}

.mt-n30,
.my-n30 {
    margin-top: -.25rem
}

.mr-n30,
.mx-n30 {
    margin-right: -.25rem
}

.mb-n30,
.my-n30 {
    margin-bottom: -.25rem
}

.ml-n30,
.mx-n30 {
    margin-left: -.25rem
}

.m-n40 {
    margin: -.25rem
}

.mt-n40,
.my-n40 {
    margin-top: -.25rem
}

.mr-n40,
.mx-n40 {
    margin-right: -.25rem
}

.mb-n40,
.my-n40 {
    margin-bottom: -.25rem
}

.ml-n40,
.mx-n40 {
    margin-left: -.25rem
}

.m-auto {
    margin: auto
}

.mt-auto,
.my-auto {
    margin-top: auto
}

.mr-auto,
.mx-auto {
    margin-right: auto
}

.mb-auto,
.my-auto {
    margin-bottom: auto
}

.ml-auto,
.mx-auto {
    margin-left: auto
}

@media (min-width:700px) {
    .m-sm-0 {
        margin: 0
    }

    .mt-sm-0,
    .my-sm-0 {
        margin-top: 0
    }

    .mr-sm-0,
    .mx-sm-0 {
        margin-right: 0
    }

    .mb-sm-0,
    .my-sm-0 {
        margin-bottom: 0
    }

    .ml-sm-0,
    .mx-sm-0 {
        margin-left: 0
    }

    .m-sm-1 {
        margin: .25rem
    }

    .mt-sm-1,
    .my-sm-1 {
        margin-top: .25rem
    }

    .mr-sm-1,
    .mx-sm-1 {
        margin-right: .25rem
    }

    .mb-sm-1,
    .my-sm-1 {
        margin-bottom: .25rem
    }

    .ml-sm-1,
    .mx-sm-1 {
        margin-left: .25rem
    }

    .m-sm-2 {
        margin: .5rem
    }

    .mt-sm-2,
    .my-sm-2 {
        margin-top: .5rem
    }

    .mr-sm-2,
    .mx-sm-2 {
        margin-right: .5rem
    }

    .mb-sm-2,
    .my-sm-2 {
        margin-bottom: .5rem
    }

    .ml-sm-2,
    .mx-sm-2 {
        margin-left: .5rem
    }

    .m-sm-4 {
        margin: 1rem
    }

    .mt-sm-4,
    .my-sm-4 {
        margin-top: 1rem
    }

    .mr-sm-4,
    .mx-sm-4 {
        margin-right: 1rem
    }

    .mb-sm-4,
    .my-sm-4 {
        margin-bottom: 1rem
    }

    .ml-sm-4,
    .mx-sm-4 {
        margin-left: 1rem
    }

    .m-sm-5 {
        margin: 1.25rem
    }

    .mt-sm-5,
    .my-sm-5 {
        margin-top: 1.25rem
    }

    .mr-sm-5,
    .mx-sm-5 {
        margin-right: 1.25rem
    }

    .mb-sm-5,
    .my-sm-5 {
        margin-bottom: 1.25rem
    }

    .ml-sm-5,
    .mx-sm-5 {
        margin-left: 1.25rem
    }

    .m-sm-6 {
        margin: 1.5rem
    }

    .mt-sm-6,
    .my-sm-6 {
        margin-top: 1.5rem
    }

    .mr-sm-6,
    .mx-sm-6 {
        margin-right: 1.5rem
    }

    .mb-sm-6,
    .my-sm-6 {
        margin-bottom: 1.5rem
    }

    .ml-sm-6,
    .mx-sm-6 {
        margin-left: 1.5rem
    }

    .m-sm-8 {
        margin: 2rem
    }

    .mt-sm-8,
    .my-sm-8 {
        margin-top: 2rem
    }

    .mr-sm-8,
    .mx-sm-8 {
        margin-right: 2rem
    }

    .mb-sm-8,
    .my-sm-8 {
        margin-bottom: 2rem
    }

    .ml-sm-8,
    .mx-sm-8 {
        margin-left: 2rem
    }

    .m-sm-10 {
        margin: 2.5rem
    }

    .mt-sm-10,
    .my-sm-10 {
        margin-top: 2.5rem
    }

    .mr-sm-10,
    .mx-sm-10 {
        margin-right: 2.5rem
    }

    .mb-sm-10,
    .my-sm-10 {
        margin-bottom: 2.5rem
    }

    .ml-sm-10,
    .mx-sm-10 {
        margin-left: 2.5rem
    }

    .m-sm-12 {
        margin: 3rem
    }

    .mt-sm-12,
    .my-sm-12 {
        margin-top: 3rem
    }

    .mr-sm-12,
    .mx-sm-12 {
        margin-right: 3rem
    }

    .mb-sm-12,
    .my-sm-12 {
        margin-bottom: 3rem
    }

    .ml-sm-12,
    .mx-sm-12 {
        margin-left: 3rem
    }

    .m-sm-14 {
        margin: 3.5rem
    }

    .mt-sm-14,
    .my-sm-14 {
        margin-top: 3.5rem
    }

    .mr-sm-14,
    .mx-sm-14 {
        margin-right: 3.5rem
    }

    .mb-sm-14,
    .my-sm-14 {
        margin-bottom: 3.5rem
    }

    .ml-sm-14,
    .mx-sm-14 {
        margin-left: 3.5rem
    }

    .m-sm-16 {
        margin: 4rem
    }

    .mt-sm-16,
    .my-sm-16 {
        margin-top: 4rem
    }

    .mr-sm-16,
    .mx-sm-16 {
        margin-right: 4rem
    }

    .mb-sm-16,
    .my-sm-16 {
        margin-bottom: 4rem
    }

    .ml-sm-16,
    .mx-sm-16 {
        margin-left: 4rem
    }

    .m-sm-18 {
        margin: 4.5rem
    }

    .mt-sm-18,
    .my-sm-18 {
        margin-top: 4.5rem
    }

    .mr-sm-18,
    .mx-sm-18 {
        margin-right: 4.5rem
    }

    .mb-sm-18,
    .my-sm-18 {
        margin-bottom: 4.5rem
    }

    .ml-sm-18,
    .mx-sm-18 {
        margin-left: 4.5rem
    }

    .m-sm-20 {
        margin: 5rem
    }

    .mt-sm-20,
    .my-sm-20 {
        margin-top: 5rem
    }

    .mr-sm-20,
    .mx-sm-20 {
        margin-right: 5rem
    }

    .mb-sm-20,
    .my-sm-20 {
        margin-bottom: 5rem
    }

    .ml-sm-20,
    .mx-sm-20 {
        margin-left: 5rem
    }

    .m-sm-24 {
        margin: 6rem
    }

    .mt-sm-24,
    .my-sm-24 {
        margin-top: 6rem
    }

    .mr-sm-24,
    .mx-sm-24 {
        margin-right: 6rem
    }

    .mb-sm-24,
    .my-sm-24 {
        margin-bottom: 6rem
    }

    .ml-sm-24,
    .mx-sm-24 {
        margin-left: 6rem
    }

    .m-sm-30 {
        margin: 7.5rem
    }

    .mt-sm-30,
    .my-sm-30 {
        margin-top: 7.5rem
    }

    .mr-sm-30,
    .mx-sm-30 {
        margin-right: 7.5rem
    }

    .mb-sm-30,
    .my-sm-30 {
        margin-bottom: 7.5rem
    }

    .ml-sm-30,
    .mx-sm-30 {
        margin-left: 7.5rem
    }

    .m-sm-40 {
        margin: 10rem
    }

    .mt-sm-40,
    .my-sm-40 {
        margin-top: 10rem
    }

    .mr-sm-40,
    .mx-sm-40 {
        margin-right: 10rem
    }

    .mb-sm-40,
    .my-sm-40 {
        margin-bottom: 10rem
    }

    .ml-sm-40,
    .mx-sm-40 {
        margin-left: 10rem
    }

    .p-sm-0 {
        padding: 0
    }

    .pt-sm-0,
    .py-sm-0 {
        padding-top: 0
    }

    .pr-sm-0,
    .px-sm-0 {
        padding-right: 0
    }

    .pb-sm-0,
    .py-sm-0 {
        padding-bottom: 0
    }

    .pl-sm-0,
    .px-sm-0 {
        padding-left: 0
    }

    .p-sm-1 {
        padding: .25rem
    }

    .pt-sm-1,
    .py-sm-1 {
        padding-top: .25rem
    }

    .pr-sm-1,
    .px-sm-1 {
        padding-right: .25rem
    }

    .pb-sm-1,
    .py-sm-1 {
        padding-bottom: .25rem
    }

    .pl-sm-1,
    .px-sm-1 {
        padding-left: .25rem
    }

    .p-sm-2 {
        padding: .5rem
    }

    .pt-sm-2,
    .py-sm-2 {
        padding-top: .5rem
    }

    .pr-sm-2,
    .px-sm-2 {
        padding-right: .5rem
    }

    .pb-sm-2,
    .py-sm-2 {
        padding-bottom: .5rem
    }

    .pl-sm-2,
    .px-sm-2 {
        padding-left: .5rem
    }

    .p-sm-4 {
        padding: 1rem
    }

    .pt-sm-4,
    .py-sm-4 {
        padding-top: 1rem
    }

    .pr-sm-4,
    .px-sm-4 {
        padding-right: 1rem
    }

    .pb-sm-4,
    .py-sm-4 {
        padding-bottom: 1rem
    }

    .pl-sm-4,
    .px-sm-4 {
        padding-left: 1rem
    }

    .p-sm-5 {
        padding: 1.25rem
    }

    .pt-sm-5,
    .py-sm-5 {
        padding-top: 1.25rem
    }

    .pr-sm-5,
    .px-sm-5 {
        padding-right: 1.25rem
    }

    .pb-sm-5,
    .py-sm-5 {
        padding-bottom: 1.25rem
    }

    .pl-sm-5,
    .px-sm-5 {
        padding-left: 1.25rem
    }

    .p-sm-6 {
        padding: 1.5rem
    }

    .pt-sm-6,
    .py-sm-6 {
        padding-top: 1.5rem
    }

    .pr-sm-6,
    .px-sm-6 {
        padding-right: 1.5rem
    }

    .pb-sm-6,
    .py-sm-6 {
        padding-bottom: 1.5rem
    }

    .pl-sm-6,
    .px-sm-6 {
        padding-left: 1.5rem
    }

    .p-sm-8 {
        padding: 2rem
    }

    .pt-sm-8,
    .py-sm-8 {
        padding-top: 2rem
    }

    .pr-sm-8,
    .px-sm-8 {
        padding-right: 2rem
    }

    .pb-sm-8,
    .py-sm-8 {
        padding-bottom: 2rem
    }

    .pl-sm-8,
    .px-sm-8 {
        padding-left: 2rem
    }

    .p-sm-10 {
        padding: 2.5rem
    }

    .pt-sm-10,
    .py-sm-10 {
        padding-top: 2.5rem
    }

    .pr-sm-10,
    .px-sm-10 {
        padding-right: 2.5rem
    }

    .pb-sm-10,
    .py-sm-10 {
        padding-bottom: 2.5rem
    }

    .pl-sm-10,
    .px-sm-10 {
        padding-left: 2.5rem
    }

    .p-sm-12 {
        padding: 3rem
    }

    .pt-sm-12,
    .py-sm-12 {
        padding-top: 3rem
    }

    .pr-sm-12,
    .px-sm-12 {
        padding-right: 3rem
    }

    .pb-sm-12,
    .py-sm-12 {
        padding-bottom: 3rem
    }

    .pl-sm-12,
    .px-sm-12 {
        padding-left: 3rem
    }

    .p-sm-14 {
        padding: 3.5rem
    }

    .pt-sm-14,
    .py-sm-14 {
        padding-top: 3.5rem
    }

    .pr-sm-14,
    .px-sm-14 {
        padding-right: 3.5rem
    }

    .pb-sm-14,
    .py-sm-14 {
        padding-bottom: 3.5rem
    }

    .pl-sm-14,
    .px-sm-14 {
        padding-left: 3.5rem
    }

    .p-sm-16 {
        padding: 4rem
    }

    .pt-sm-16,
    .py-sm-16 {
        padding-top: 4rem
    }

    .pr-sm-16,
    .px-sm-16 {
        padding-right: 4rem
    }

    .pb-sm-16,
    .py-sm-16 {
        padding-bottom: 4rem
    }

    .pl-sm-16,
    .px-sm-16 {
        padding-left: 4rem
    }

    .p-sm-18 {
        padding: 4.5rem
    }

    .pt-sm-18,
    .py-sm-18 {
        padding-top: 4.5rem
    }

    .pr-sm-18,
    .px-sm-18 {
        padding-right: 4.5rem
    }

    .pb-sm-18,
    .py-sm-18 {
        padding-bottom: 4.5rem
    }

    .pl-sm-18,
    .px-sm-18 {
        padding-left: 4.5rem
    }

    .p-sm-20 {
        padding: 5rem
    }

    .pt-sm-20,
    .py-sm-20 {
        padding-top: 5rem
    }

    .pr-sm-20,
    .px-sm-20 {
        padding-right: 5rem
    }

    .pb-sm-20,
    .py-sm-20 {
        padding-bottom: 5rem
    }

    .pl-sm-20,
    .px-sm-20 {
        padding-left: 5rem
    }

    .p-sm-24 {
        padding: 6rem
    }

    .pt-sm-24,
    .py-sm-24 {
        padding-top: 6rem
    }

    .pr-sm-24,
    .px-sm-24 {
        padding-right: 6rem
    }

    .pb-sm-24,
    .py-sm-24 {
        padding-bottom: 6rem
    }

    .pl-sm-24,
    .px-sm-24 {
        padding-left: 6rem
    }

    .p-sm-30 {
        padding: 7.5rem
    }

    .pt-sm-30,
    .py-sm-30 {
        padding-top: 7.5rem
    }

    .pr-sm-30,
    .px-sm-30 {
        padding-right: 7.5rem
    }

    .pb-sm-30,
    .py-sm-30 {
        padding-bottom: 7.5rem
    }

    .pl-sm-30,
    .px-sm-30 {
        padding-left: 7.5rem
    }

    .p-sm-40 {
        padding: 10rem
    }

    .pt-sm-40,
    .py-sm-40 {
        padding-top: 10rem
    }

    .pr-sm-40,
    .px-sm-40 {
        padding-right: 10rem
    }

    .pb-sm-40,
    .py-sm-40 {
        padding-bottom: 10rem
    }

    .pl-sm-40,
    .px-sm-40 {
        padding-left: 10rem
    }

    .m-sm-n1 {
        margin: -.25rem
    }

    .mt-sm-n1,
    .my-sm-n1 {
        margin-top: -.25rem
    }

    .mr-sm-n1,
    .mx-sm-n1 {
        margin-right: -.25rem
    }

    .mb-sm-n1,
    .my-sm-n1 {
        margin-bottom: -.25rem
    }

    .ml-sm-n1,
    .mx-sm-n1 {
        margin-left: -.25rem
    }

    .m-sm-n2 {
        margin: -.25rem
    }

    .mt-sm-n2,
    .my-sm-n2 {
        margin-top: -.25rem
    }

    .mr-sm-n2,
    .mx-sm-n2 {
        margin-right: -.25rem
    }

    .mb-sm-n2,
    .my-sm-n2 {
        margin-bottom: -.25rem
    }

    .ml-sm-n2,
    .mx-sm-n2 {
        margin-left: -.25rem
    }

    .m-sm-n4 {
        margin: -.25rem
    }

    .mt-sm-n4,
    .my-sm-n4 {
        margin-top: -.25rem
    }

    .mr-sm-n4,
    .mx-sm-n4 {
        margin-right: -.25rem
    }

    .mb-sm-n4,
    .my-sm-n4 {
        margin-bottom: -.25rem
    }

    .ml-sm-n4,
    .mx-sm-n4 {
        margin-left: -.25rem
    }

    .m-sm-n5 {
        margin: -.25rem
    }

    .mt-sm-n5,
    .my-sm-n5 {
        margin-top: -.25rem
    }

    .mr-sm-n5,
    .mx-sm-n5 {
        margin-right: -.25rem
    }

    .mb-sm-n5,
    .my-sm-n5 {
        margin-bottom: -.25rem
    }

    .ml-sm-n5,
    .mx-sm-n5 {
        margin-left: -.25rem
    }

    .m-sm-n6 {
        margin: -.25rem
    }

    .mt-sm-n6,
    .my-sm-n6 {
        margin-top: -.25rem
    }

    .mr-sm-n6,
    .mx-sm-n6 {
        margin-right: -.25rem
    }

    .mb-sm-n6,
    .my-sm-n6 {
        margin-bottom: -.25rem
    }

    .ml-sm-n6,
    .mx-sm-n6 {
        margin-left: -.25rem
    }

    .m-sm-n8 {
        margin: -.25rem
    }

    .mt-sm-n8,
    .my-sm-n8 {
        margin-top: -.25rem
    }

    .mr-sm-n8,
    .mx-sm-n8 {
        margin-right: -.25rem
    }

    .mb-sm-n8,
    .my-sm-n8 {
        margin-bottom: -.25rem
    }

    .ml-sm-n8,
    .mx-sm-n8 {
        margin-left: -.25rem
    }

    .m-sm-n10 {
        margin: -.25rem
    }

    .mt-sm-n10,
    .my-sm-n10 {
        margin-top: -.25rem
    }

    .mr-sm-n10,
    .mx-sm-n10 {
        margin-right: -.25rem
    }

    .mb-sm-n10,
    .my-sm-n10 {
        margin-bottom: -.25rem
    }

    .ml-sm-n10,
    .mx-sm-n10 {
        margin-left: -.25rem
    }

    .m-sm-n12 {
        margin: -.25rem
    }

    .mt-sm-n12,
    .my-sm-n12 {
        margin-top: -.25rem
    }

    .mr-sm-n12,
    .mx-sm-n12 {
        margin-right: -.25rem
    }

    .mb-sm-n12,
    .my-sm-n12 {
        margin-bottom: -.25rem
    }

    .ml-sm-n12,
    .mx-sm-n12 {
        margin-left: -.25rem
    }

    .m-sm-n14 {
        margin: -.25rem
    }

    .mt-sm-n14,
    .my-sm-n14 {
        margin-top: -.25rem
    }

    .mr-sm-n14,
    .mx-sm-n14 {
        margin-right: -.25rem
    }

    .mb-sm-n14,
    .my-sm-n14 {
        margin-bottom: -.25rem
    }

    .ml-sm-n14,
    .mx-sm-n14 {
        margin-left: -.25rem
    }

    .m-sm-n16 {
        margin: -.25rem
    }

    .mt-sm-n16,
    .my-sm-n16 {
        margin-top: -.25rem
    }

    .mr-sm-n16,
    .mx-sm-n16 {
        margin-right: -.25rem
    }

    .mb-sm-n16,
    .my-sm-n16 {
        margin-bottom: -.25rem
    }

    .ml-sm-n16,
    .mx-sm-n16 {
        margin-left: -.25rem
    }

    .m-sm-n18 {
        margin: -.25rem
    }

    .mt-sm-n18,
    .my-sm-n18 {
        margin-top: -.25rem
    }

    .mr-sm-n18,
    .mx-sm-n18 {
        margin-right: -.25rem
    }

    .mb-sm-n18,
    .my-sm-n18 {
        margin-bottom: -.25rem
    }

    .ml-sm-n18,
    .mx-sm-n18 {
        margin-left: -.25rem
    }

    .m-sm-n20 {
        margin: -.25rem
    }

    .mt-sm-n20,
    .my-sm-n20 {
        margin-top: -.25rem
    }

    .mr-sm-n20,
    .mx-sm-n20 {
        margin-right: -.25rem
    }

    .mb-sm-n20,
    .my-sm-n20 {
        margin-bottom: -.25rem
    }

    .ml-sm-n20,
    .mx-sm-n20 {
        margin-left: -.25rem
    }

    .m-sm-n24 {
        margin: -.25rem
    }

    .mt-sm-n24,
    .my-sm-n24 {
        margin-top: -.25rem
    }

    .mr-sm-n24,
    .mx-sm-n24 {
        margin-right: -.25rem
    }

    .mb-sm-n24,
    .my-sm-n24 {
        margin-bottom: -.25rem
    }

    .ml-sm-n24,
    .mx-sm-n24 {
        margin-left: -.25rem
    }

    .m-sm-n30 {
        margin: -.25rem
    }

    .mt-sm-n30,
    .my-sm-n30 {
        margin-top: -.25rem
    }

    .mr-sm-n30,
    .mx-sm-n30 {
        margin-right: -.25rem
    }

    .mb-sm-n30,
    .my-sm-n30 {
        margin-bottom: -.25rem
    }

    .ml-sm-n30,
    .mx-sm-n30 {
        margin-left: -.25rem
    }

    .m-sm-n40 {
        margin: -.25rem
    }

    .mt-sm-n40,
    .my-sm-n40 {
        margin-top: -.25rem
    }

    .mr-sm-n40,
    .mx-sm-n40 {
        margin-right: -.25rem
    }

    .mb-sm-n40,
    .my-sm-n40 {
        margin-bottom: -.25rem
    }

    .ml-sm-n40,
    .mx-sm-n40 {
        margin-left: -.25rem
    }

    .m-sm-auto {
        margin: auto
    }

    .mt-sm-auto,
    .my-sm-auto {
        margin-top: auto
    }

    .mr-sm-auto,
    .mx-sm-auto {
        margin-right: auto
    }

    .mb-sm-auto,
    .my-sm-auto {
        margin-bottom: auto
    }

    .ml-sm-auto,
    .mx-sm-auto {
        margin-left: auto
    }
}

@media (min-width:992px) {
    .m-md-0 {
        margin: 0
    }

    .mt-md-0,
    .my-md-0 {
        margin-top: 0
    }

    .mr-md-0,
    .mx-md-0 {
        margin-right: 0
    }

    .mb-md-0,
    .my-md-0 {
        margin-bottom: 0
    }

    .ml-md-0,
    .mx-md-0 {
        margin-left: 0
    }

    .m-md-1 {
        margin: .25rem
    }

    .mt-md-1,
    .my-md-1 {
        margin-top: .25rem
    }

    .mr-md-1,
    .mx-md-1 {
        margin-right: .25rem
    }

    .mb-md-1,
    .my-md-1 {
        margin-bottom: .25rem
    }

    .ml-md-1,
    .mx-md-1 {
        margin-left: .25rem
    }

    .m-md-2 {
        margin: .5rem
    }

    .mt-md-2,
    .my-md-2 {
        margin-top: .5rem
    }

    .mr-md-2,
    .mx-md-2 {
        margin-right: .5rem
    }

    .mb-md-2,
    .my-md-2 {
        margin-bottom: .5rem
    }

    .ml-md-2,
    .mx-md-2 {
        margin-left: .5rem
    }

    .m-md-4 {
        margin: 1rem
    }

    .mt-md-4,
    .my-md-4 {
        margin-top: 1rem
    }

    .mr-md-4,
    .mx-md-4 {
        margin-right: 1rem
    }

    .mb-md-4,
    .my-md-4 {
        margin-bottom: 1rem
    }

    .ml-md-4,
    .mx-md-4 {
        margin-left: 1rem
    }

    .m-md-5 {
        margin: 1.25rem
    }

    .mt-md-5,
    .my-md-5 {
        margin-top: 1.25rem
    }

    .mr-md-5,
    .mx-md-5 {
        margin-right: 1.25rem
    }

    .mb-md-5,
    .my-md-5 {
        margin-bottom: 1.25rem
    }

    .ml-md-5,
    .mx-md-5 {
        margin-left: 1.25rem
    }

    .m-md-6 {
        margin: 1.5rem
    }

    .mt-md-6,
    .my-md-6 {
        margin-top: 1.5rem
    }

    .mr-md-6,
    .mx-md-6 {
        margin-right: 1.5rem
    }

    .mb-md-6,
    .my-md-6 {
        margin-bottom: 1.5rem
    }

    .ml-md-6,
    .mx-md-6 {
        margin-left: 1.5rem
    }

    .m-md-8 {
        margin: 2rem
    }

    .mt-md-8,
    .my-md-8 {
        margin-top: 2rem
    }

    .mr-md-8,
    .mx-md-8 {
        margin-right: 2rem
    }

    .mb-md-8,
    .my-md-8 {
        margin-bottom: 2rem
    }

    .ml-md-8,
    .mx-md-8 {
        margin-left: 2rem
    }

    .m-md-10 {
        margin: 2.5rem
    }

    .mt-md-10,
    .my-md-10 {
        margin-top: 2.5rem
    }

    .mr-md-10,
    .mx-md-10 {
        margin-right: 2.5rem
    }

    .mb-md-10,
    .my-md-10 {
        margin-bottom: 2.5rem
    }

    .ml-md-10,
    .mx-md-10 {
        margin-left: 2.5rem
    }

    .m-md-12 {
        margin: 3rem
    }

    .mt-md-12,
    .my-md-12 {
        margin-top: 3rem
    }

    .mr-md-12,
    .mx-md-12 {
        margin-right: 3rem
    }

    .mb-md-12,
    .my-md-12 {
        margin-bottom: 3rem
    }

    .ml-md-12,
    .mx-md-12 {
        margin-left: 3rem
    }

    .m-md-14 {
        margin: 3.5rem
    }

    .mt-md-14,
    .my-md-14 {
        margin-top: 3.5rem
    }

    .mr-md-14,
    .mx-md-14 {
        margin-right: 3.5rem
    }

    .mb-md-14,
    .my-md-14 {
        margin-bottom: 3.5rem
    }

    .ml-md-14,
    .mx-md-14 {
        margin-left: 3.5rem
    }

    .m-md-16 {
        margin: 4rem
    }

    .mt-md-16,
    .my-md-16 {
        margin-top: 4rem
    }

    .mr-md-16,
    .mx-md-16 {
        margin-right: 4rem
    }

    .mb-md-16,
    .my-md-16 {
        margin-bottom: 4rem
    }

    .ml-md-16,
    .mx-md-16 {
        margin-left: 4rem
    }

    .m-md-18 {
        margin: 4.5rem
    }

    .mt-md-18,
    .my-md-18 {
        margin-top: 4.5rem
    }

    .mr-md-18,
    .mx-md-18 {
        margin-right: 4.5rem
    }

    .mb-md-18,
    .my-md-18 {
        margin-bottom: 4.5rem
    }

    .ml-md-18,
    .mx-md-18 {
        margin-left: 4.5rem
    }

    .m-md-20 {
        margin: 5rem
    }

    .mt-md-20,
    .my-md-20 {
        margin-top: 5rem
    }

    .mr-md-20,
    .mx-md-20 {
        margin-right: 5rem
    }

    .mb-md-20,
    .my-md-20 {
        margin-bottom: 5rem
    }

    .ml-md-20,
    .mx-md-20 {
        margin-left: 5rem
    }

    .m-md-24 {
        margin: 6rem
    }

    .mt-md-24,
    .my-md-24 {
        margin-top: 6rem
    }

    .mr-md-24,
    .mx-md-24 {
        margin-right: 6rem
    }

    .mb-md-24,
    .my-md-24 {
        margin-bottom: 6rem
    }

    .ml-md-24,
    .mx-md-24 {
        margin-left: 6rem
    }

    .m-md-30 {
        margin: 7.5rem
    }

    .mt-md-30,
    .my-md-30 {
        margin-top: 7.5rem
    }

    .mr-md-30,
    .mx-md-30 {
        margin-right: 7.5rem
    }

    .mb-md-30,
    .my-md-30 {
        margin-bottom: 7.5rem
    }

    .ml-md-30,
    .mx-md-30 {
        margin-left: 7.5rem
    }

    .m-md-40 {
        margin: 10rem
    }

    .mt-md-40,
    .my-md-40 {
        margin-top: 10rem
    }

    .mr-md-40,
    .mx-md-40 {
        margin-right: 10rem
    }

    .mb-md-40,
    .my-md-40 {
        margin-bottom: 10rem
    }

    .ml-md-40,
    .mx-md-40 {
        margin-left: 10rem
    }

    .p-md-0 {
        padding: 0
    }

    .pt-md-0,
    .py-md-0 {
        padding-top: 0
    }

    .pr-md-0,
    .px-md-0 {
        padding-right: 0
    }

    .pb-md-0,
    .py-md-0 {
        padding-bottom: 0
    }

    .pl-md-0,
    .px-md-0 {
        padding-left: 0
    }

    .p-md-1 {
        padding: .25rem
    }

    .pt-md-1,
    .py-md-1 {
        padding-top: .25rem
    }

    .pr-md-1,
    .px-md-1 {
        padding-right: .25rem
    }

    .pb-md-1,
    .py-md-1 {
        padding-bottom: .25rem
    }

    .pl-md-1,
    .px-md-1 {
        padding-left: .25rem
    }

    .p-md-2 {
        padding: .5rem
    }

    .pt-md-2,
    .py-md-2 {
        padding-top: .5rem
    }

    .pr-md-2,
    .px-md-2 {
        padding-right: .5rem
    }

    .pb-md-2,
    .py-md-2 {
        padding-bottom: .5rem
    }

    .pl-md-2,
    .px-md-2 {
        padding-left: .5rem
    }

    .p-md-4 {
        padding: 1rem
    }

    .pt-md-4,
    .py-md-4 {
        padding-top: 1rem
    }

    .pr-md-4,
    .px-md-4 {
        padding-right: 1rem
    }

    .pb-md-4,
    .py-md-4 {
        padding-bottom: 1rem
    }

    .pl-md-4,
    .px-md-4 {
        padding-left: 1rem
    }

    .p-md-5 {
        padding: 1.25rem
    }

    .pt-md-5,
    .py-md-5 {
        padding-top: 1.25rem
    }

    .pr-md-5,
    .px-md-5 {
        padding-right: 1.25rem
    }

    .pb-md-5,
    .py-md-5 {
        padding-bottom: 1.25rem
    }

    .pl-md-5,
    .px-md-5 {
        padding-left: 1.25rem
    }

    .p-md-6 {
        padding: 1.5rem
    }

    .pt-md-6,
    .py-md-6 {
        padding-top: 1.5rem
    }

    .pr-md-6,
    .px-md-6 {
        padding-right: 1.5rem
    }

    .pb-md-6,
    .py-md-6 {
        padding-bottom: 1.5rem
    }

    .pl-md-6,
    .px-md-6 {
        padding-left: 1.5rem
    }

    .p-md-8 {
        padding: 2rem
    }

    .pt-md-8,
    .py-md-8 {
        padding-top: 2rem
    }

    .pr-md-8,
    .px-md-8 {
        padding-right: 2rem
    }

    .pb-md-8,
    .py-md-8 {
        padding-bottom: 2rem
    }

    .pl-md-8,
    .px-md-8 {
        padding-left: 2rem
    }

    .p-md-10 {
        padding: 2.5rem
    }

    .pt-md-10,
    .py-md-10 {
        padding-top: 2.5rem
    }

    .pr-md-10,
    .px-md-10 {
        padding-right: 2.5rem
    }

    .pb-md-10,
    .py-md-10 {
        padding-bottom: 2.5rem
    }

    .pl-md-10,
    .px-md-10 {
        padding-left: 2.5rem
    }

    .p-md-12 {
        padding: 3rem
    }

    .pt-md-12,
    .py-md-12 {
        padding-top: 3rem
    }

    .pr-md-12,
    .px-md-12 {
        padding-right: 3rem
    }

    .pb-md-12,
    .py-md-12 {
        padding-bottom: 3rem
    }

    .pl-md-12,
    .px-md-12 {
        padding-left: 3rem
    }

    .p-md-14 {
        padding: 3.5rem
    }

    .pt-md-14,
    .py-md-14 {
        padding-top: 3.5rem
    }

    .pr-md-14,
    .px-md-14 {
        padding-right: 3.5rem
    }

    .pb-md-14,
    .py-md-14 {
        padding-bottom: 3.5rem
    }

    .pl-md-14,
    .px-md-14 {
        padding-left: 3.5rem
    }

    .p-md-16 {
        padding: 4rem
    }

    .pt-md-16,
    .py-md-16 {
        padding-top: 4rem
    }

    .pr-md-16,
    .px-md-16 {
        padding-right: 4rem
    }

    .pb-md-16,
    .py-md-16 {
        padding-bottom: 4rem
    }

    .pl-md-16,
    .px-md-16 {
        padding-left: 4rem
    }

    .p-md-18 {
        padding: 4.5rem
    }

    .pt-md-18,
    .py-md-18 {
        padding-top: 4.5rem
    }

    .pr-md-18,
    .px-md-18 {
        padding-right: 4.5rem
    }

    .pb-md-18,
    .py-md-18 {
        padding-bottom: 4.5rem
    }

    .pl-md-18,
    .px-md-18 {
        padding-left: 4.5rem
    }

    .p-md-20 {
        padding: 5rem
    }

    .pt-md-20,
    .py-md-20 {
        padding-top: 5rem
    }

    .pr-md-20,
    .px-md-20 {
        padding-right: 5rem
    }

    .pb-md-20,
    .py-md-20 {
        padding-bottom: 5rem
    }

    .pl-md-20,
    .px-md-20 {
        padding-left: 5rem
    }

    .p-md-24 {
        padding: 6rem
    }

    .pt-md-24,
    .py-md-24 {
        padding-top: 6rem
    }

    .pr-md-24,
    .px-md-24 {
        padding-right: 6rem
    }

    .pb-md-24,
    .py-md-24 {
        padding-bottom: 6rem
    }

    .pl-md-24,
    .px-md-24 {
        padding-left: 6rem
    }

    .p-md-30 {
        padding: 7.5rem
    }

    .pt-md-30,
    .py-md-30 {
        padding-top: 7.5rem
    }

    .pr-md-30,
    .px-md-30 {
        padding-right: 7.5rem
    }

    .pb-md-30,
    .py-md-30 {
        padding-bottom: 7.5rem
    }

    .pl-md-30,
    .px-md-30 {
        padding-left: 7.5rem
    }

    .p-md-40 {
        padding: 10rem
    }

    .pt-md-40,
    .py-md-40 {
        padding-top: 10rem
    }

    .pr-md-40,
    .px-md-40 {
        padding-right: 10rem
    }

    .pb-md-40,
    .py-md-40 {
        padding-bottom: 10rem
    }

    .pl-md-40,
    .px-md-40 {
        padding-left: 10rem
    }

    .m-md-n1 {
        margin: -.25rem
    }

    .mt-md-n1,
    .my-md-n1 {
        margin-top: -.25rem
    }

    .mr-md-n1,
    .mx-md-n1 {
        margin-right: -.25rem
    }

    .mb-md-n1,
    .my-md-n1 {
        margin-bottom: -.25rem
    }

    .ml-md-n1,
    .mx-md-n1 {
        margin-left: -.25rem
    }

    .m-md-n2 {
        margin: -.25rem
    }

    .mt-md-n2,
    .my-md-n2 {
        margin-top: -.25rem
    }

    .mr-md-n2,
    .mx-md-n2 {
        margin-right: -.25rem
    }

    .mb-md-n2,
    .my-md-n2 {
        margin-bottom: -.25rem
    }

    .ml-md-n2,
    .mx-md-n2 {
        margin-left: -.25rem
    }

    .m-md-n4 {
        margin: -.25rem
    }

    .mt-md-n4,
    .my-md-n4 {
        margin-top: -.25rem
    }

    .mr-md-n4,
    .mx-md-n4 {
        margin-right: -.25rem
    }

    .mb-md-n4,
    .my-md-n4 {
        margin-bottom: -.25rem
    }

    .ml-md-n4,
    .mx-md-n4 {
        margin-left: -.25rem
    }

    .m-md-n5 {
        margin: -.25rem
    }

    .mt-md-n5,
    .my-md-n5 {
        margin-top: -.25rem
    }

    .mr-md-n5,
    .mx-md-n5 {
        margin-right: -.25rem
    }

    .mb-md-n5,
    .my-md-n5 {
        margin-bottom: -.25rem
    }

    .ml-md-n5,
    .mx-md-n5 {
        margin-left: -.25rem
    }

    .m-md-n6 {
        margin: -.25rem
    }

    .mt-md-n6,
    .my-md-n6 {
        margin-top: -.25rem
    }

    .mr-md-n6,
    .mx-md-n6 {
        margin-right: -.25rem
    }

    .mb-md-n6,
    .my-md-n6 {
        margin-bottom: -.25rem
    }

    .ml-md-n6,
    .mx-md-n6 {
        margin-left: -.25rem
    }

    .m-md-n8 {
        margin: -.25rem
    }

    .mt-md-n8,
    .my-md-n8 {
        margin-top: -.25rem
    }

    .mr-md-n8,
    .mx-md-n8 {
        margin-right: -.25rem
    }

    .mb-md-n8,
    .my-md-n8 {
        margin-bottom: -.25rem
    }

    .ml-md-n8,
    .mx-md-n8 {
        margin-left: -.25rem
    }

    .m-md-n10 {
        margin: -.25rem
    }

    .mt-md-n10,
    .my-md-n10 {
        margin-top: -.25rem
    }

    .mr-md-n10,
    .mx-md-n10 {
        margin-right: -.25rem
    }

    .mb-md-n10,
    .my-md-n10 {
        margin-bottom: -.25rem
    }

    .ml-md-n10,
    .mx-md-n10 {
        margin-left: -.25rem
    }

    .m-md-n12 {
        margin: -.25rem
    }

    .mt-md-n12,
    .my-md-n12 {
        margin-top: -.25rem
    }

    .mr-md-n12,
    .mx-md-n12 {
        margin-right: -.25rem
    }

    .mb-md-n12,
    .my-md-n12 {
        margin-bottom: -.25rem
    }

    .ml-md-n12,
    .mx-md-n12 {
        margin-left: -.25rem
    }

    .m-md-n14 {
        margin: -.25rem
    }

    .mt-md-n14,
    .my-md-n14 {
        margin-top: -.25rem
    }

    .mr-md-n14,
    .mx-md-n14 {
        margin-right: -.25rem
    }

    .mb-md-n14,
    .my-md-n14 {
        margin-bottom: -.25rem
    }

    .ml-md-n14,
    .mx-md-n14 {
        margin-left: -.25rem
    }

    .m-md-n16 {
        margin: -.25rem
    }

    .mt-md-n16,
    .my-md-n16 {
        margin-top: -.25rem
    }

    .mr-md-n16,
    .mx-md-n16 {
        margin-right: -.25rem
    }

    .mb-md-n16,
    .my-md-n16 {
        margin-bottom: -.25rem
    }

    .ml-md-n16,
    .mx-md-n16 {
        margin-left: -.25rem
    }

    .m-md-n18 {
        margin: -.25rem
    }

    .mt-md-n18,
    .my-md-n18 {
        margin-top: -.25rem
    }

    .mr-md-n18,
    .mx-md-n18 {
        margin-right: -.25rem
    }

    .mb-md-n18,
    .my-md-n18 {
        margin-bottom: -.25rem
    }

    .ml-md-n18,
    .mx-md-n18 {
        margin-left: -.25rem
    }

    .m-md-n20 {
        margin: -.25rem
    }

    .mt-md-n20,
    .my-md-n20 {
        margin-top: -.25rem
    }

    .mr-md-n20,
    .mx-md-n20 {
        margin-right: -.25rem
    }

    .mb-md-n20,
    .my-md-n20 {
        margin-bottom: -.25rem
    }

    .ml-md-n20,
    .mx-md-n20 {
        margin-left: -.25rem
    }

    .m-md-n24 {
        margin: -.25rem
    }

    .mt-md-n24,
    .my-md-n24 {
        margin-top: -.25rem
    }

    .mr-md-n24,
    .mx-md-n24 {
        margin-right: -.25rem
    }

    .mb-md-n24,
    .my-md-n24 {
        margin-bottom: -.25rem
    }

    .ml-md-n24,
    .mx-md-n24 {
        margin-left: -.25rem
    }

    .m-md-n30 {
        margin: -.25rem
    }

    .mt-md-n30,
    .my-md-n30 {
        margin-top: -.25rem
    }

    .mr-md-n30,
    .mx-md-n30 {
        margin-right: -.25rem
    }

    .mb-md-n30,
    .my-md-n30 {
        margin-bottom: -.25rem
    }

    .ml-md-n30,
    .mx-md-n30 {
        margin-left: -.25rem
    }

    .m-md-n40 {
        margin: -.25rem
    }

    .mt-md-n40,
    .my-md-n40 {
        margin-top: -.25rem
    }

    .mr-md-n40,
    .mx-md-n40 {
        margin-right: -.25rem
    }

    .mb-md-n40,
    .my-md-n40 {
        margin-bottom: -.25rem
    }

    .ml-md-n40,
    .mx-md-n40 {
        margin-left: -.25rem
    }

    .m-md-auto {
        margin: auto
    }

    .mt-md-auto,
    .my-md-auto {
        margin-top: auto
    }

    .mr-md-auto,
    .mx-md-auto {
        margin-right: auto
    }

    .mb-md-auto,
    .my-md-auto {
        margin-bottom: auto
    }

    .ml-md-auto,
    .mx-md-auto {
        margin-left: auto
    }
}

@media (min-width:1470px) {
    .m-lg-0 {
        margin: 0
    }

    .mt-lg-0,
    .my-lg-0 {
        margin-top: 0
    }

    .mr-lg-0,
    .mx-lg-0 {
        margin-right: 0
    }

    .mb-lg-0,
    .my-lg-0 {
        margin-bottom: 0
    }

    .ml-lg-0,
    .mx-lg-0 {
        margin-left: 0
    }

    .m-lg-1 {
        margin: .25rem
    }

    .mt-lg-1,
    .my-lg-1 {
        margin-top: .25rem
    }

    .mr-lg-1,
    .mx-lg-1 {
        margin-right: .25rem
    }

    .mb-lg-1,
    .my-lg-1 {
        margin-bottom: .25rem
    }

    .ml-lg-1,
    .mx-lg-1 {
        margin-left: .25rem
    }

    .m-lg-2 {
        margin: .5rem
    }

    .mt-lg-2,
    .my-lg-2 {
        margin-top: .5rem
    }

    .mr-lg-2,
    .mx-lg-2 {
        margin-right: .5rem
    }

    .mb-lg-2,
    .my-lg-2 {
        margin-bottom: .5rem
    }

    .ml-lg-2,
    .mx-lg-2 {
        margin-left: .5rem
    }

    .m-lg-4 {
        margin: 1rem
    }

    .mt-lg-4,
    .my-lg-4 {
        margin-top: 1rem
    }

    .mr-lg-4,
    .mx-lg-4 {
        margin-right: 1rem
    }

    .mb-lg-4,
    .my-lg-4 {
        margin-bottom: 1rem
    }

    .ml-lg-4,
    .mx-lg-4 {
        margin-left: 1rem
    }

    .m-lg-5 {
        margin: 1.25rem
    }

    .mt-lg-5,
    .my-lg-5 {
        margin-top: 1.25rem
    }

    .mr-lg-5,
    .mx-lg-5 {
        margin-right: 1.25rem
    }

    .mb-lg-5,
    .my-lg-5 {
        margin-bottom: 1.25rem
    }

    .ml-lg-5,
    .mx-lg-5 {
        margin-left: 1.25rem
    }

    .m-lg-6 {
        margin: 1.5rem
    }

    .mt-lg-6,
    .my-lg-6 {
        margin-top: 1.5rem
    }

    .mr-lg-6,
    .mx-lg-6 {
        margin-right: 1.5rem
    }

    .mb-lg-6,
    .my-lg-6 {
        margin-bottom: 1.5rem
    }

    .ml-lg-6,
    .mx-lg-6 {
        margin-left: 1.5rem
    }

    .m-lg-8 {
        margin: 2rem
    }

    .mt-lg-8,
    .my-lg-8 {
        margin-top: 2rem
    }

    .mr-lg-8,
    .mx-lg-8 {
        margin-right: 2rem
    }

    .mb-lg-8,
    .my-lg-8 {
        margin-bottom: 2rem
    }

    .ml-lg-8,
    .mx-lg-8 {
        margin-left: 2rem
    }

    .m-lg-10 {
        margin: 2.5rem
    }

    .mt-lg-10,
    .my-lg-10 {
        margin-top: 2.5rem
    }

    .mr-lg-10,
    .mx-lg-10 {
        margin-right: 2.5rem
    }

    .mb-lg-10,
    .my-lg-10 {
        margin-bottom: 2.5rem
    }

    .ml-lg-10,
    .mx-lg-10 {
        margin-left: 2.5rem
    }

    .m-lg-12 {
        margin: 3rem
    }

    .mt-lg-12,
    .my-lg-12 {
        margin-top: 3rem
    }

    .mr-lg-12,
    .mx-lg-12 {
        margin-right: 3rem
    }

    .mb-lg-12,
    .my-lg-12 {
        margin-bottom: 3rem
    }

    .ml-lg-12,
    .mx-lg-12 {
        margin-left: 3rem
    }

    .m-lg-14 {
        margin: 3.5rem
    }

    .mt-lg-14,
    .my-lg-14 {
        margin-top: 3.5rem
    }

    .mr-lg-14,
    .mx-lg-14 {
        margin-right: 3.5rem
    }

    .mb-lg-14,
    .my-lg-14 {
        margin-bottom: 3.5rem
    }

    .ml-lg-14,
    .mx-lg-14 {
        margin-left: 3.5rem
    }

    .m-lg-16 {
        margin: 4rem
    }

    .mt-lg-16,
    .my-lg-16 {
        margin-top: 4rem
    }

    .mr-lg-16,
    .mx-lg-16 {
        margin-right: 4rem
    }

    .mb-lg-16,
    .my-lg-16 {
        margin-bottom: 4rem
    }

    .ml-lg-16,
    .mx-lg-16 {
        margin-left: 4rem
    }

    .m-lg-18 {
        margin: 4.5rem
    }

    .mt-lg-18,
    .my-lg-18 {
        margin-top: 4.5rem
    }

    .mr-lg-18,
    .mx-lg-18 {
        margin-right: 4.5rem
    }

    .mb-lg-18,
    .my-lg-18 {
        margin-bottom: 4.5rem
    }

    .ml-lg-18,
    .mx-lg-18 {
        margin-left: 4.5rem
    }

    .m-lg-20 {
        margin: 5rem
    }

    .mt-lg-20,
    .my-lg-20 {
        margin-top: 5rem
    }

    .mr-lg-20,
    .mx-lg-20 {
        margin-right: 5rem
    }

    .mb-lg-20,
    .my-lg-20 {
        margin-bottom: 5rem
    }

    .ml-lg-20,
    .mx-lg-20 {
        margin-left: 5rem
    }

    .m-lg-24 {
        margin: 6rem
    }

    .mt-lg-24,
    .my-lg-24 {
        margin-top: 6rem
    }

    .mr-lg-24,
    .mx-lg-24 {
        margin-right: 6rem
    }

    .mb-lg-24,
    .my-lg-24 {
        margin-bottom: 6rem
    }

    .ml-lg-24,
    .mx-lg-24 {
        margin-left: 6rem
    }

    .m-lg-30 {
        margin: 7.5rem
    }

    .mt-lg-30,
    .my-lg-30 {
        margin-top: 7.5rem
    }

    .mr-lg-30,
    .mx-lg-30 {
        margin-right: 7.5rem
    }

    .mb-lg-30,
    .my-lg-30 {
        margin-bottom: 7.5rem
    }

    .ml-lg-30,
    .mx-lg-30 {
        margin-left: 7.5rem
    }

    .m-lg-40 {
        margin: 10rem
    }

    .mt-lg-40,
    .my-lg-40 {
        margin-top: 10rem
    }

    .mr-lg-40,
    .mx-lg-40 {
        margin-right: 10rem
    }

    .mb-lg-40,
    .my-lg-40 {
        margin-bottom: 10rem
    }

    .ml-lg-40,
    .mx-lg-40 {
        margin-left: 10rem
    }

    .p-lg-0 {
        padding: 0
    }

    .pt-lg-0,
    .py-lg-0 {
        padding-top: 0
    }

    .pr-lg-0,
    .px-lg-0 {
        padding-right: 0
    }

    .pb-lg-0,
    .py-lg-0 {
        padding-bottom: 0
    }

    .pl-lg-0,
    .px-lg-0 {
        padding-left: 0
    }

    .p-lg-1 {
        padding: .25rem
    }

    .pt-lg-1,
    .py-lg-1 {
        padding-top: .25rem
    }

    .pr-lg-1,
    .px-lg-1 {
        padding-right: .25rem
    }

    .pb-lg-1,
    .py-lg-1 {
        padding-bottom: .25rem
    }

    .pl-lg-1,
    .px-lg-1 {
        padding-left: .25rem
    }

    .p-lg-2 {
        padding: .5rem
    }

    .pt-lg-2,
    .py-lg-2 {
        padding-top: .5rem
    }

    .pr-lg-2,
    .px-lg-2 {
        padding-right: .5rem
    }

    .pb-lg-2,
    .py-lg-2 {
        padding-bottom: .5rem
    }

    .pl-lg-2,
    .px-lg-2 {
        padding-left: .5rem
    }

    .p-lg-4 {
        padding: 1rem
    }

    .pt-lg-4,
    .py-lg-4 {
        padding-top: 1rem
    }

    .pr-lg-4,
    .px-lg-4 {
        padding-right: 1rem
    }

    .pb-lg-4,
    .py-lg-4 {
        padding-bottom: 1rem
    }

    .pl-lg-4,
    .px-lg-4 {
        padding-left: 1rem
    }

    .p-lg-5 {
        padding: 1.25rem
    }

    .pt-lg-5,
    .py-lg-5 {
        padding-top: 1.25rem
    }

    .pr-lg-5,
    .px-lg-5 {
        padding-right: 1.25rem
    }

    .pb-lg-5,
    .py-lg-5 {
        padding-bottom: 1.25rem
    }

    .pl-lg-5,
    .px-lg-5 {
        padding-left: 1.25rem
    }

    .p-lg-6 {
        padding: 1.5rem
    }

    .pt-lg-6,
    .py-lg-6 {
        padding-top: 1.5rem
    }

    .pr-lg-6,
    .px-lg-6 {
        padding-right: 1.5rem
    }

    .pb-lg-6,
    .py-lg-6 {
        padding-bottom: 1.5rem
    }

    .pl-lg-6,
    .px-lg-6 {
        padding-left: 1.5rem
    }

    .p-lg-8 {
        padding: 2rem
    }

    .pt-lg-8,
    .py-lg-8 {
        padding-top: 2rem
    }

    .pr-lg-8,
    .px-lg-8 {
        padding-right: 2rem
    }

    .pb-lg-8,
    .py-lg-8 {
        padding-bottom: 2rem
    }

    .pl-lg-8,
    .px-lg-8 {
        padding-left: 2rem
    }

    .p-lg-10 {
        padding: 2.5rem
    }

    .pt-lg-10,
    .py-lg-10 {
        padding-top: 2.5rem
    }

    .pr-lg-10,
    .px-lg-10 {
        padding-right: 2.5rem
    }

    .pb-lg-10,
    .py-lg-10 {
        padding-bottom: 2.5rem
    }

    .pl-lg-10,
    .px-lg-10 {
        padding-left: 2.5rem
    }

    .p-lg-12 {
        padding: 3rem
    }

    .pt-lg-12,
    .py-lg-12 {
        padding-top: 3rem
    }

    .pr-lg-12,
    .px-lg-12 {
        padding-right: 3rem
    }

    .pb-lg-12,
    .py-lg-12 {
        padding-bottom: 3rem
    }

    .pl-lg-12,
    .px-lg-12 {
        padding-left: 3rem
    }

    .p-lg-14 {
        padding: 3.5rem
    }

    .pt-lg-14,
    .py-lg-14 {
        padding-top: 3.5rem
    }

    .pr-lg-14,
    .px-lg-14 {
        padding-right: 3.5rem
    }

    .pb-lg-14,
    .py-lg-14 {
        padding-bottom: 3.5rem
    }

    .pl-lg-14,
    .px-lg-14 {
        padding-left: 3.5rem
    }

    .p-lg-16 {
        padding: 4rem
    }

    .pt-lg-16,
    .py-lg-16 {
        padding-top: 4rem
    }

    .pr-lg-16,
    .px-lg-16 {
        padding-right: 4rem
    }

    .pb-lg-16,
    .py-lg-16 {
        padding-bottom: 4rem
    }

    .pl-lg-16,
    .px-lg-16 {
        padding-left: 4rem
    }

    .p-lg-18 {
        padding: 4.5rem
    }

    .pt-lg-18,
    .py-lg-18 {
        padding-top: 4.5rem
    }

    .pr-lg-18,
    .px-lg-18 {
        padding-right: 4.5rem
    }

    .pb-lg-18,
    .py-lg-18 {
        padding-bottom: 4.5rem
    }

    .pl-lg-18,
    .px-lg-18 {
        padding-left: 4.5rem
    }

    .p-lg-20 {
        padding: 5rem
    }

    .pt-lg-20,
    .py-lg-20 {
        padding-top: 5rem
    }

    .pr-lg-20,
    .px-lg-20 {
        padding-right: 5rem
    }

    .pb-lg-20,
    .py-lg-20 {
        padding-bottom: 5rem
    }

    .pl-lg-20,
    .px-lg-20 {
        padding-left: 5rem
    }

    .p-lg-24 {
        padding: 6rem
    }

    .pt-lg-24,
    .py-lg-24 {
        padding-top: 6rem
    }

    .pr-lg-24,
    .px-lg-24 {
        padding-right: 6rem
    }

    .pb-lg-24,
    .py-lg-24 {
        padding-bottom: 6rem
    }

    .pl-lg-24,
    .px-lg-24 {
        padding-left: 6rem
    }

    .p-lg-30 {
        padding: 7.5rem
    }

    .pt-lg-30,
    .py-lg-30 {
        padding-top: 7.5rem
    }

    .pr-lg-30,
    .px-lg-30 {
        padding-right: 7.5rem
    }

    .pb-lg-30,
    .py-lg-30 {
        padding-bottom: 7.5rem
    }

    .pl-lg-30,
    .px-lg-30 {
        padding-left: 7.5rem
    }

    .p-lg-40 {
        padding: 10rem
    }

    .pt-lg-40,
    .py-lg-40 {
        padding-top: 10rem
    }

    .pr-lg-40,
    .px-lg-40 {
        padding-right: 10rem
    }

    .pb-lg-40,
    .py-lg-40 {
        padding-bottom: 10rem
    }

    .pl-lg-40,
    .px-lg-40 {
        padding-left: 10rem
    }

    .m-lg-n1 {
        margin: -.25rem
    }

    .mt-lg-n1,
    .my-lg-n1 {
        margin-top: -.25rem
    }

    .mr-lg-n1,
    .mx-lg-n1 {
        margin-right: -.25rem
    }

    .mb-lg-n1,
    .my-lg-n1 {
        margin-bottom: -.25rem
    }

    .ml-lg-n1,
    .mx-lg-n1 {
        margin-left: -.25rem
    }

    .m-lg-n2 {
        margin: -.25rem
    }

    .mt-lg-n2,
    .my-lg-n2 {
        margin-top: -.25rem
    }

    .mr-lg-n2,
    .mx-lg-n2 {
        margin-right: -.25rem
    }

    .mb-lg-n2,
    .my-lg-n2 {
        margin-bottom: -.25rem
    }

    .ml-lg-n2,
    .mx-lg-n2 {
        margin-left: -.25rem
    }

    .m-lg-n4 {
        margin: -.25rem
    }

    .mt-lg-n4,
    .my-lg-n4 {
        margin-top: -.25rem
    }

    .mr-lg-n4,
    .mx-lg-n4 {
        margin-right: -.25rem
    }

    .mb-lg-n4,
    .my-lg-n4 {
        margin-bottom: -.25rem
    }

    .ml-lg-n4,
    .mx-lg-n4 {
        margin-left: -.25rem
    }

    .m-lg-n5 {
        margin: -.25rem
    }

    .mt-lg-n5,
    .my-lg-n5 {
        margin-top: -.25rem
    }

    .mr-lg-n5,
    .mx-lg-n5 {
        margin-right: -.25rem
    }

    .mb-lg-n5,
    .my-lg-n5 {
        margin-bottom: -.25rem
    }

    .ml-lg-n5,
    .mx-lg-n5 {
        margin-left: -.25rem
    }

    .m-lg-n6 {
        margin: -.25rem
    }

    .mt-lg-n6,
    .my-lg-n6 {
        margin-top: -.25rem
    }

    .mr-lg-n6,
    .mx-lg-n6 {
        margin-right: -.25rem
    }

    .mb-lg-n6,
    .my-lg-n6 {
        margin-bottom: -.25rem
    }

    .ml-lg-n6,
    .mx-lg-n6 {
        margin-left: -.25rem
    }

    .m-lg-n8 {
        margin: -.25rem
    }

    .mt-lg-n8,
    .my-lg-n8 {
        margin-top: -.25rem
    }

    .mr-lg-n8,
    .mx-lg-n8 {
        margin-right: -.25rem
    }

    .mb-lg-n8,
    .my-lg-n8 {
        margin-bottom: -.25rem
    }

    .ml-lg-n8,
    .mx-lg-n8 {
        margin-left: -.25rem
    }

    .m-lg-n10 {
        margin: -.25rem
    }

    .mt-lg-n10,
    .my-lg-n10 {
        margin-top: -.25rem
    }

    .mr-lg-n10,
    .mx-lg-n10 {
        margin-right: -.25rem
    }

    .mb-lg-n10,
    .my-lg-n10 {
        margin-bottom: -.25rem
    }

    .ml-lg-n10,
    .mx-lg-n10 {
        margin-left: -.25rem
    }

    .m-lg-n12 {
        margin: -.25rem
    }

    .mt-lg-n12,
    .my-lg-n12 {
        margin-top: -.25rem
    }

    .mr-lg-n12,
    .mx-lg-n12 {
        margin-right: -.25rem
    }

    .mb-lg-n12,
    .my-lg-n12 {
        margin-bottom: -.25rem
    }

    .ml-lg-n12,
    .mx-lg-n12 {
        margin-left: -.25rem
    }

    .m-lg-n14 {
        margin: -.25rem
    }

    .mt-lg-n14,
    .my-lg-n14 {
        margin-top: -.25rem
    }

    .mr-lg-n14,
    .mx-lg-n14 {
        margin-right: -.25rem
    }

    .mb-lg-n14,
    .my-lg-n14 {
        margin-bottom: -.25rem
    }

    .ml-lg-n14,
    .mx-lg-n14 {
        margin-left: -.25rem
    }

    .m-lg-n16 {
        margin: -.25rem
    }

    .mt-lg-n16,
    .my-lg-n16 {
        margin-top: -.25rem
    }

    .mr-lg-n16,
    .mx-lg-n16 {
        margin-right: -.25rem
    }

    .mb-lg-n16,
    .my-lg-n16 {
        margin-bottom: -.25rem
    }

    .ml-lg-n16,
    .mx-lg-n16 {
        margin-left: -.25rem
    }

    .m-lg-n18 {
        margin: -.25rem
    }

    .mt-lg-n18,
    .my-lg-n18 {
        margin-top: -.25rem
    }

    .mr-lg-n18,
    .mx-lg-n18 {
        margin-right: -.25rem
    }

    .mb-lg-n18,
    .my-lg-n18 {
        margin-bottom: -.25rem
    }

    .ml-lg-n18,
    .mx-lg-n18 {
        margin-left: -.25rem
    }

    .m-lg-n20 {
        margin: -.25rem
    }

    .mt-lg-n20,
    .my-lg-n20 {
        margin-top: -.25rem
    }

    .mr-lg-n20,
    .mx-lg-n20 {
        margin-right: -.25rem
    }

    .mb-lg-n20,
    .my-lg-n20 {
        margin-bottom: -.25rem
    }

    .ml-lg-n20,
    .mx-lg-n20 {
        margin-left: -.25rem
    }

    .m-lg-n24 {
        margin: -.25rem
    }

    .mt-lg-n24,
    .my-lg-n24 {
        margin-top: -.25rem
    }

    .mr-lg-n24,
    .mx-lg-n24 {
        margin-right: -.25rem
    }

    .mb-lg-n24,
    .my-lg-n24 {
        margin-bottom: -.25rem
    }

    .ml-lg-n24,
    .mx-lg-n24 {
        margin-left: -.25rem
    }

    .m-lg-n30 {
        margin: -.25rem
    }

    .mt-lg-n30,
    .my-lg-n30 {
        margin-top: -.25rem
    }

    .mr-lg-n30,
    .mx-lg-n30 {
        margin-right: -.25rem
    }

    .mb-lg-n30,
    .my-lg-n30 {
        margin-bottom: -.25rem
    }

    .ml-lg-n30,
    .mx-lg-n30 {
        margin-left: -.25rem
    }

    .m-lg-n40 {
        margin: -.25rem
    }

    .mt-lg-n40,
    .my-lg-n40 {
        margin-top: -.25rem
    }

    .mr-lg-n40,
    .mx-lg-n40 {
        margin-right: -.25rem
    }

    .mb-lg-n40,
    .my-lg-n40 {
        margin-bottom: -.25rem
    }

    .ml-lg-n40,
    .mx-lg-n40 {
        margin-left: -.25rem
    }

    .m-lg-auto {
        margin: auto
    }

    .mt-lg-auto,
    .my-lg-auto {
        margin-top: auto
    }

    .mr-lg-auto,
    .mx-lg-auto {
        margin-right: auto
    }

    .mb-lg-auto,
    .my-lg-auto {
        margin-bottom: auto
    }

    .ml-lg-auto,
    .mx-lg-auto {
        margin-left: auto
    }
}

@media only screen and (min-width:992px) {
    .heading-btn {
        display: flex;
        align-items: baseline
    }

    .heading-btn h2,
    .heading-btn h3 {
        margin-bottom: 0
    }

    .heading-btn .btn {
        margin: 0 0 0 1.5rem
    }
}

.text-muted {
    color: #aaa19d
}

.text-muted-dark {
    color: #706c6c
}

.bg-muted {
    background-color: #f4f3f2
}

.text-left {
    text-align: left
}

.text-right {
    text-align: right
}

.text-center {
    text-align: center
}

@media (min-width:700px) {
    .text-sm-left {
        text-align: left
    }

    .text-sm-right {
        text-align: right
    }

    .text-sm-center {
        text-align: center
    }
}

@media (min-width:992px) {
    .text-md-left {
        text-align: left
    }

    .text-md-right {
        text-align: right
    }

    .text-md-center {
        text-align: center
    }
}

@media (min-width:1470px) {
    .text-lg-left {
        text-align: left
    }

    .text-lg-right {
        text-align: right
    }

    .text-lg-center {
        text-align: center
    }
}

.text-sale {
    color: #ed6f68
}

.text-strike {
    text-decoration: line-through
}

.text-normal {
    font-style: normal
}

.text-medium {
    font-weight: 500
}

.text-xs {
    font-size: .75rem
}

.text-sm {
    font-size: .9375rem
}

.text-lg {
    font-size: 1.125rem
}

@media only screen and (min-width:992px) {
    .text-lg {
        font-size: 1.25rem
    }
}

.nowrap {
    white-space: nowrap
}

.max-length {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical
}

.max-length--3 {
    -webkit-line-clamp: 3
}

.underline {
    text-decoration: underline
}

.rotate-90 {
    transform: rotate(90deg)
}

.rotate-n90 {
    transform: rotate(-90deg)
}

/* jeden řádek: vlevo termín, vpravo ATC */
.orginfo__line{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  flex-wrap:wrap; /* na mobilu to může spadnout pod sebe */
}

.orginfo__left{
  display:flex;
  align-items:baseline;
  gap:.35rem;
  flex-wrap:wrap;
}

/* důležité: posuň komponent doprava */
add-to-calendar-button.atc-inline{
  margin-left:auto;
  display:inline-block;
}

/* aby dropdown nevylezl přes vše */
add-to-calendar-button.atc-inline{
  z-index: 5;
}

/* 2 sloupce: label + value */
.orginfo__row{
  display:flex;
  align-items:baseline;
  gap:.5rem;
  margin:.25rem 0;
}
.orginfo__label{
  min-width: 90px;          /* podle potřeby */
  flex: 0 0 auto;
}
.orginfo__value{
  flex: 1 1 auto;
}

/* Termín + tlačítko hned vedle sebe */
.orginfo__value--inline{
  display:flex;
  align-items:center;
  gap:.75rem;
  flex-wrap:wrap;           /* když se nevejde, zalomí se pěkně */
}

/* Důležité: web component a jeho wrappery nepřepínat na block */
add-to-calendar-button.atc-inline{
  display:inline-block;
}


/* aby se to chovalo jako inline tlačítko */
.addeventatc.cal-add__btn{
  display: inline-flex;
  align-items: center;
  gap: .5rem;
}

/* ikonka + */
.addeventatc.cal-add__btn::before{
  content:"+";
  font-weight: 700;
}

/* AddEvent si někdy vloží vnitřní prvky – schováme, ať neruší layout */
.addeventatc .addeventatc_icon,
.addeventatc .addeventatc_dropdown{
  display:none !important;
}

/* AddEvent: skryj metadata uvnitr tlacitka */
.addeventatc > span {
  display: none !important;
}

/* aby to bylo klikaci a v jedne rade */
.cal-add__btn.addeventatc {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;

  /* nastav si vzhled dle webu */
  color: #381a0c;
  font-weight: 700;
  text-decoration: none;
}

/* hover */
.cal-add__btn.addeventatc:hover {
  text-decoration: underline;
}


td.termin a{
  font-weight: 700;
  text-decoration: underline;
  color: #381a0c;
  text-underline-offset: 2px;
}
td.termin a:hover{
  text-decoration-thickness: 2px;
}
