.iti {
    position: relative;
    display: inline-block
}

.iti * {
    box-sizing: border-box
}

.iti__hide {
    display: none
}

.iti__v-hide {
    visibility: hidden
}

.iti input,.iti input[type=text],.iti input[type=tel] {
    position: relative;
    z-index: 0;
    margin-top: 0!important;
    margin-bottom: 0!important;
    padding-right: 36px;
    margin-right: 0
}

.iti__flag-container {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    padding: 1px
}

.iti__selected-flag {
    z-index: 1;
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 6px 0 8px
}

.iti__arrow {
    margin-left: 6px;
    width: 0;
    height: 0;
    border-left: 3px solid transparent;
    border-right: 3px solid transparent;
    border-top: 4px solid #555
}

[dir=rtl] .iti__arrow {
    margin-right: 6px;
    margin-left: 0
}

.iti__arrow--up {
    border-top: none;
    border-bottom: 4px solid #555
}

.iti__country-list {
    position: absolute;
    z-index: 2;
    list-style: none;
    padding: 0;
    margin: 0 0 0 -1px;
    box-shadow: 1px 1px 4px #0003;
    background-color: #fff;
    border: 1px solid #ccc;
    white-space: nowrap;
    max-height: 200px;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch
}

.iti__country-list--dropup {
    bottom: 100%;
    margin-bottom: -1px
}

@media (max-width: 500px) {
    .iti__country-list {
        white-space:normal
    }
}

.iti__flag-box {
    display: inline-block;
    width: 20px
}

.iti__divider {
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid #ccc
}

.iti__country {
    display: flex;
    align-items: center;
    padding: 5px 10px;
    outline: none
}

.iti__dial-code {
    color: #999
}

.iti__country.iti__highlight {
    background-color: #0000000d
}

.iti__flag-box,.iti__country-name {
    margin-right: 6px
}

[dir=rtl] .iti__flag-box,[dir=rtl] .iti__country-name {
    margin-right: 0;
    margin-left: 6px
}

.iti--allow-dropdown input,.iti--allow-dropdown input[type=text],.iti--allow-dropdown input[type=tel],.iti--separate-dial-code input,.iti--separate-dial-code input[type=text],.iti--separate-dial-code input[type=tel] {
    padding-right: 6px;
    padding-left: 52px;
    margin-left: 0
}

[dir=rtl] .iti--allow-dropdown input,[dir=rtl] .iti--allow-dropdown input[type=text],[dir=rtl] .iti--allow-dropdown input[type=tel],[dir=rtl] .iti--separate-dial-code input,[dir=rtl] .iti--separate-dial-code input[type=text],[dir=rtl] .iti--separate-dial-code input[type=tel] {
    padding-right: 52px;
    padding-left: 6px;
    margin-right: 0
}

.iti--allow-dropdown .iti__flag-container,.iti--separate-dial-code .iti__flag-container {
    right: auto;
    left: 0
}

[dir=rtl] .iti--allow-dropdown .iti__flag-container,[dir=rtl] .iti--separate-dial-code .iti__flag-container {
    right: 0;
    left: auto
}

.iti--allow-dropdown .iti__flag-container:hover {
    cursor: pointer
}

.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag {
    background-color: #0000000d
}

.iti--allow-dropdown input[disabled]+.iti__flag-container:hover,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover {
    cursor: default
}

.iti--allow-dropdown input[disabled]+.iti__flag-container:hover .iti__selected-flag,.iti--allow-dropdown input[readonly]+.iti__flag-container:hover .iti__selected-flag {
    background-color: transparent
}

.iti--separate-dial-code .iti__selected-flag {
    background-color: #0000000d
}

.iti--separate-dial-code.iti--show-flags .iti__selected-dial-code {
    margin-left: 6px
}

[dir=rtl] .iti--separate-dial-code.iti--show-flags .iti__selected-dial-code {
    margin-left: 0;
    margin-right: 6px
}

.iti--container {
    position: absolute;
    top: -1000px;
    left: -1000px;
    z-index: 1060;
    padding: 1px
}

.iti--container:hover {
    cursor: pointer
}

.iti-fullscreen-popup .iti--container {
    inset: 30px;
    position: fixed
}

.iti-fullscreen-popup .iti__country-list {
    max-height: 100%;
    width: 100%
}

.iti-fullscreen-popup .iti__country {
    padding: 10px;
    line-height: 1.5em
}

.iti__flag {
    width: 20px
}

.iti__flag.iti__be {
    width: 18px
}

.iti__flag.iti__ch {
    width: 15px
}

.iti__flag.iti__mc {
    width: 19px
}

.iti__flag.iti__ne {
    width: 18px
}

.iti__flag.iti__np {
    width: 13px
}

.iti__flag.iti__va {
    width: 15px
}

@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi) {
    .iti__flag {
        background-size:5762px 15px
    }
}

.iti__flag.iti__ac {
    height: 10px;
    background-position: 0px 0px
}

.iti__flag.iti__ad {
    height: 14px;
    background-position: -22px 0px
}

.iti__flag.iti__ae {
    height: 10px;
    background-position: -44px 0px
}

.iti__flag.iti__af {
    height: 14px;
    background-position: -66px 0px
}

.iti__flag.iti__ag {
    height: 14px;
    background-position: -88px 0px
}

.iti__flag.iti__ai {
    height: 10px;
    background-position: -110px 0px
}

.iti__flag.iti__al {
    height: 15px;
    background-position: -132px 0px
}

.iti__flag.iti__am {
    height: 10px;
    background-position: -154px 0px
}

.iti__flag.iti__ao {
    height: 14px;
    background-position: -176px 0px
}

.iti__flag.iti__aq {
    height: 14px;
    background-position: -198px 0px
}

.iti__flag.iti__ar {
    height: 13px;
    background-position: -220px 0px
}

.iti__flag.iti__as {
    height: 10px;
    background-position: -242px 0px
}

.iti__flag.iti__at {
    height: 14px;
    background-position: -264px 0px
}

.iti__flag.iti__au {
    height: 10px;
    background-position: -286px 0px
}

.iti__flag.iti__aw {
    height: 14px;
    background-position: -308px 0px
}

.iti__flag.iti__ax {
    height: 13px;
    background-position: -330px 0px
}

.iti__flag.iti__az {
    height: 10px;
    background-position: -352px 0px
}

.iti__flag.iti__ba {
    height: 10px;
    background-position: -374px 0px
}

.iti__flag.iti__bb {
    height: 14px;
    background-position: -396px 0px
}

.iti__flag.iti__bd {
    height: 12px;
    background-position: -418px 0px
}

.iti__flag.iti__be {
    height: 15px;
    background-position: -440px 0px
}

.iti__flag.iti__bf {
    height: 14px;
    background-position: -460px 0px
}

.iti__flag.iti__bg {
    height: 12px;
    background-position: -482px 0px
}

.iti__flag.iti__bh {
    height: 12px;
    background-position: -504px 0px
}

.iti__flag.iti__bi {
    height: 12px;
    background-position: -526px 0px
}

.iti__flag.iti__bj {
    height: 14px;
    background-position: -548px 0px
}

.iti__flag.iti__bl {
    height: 14px;
    background-position: -570px 0px
}

.iti__flag.iti__bm {
    height: 10px;
    background-position: -592px 0px
}

.iti__flag.iti__bn {
    height: 10px;
    background-position: -614px 0px
}

.iti__flag.iti__bo {
    height: 14px;
    background-position: -636px 0px
}

.iti__flag.iti__bq {
    height: 14px;
    background-position: -658px 0px
}

.iti__flag.iti__br {
    height: 14px;
    background-position: -680px 0px
}

.iti__flag.iti__bs {
    height: 10px;
    background-position: -702px 0px
}

.iti__flag.iti__bt {
    height: 14px;
    background-position: -724px 0px
}

.iti__flag.iti__bv {
    height: 15px;
    background-position: -746px 0px
}

.iti__flag.iti__bw {
    height: 14px;
    background-position: -768px 0px
}

.iti__flag.iti__by {
    height: 10px;
    background-position: -790px 0px
}

.iti__flag.iti__bz {
    height: 12px;
    background-position: -812px 0px
}

.iti__flag.iti__ca {
    height: 10px;
    background-position: -834px 0px
}

.iti__flag.iti__cc {
    height: 10px;
    background-position: -856px 0px
}

.iti__flag.iti__cd {
    height: 15px;
    background-position: -878px 0px
}

.iti__flag.iti__cf {
    height: 14px;
    background-position: -900px 0px
}

.iti__flag.iti__cg {
    height: 14px;
    background-position: -922px 0px
}

.iti__flag.iti__ch {
    height: 15px;
    background-position: -944px 0px
}

.iti__flag.iti__ci {
    height: 14px;
    background-position: -961px 0px
}

.iti__flag.iti__ck {
    height: 10px;
    background-position: -983px 0px
}

.iti__flag.iti__cl {
    height: 14px;
    background-position: -1005px 0px
}

.iti__flag.iti__cm {
    height: 14px;
    background-position: -1027px 0px
}

.iti__flag.iti__cn {
    height: 14px;
    background-position: -1049px 0px
}

.iti__flag.iti__co {
    height: 14px;
    background-position: -1071px 0px
}

.iti__flag.iti__cp {
    height: 14px;
    background-position: -1093px 0px
}

.iti__flag.iti__cq {
    height: 12px;
    background-position: -1115px 0px
}

.iti__flag.iti__cr {
    height: 12px;
    background-position: -1137px 0px
}

.iti__flag.iti__cu {
    height: 10px;
    background-position: -1159px 0px
}

.iti__flag.iti__cv {
    height: 12px;
    background-position: -1181px 0px
}

.iti__flag.iti__cw {
    height: 14px;
    background-position: -1203px 0px
}

.iti__flag.iti__cx {
    height: 10px;
    background-position: -1225px 0px
}

.iti__flag.iti__cy {
    height: 14px;
    background-position: -1247px 0px
}

.iti__flag.iti__cz {
    height: 14px;
    background-position: -1269px 0px
}

.iti__flag.iti__de {
    height: 12px;
    background-position: -1291px 0px
}

.iti__flag.iti__dg {
    height: 10px;
    background-position: -1313px 0px
}

.iti__flag.iti__dj {
    height: 14px;
    background-position: -1335px 0px
}

.iti__flag.iti__dk {
    height: 15px;
    background-position: -1357px 0px
}

.iti__flag.iti__dm {
    height: 10px;
    background-position: -1379px 0px
}

.iti__flag.iti__do {
    height: 14px;
    background-position: -1401px 0px
}

.iti__flag.iti__dz {
    height: 14px;
    background-position: -1423px 0px
}

.iti__flag.iti__ea {
    height: 14px;
    background-position: -1445px 0px
}

.iti__flag.iti__ec {
    height: 14px;
    background-position: -1467px 0px
}

.iti__flag.iti__ee {
    height: 13px;
    background-position: -1489px 0px
}

.iti__flag.iti__eg {
    height: 14px;
    background-position: -1511px 0px
}

.iti__flag.iti__eh {
    height: 10px;
    background-position: -1533px 0px
}

.iti__flag.iti__er {
    height: 10px;
    background-position: -1555px 0px
}

.iti__flag.iti__es {
    height: 14px;
    background-position: -1577px 0px
}

.iti__flag.iti__et {
    height: 10px;
    background-position: -1599px 0px
}

.iti__flag.iti__eu {
    height: 14px;
    background-position: -1621px 0px
}

.iti__flag.iti__ez {
    height: 14px;
    background-position: -1643px 0px
}

.iti__flag.iti__fi {
    height: 12px;
    background-position: -1665px 0px
}

.iti__flag.iti__fj {
    height: 10px;
    background-position: -1687px 0px
}

.iti__flag.iti__fk {
    height: 10px;
    background-position: -1709px 0px
}

.iti__flag.iti__fm {
    height: 11px;
    background-position: -1731px 0px
}

.iti__flag.iti__fo {
    height: 15px;
    background-position: -1753px 0px
}

.iti__flag.iti__fr {
    height: 14px;
    background-position: -1775px 0px
}

.iti__flag.iti__fx {
    height: 14px;
    background-position: -1797px 0px
}

.iti__flag.iti__ga {
    height: 15px;
    background-position: -1819px 0px
}

.iti__flag.iti__gb {
    height: 10px;
    background-position: -1841px 0px
}

.iti__flag.iti__gd {
    height: 12px;
    background-position: -1863px 0px
}

.iti__flag.iti__ge {
    height: 14px;
    background-position: -1885px 0px
}

.iti__flag.iti__gf {
    height: 14px;
    background-position: -1907px 0px
}

.iti__flag.iti__gg {
    height: 14px;
    background-position: -1929px 0px
}

.iti__flag.iti__gh {
    height: 14px;
    background-position: -1951px 0px
}

.iti__flag.iti__gi {
    height: 10px;
    background-position: -1973px 0px
}

.iti__flag.iti__gl {
    height: 14px;
    background-position: -1995px 0px
}

.iti__flag.iti__gm {
    height: 14px;
    background-position: -2017px 0px
}

.iti__flag.iti__gn {
    height: 14px;
    background-position: -2039px 0px
}

.iti__flag.iti__gp {
    height: 14px;
    background-position: -2061px 0px
}

.iti__flag.iti__gq {
    height: 14px;
    background-position: -2083px 0px
}

.iti__flag.iti__gr {
    height: 14px;
    background-position: -2105px 0px
}

.iti__flag.iti__gs {
    height: 10px;
    background-position: -2127px 0px
}

.iti__flag.iti__gt {
    height: 13px;
    background-position: -2149px 0px
}

.iti__flag.iti__gu {
    height: 11px;
    background-position: -2171px 0px
}

.iti__flag.iti__gw {
    height: 10px;
    background-position: -2193px 0px
}

.iti__flag.iti__gy {
    height: 12px;
    background-position: -2215px 0px
}

.iti__flag.iti__hk {
    height: 14px;
    background-position: -2237px 0px
}

.iti__flag.iti__hm {
    height: 10px;
    background-position: -2259px 0px
}

.iti__flag.iti__hn {
    height: 10px;
    background-position: -2281px 0px
}

.iti__flag.iti__hr {
    height: 10px;
    background-position: -2303px 0px
}

.iti__flag.iti__ht {
    height: 12px;
    background-position: -2325px 0px
}

.iti__flag.iti__hu {
    height: 10px;
    background-position: -2347px 0px
}

.iti__flag.iti__ic {
    height: 14px;
    background-position: -2369px 0px
}

.iti__flag.iti__id {
    height: 14px;
    background-position: -2391px 0px
}

.iti__flag.iti__ie {
    height: 10px;
    background-position: -2413px 0px
}

.iti__flag.iti__il {
    height: 15px;
    background-position: -2435px 0px
}

.iti__flag.iti__im {
    height: 10px;
    background-position: -2457px 0px
}

.iti__flag.iti__in {
    height: 14px;
    background-position: -2479px 0px
}

.iti__flag.iti__io {
    height: 10px;
    background-position: -2501px 0px
}

.iti__flag.iti__iq {
    height: 14px;
    background-position: -2523px 0px
}

.iti__flag.iti__ir {
    height: 12px;
    background-position: -2545px 0px
}

.iti__flag.iti__is {
    height: 15px;
    background-position: -2567px 0px
}

.iti__flag.iti__it {
    height: 14px;
    background-position: -2589px 0px
}

.iti__flag.iti__je {
    height: 12px;
    background-position: -2611px 0px
}

.iti__flag.iti__jm {
    height: 10px;
    background-position: -2633px 0px
}

.iti__flag.iti__jo {
    height: 10px;
    background-position: -2655px 0px
}

.iti__flag.iti__jp {
    height: 14px;
    background-position: -2677px 0px
}

.iti__flag.iti__ke {
    height: 14px;
    background-position: -2699px 0px
}

.iti__flag.iti__kg {
    height: 12px;
    background-position: -2721px 0px
}

.iti__flag.iti__kh {
    height: 13px;
    background-position: -2743px 0px
}

.iti__flag.iti__ki {
    height: 10px;
    background-position: -2765px 0px
}

.iti__flag.iti__km {
    height: 12px;
    background-position: -2787px 0px
}

.iti__flag.iti__kn {
    height: 14px;
    background-position: -2809px 0px
}

.iti__flag.iti__kp {
    height: 10px;
    background-position: -2831px 0px
}

.iti__flag.iti__kr {
    height: 14px;
    background-position: -2853px 0px
}

.iti__flag.iti__kw {
    height: 10px;
    background-position: -2875px 0px
}

.iti__flag.iti__ky {
    height: 10px;
    background-position: -2897px 0px
}

.iti__flag.iti__kz {
    height: 10px;
    background-position: -2919px 0px
}

.iti__flag.iti__la {
    height: 14px;
    background-position: -2941px 0px
}

.iti__flag.iti__lb {
    height: 14px;
    background-position: -2963px 0px
}

.iti__flag.iti__lc {
    height: 10px;
    background-position: -2985px 0px
}

.iti__flag.iti__li {
    height: 12px;
    background-position: -3007px 0px
}

.iti__flag.iti__lk {
    height: 10px;
    background-position: -3029px 0px
}

.iti__flag.iti__lr {
    height: 11px;
    background-position: -3051px 0px
}

.iti__flag.iti__ls {
    height: 14px;
    background-position: -3073px 0px
}

.iti__flag.iti__lt {
    height: 12px;
    background-position: -3095px 0px
}

.iti__flag.iti__lu {
    height: 12px;
    background-position: -3117px 0px
}

.iti__flag.iti__lv {
    height: 10px;
    background-position: -3139px 0px
}

.iti__flag.iti__ly {
    height: 10px;
    background-position: -3161px 0px
}

.iti__flag.iti__ma {
    height: 14px;
    background-position: -3183px 0px
}

.iti__flag.iti__mc {
    height: 15px;
    background-position: -3205px 0px
}

.iti__flag.iti__md {
    height: 10px;
    background-position: -3226px 0px
}

.iti__flag.iti__me {
    height: 10px;
    background-position: -3248px 0px
}

.iti__flag.iti__mf {
    height: 14px;
    background-position: -3270px 0px
}

.iti__flag.iti__mg {
    height: 14px;
    background-position: -3292px 0px
}

.iti__flag.iti__mh {
    height: 11px;
    background-position: -3314px 0px
}

.iti__flag.iti__mk {
    height: 10px;
    background-position: -3336px 0px
}

.iti__flag.iti__ml {
    height: 14px;
    background-position: -3358px 0px
}

.iti__flag.iti__mm {
    height: 14px;
    background-position: -3380px 0px
}

.iti__flag.iti__mn {
    height: 10px;
    background-position: -3402px 0px
}

.iti__flag.iti__mo {
    height: 14px;
    background-position: -3424px 0px
}

.iti__flag.iti__mp {
    height: 10px;
    background-position: -3446px 0px
}

.iti__flag.iti__mq {
    height: 14px;
    background-position: -3468px 0px
}

.iti__flag.iti__mr {
    height: 14px;
    background-position: -3490px 0px
}

.iti__flag.iti__ms {
    height: 10px;
    background-position: -3512px 0px
}

.iti__flag.iti__mt {
    height: 14px;
    background-position: -3534px 0px
}

.iti__flag.iti__mu {
    height: 14px;
    background-position: -3556px 0px
}

.iti__flag.iti__mv {
    height: 14px;
    background-position: -3578px 0px
}

.iti__flag.iti__mw {
    height: 14px;
    background-position: -3600px 0px
}

.iti__flag.iti__mx {
    height: 12px;
    background-position: -3622px 0px
}

.iti__flag.iti__my {
    height: 10px;
    background-position: -3644px 0px
}

.iti__flag.iti__mz {
    height: 14px;
    background-position: -3666px 0px
}

.iti__flag.iti__na {
    height: 14px;
    background-position: -3688px 0px
}

.iti__flag.iti__nc {
    height: 10px;
    background-position: -3710px 0px
}

.iti__flag.iti__ne {
    height: 15px;
    background-position: -3732px 0px
}

.iti__flag.iti__nf {
    height: 10px;
    background-position: -3752px 0px
}

.iti__flag.iti__ng {
    height: 10px;
    background-position: -3774px 0px
}

.iti__flag.iti__ni {
    height: 12px;
    background-position: -3796px 0px
}

.iti__flag.iti__nl {
    height: 14px;
    background-position: -3818px 0px
}

.iti__flag.iti__no {
    height: 15px;
    background-position: -3840px 0px
}

.iti__flag.iti__np {
    height: 15px;
    background-position: -3862px 0px
}

.iti__flag.iti__nr {
    height: 10px;
    background-position: -3877px 0px
}

.iti__flag.iti__nu {
    height: 10px;
    background-position: -3899px 0px
}

.iti__flag.iti__nz {
    height: 10px;
    background-position: -3921px 0px
}

.iti__flag.iti__om {
    height: 10px;
    background-position: -3943px 0px
}

.iti__flag.iti__pa {
    height: 14px;
    background-position: -3965px 0px
}

.iti__flag.iti__pe {
    height: 14px;
    background-position: -3987px 0px
}

.iti__flag.iti__pf {
    height: 14px;
    background-position: -4009px 0px
}

.iti__flag.iti__pg {
    height: 15px;
    background-position: -4031px 0px
}

.iti__flag.iti__ph {
    height: 10px;
    background-position: -4053px 0px
}

.iti__flag.iti__pk {
    height: 14px;
    background-position: -4075px 0px
}

.iti__flag.iti__pl {
    height: 13px;
    background-position: -4097px 0px
}

.iti__flag.iti__pm {
    height: 14px;
    background-position: -4119px 0px
}

.iti__flag.iti__pn {
    height: 10px;
    background-position: -4141px 0px
}

.iti__flag.iti__pr {
    height: 14px;
    background-position: -4163px 0px
}

.iti__flag.iti__ps {
    height: 10px;
    background-position: -4185px 0px
}

.iti__flag.iti__pt {
    height: 14px;
    background-position: -4207px 0px
}

.iti__flag.iti__pw {
    height: 13px;
    background-position: -4229px 0px
}

.iti__flag.iti__py {
    height: 11px;
    background-position: -4251px 0px
}

.iti__flag.iti__qa {
    height: 8px;
    background-position: -4273px 0px
}

.iti__flag.iti__re {
    height: 14px;
    background-position: -4295px 0px
}

.iti__flag.iti__ro {
    height: 14px;
    background-position: -4317px 0px
}

.iti__flag.iti__rs {
    height: 14px;
    background-position: -4339px 0px
}

.iti__flag.iti__ru {
    height: 14px;
    background-position: -4361px 0px
}

.iti__flag.iti__rw {
    height: 14px;
    background-position: -4383px 0px
}

.iti__flag.iti__sa {
    height: 14px;
    background-position: -4405px 0px
}

.iti__flag.iti__sb {
    height: 10px;
    background-position: -4427px 0px
}

.iti__flag.iti__sc {
    height: 10px;
    background-position: -4449px 0px
}

.iti__flag.iti__sd {
    height: 10px;
    background-position: -4471px 0px
}

.iti__flag.iti__se {
    height: 13px;
    background-position: -4493px 0px
}

.iti__flag.iti__sg {
    height: 14px;
    background-position: -4515px 0px
}

.iti__flag.iti__sh {
    height: 10px;
    background-position: -4537px 0px
}

.iti__flag.iti__si {
    height: 10px;
    background-position: -4559px 0px
}

.iti__flag.iti__sj {
    height: 15px;
    background-position: -4581px 0px
}

.iti__flag.iti__sk {
    height: 14px;
    background-position: -4603px 0px
}

.iti__flag.iti__sl {
    height: 14px;
    background-position: -4625px 0px
}

.iti__flag.iti__sm {
    height: 15px;
    background-position: -4647px 0px
}

.iti__flag.iti__sn {
    height: 14px;
    background-position: -4669px 0px
}

.iti__flag.iti__so {
    height: 14px;
    background-position: -4691px 0px
}

.iti__flag.iti__sr {
    height: 14px;
    background-position: -4713px 0px
}

.iti__flag.iti__ss {
    height: 10px;
    background-position: -4735px 0px
}

.iti__flag.iti__st {
    height: 10px;
    background-position: -4757px 0px
}

.iti__flag.iti__su {
    height: 10px;
    background-position: -4779px 0px
}

.iti__flag.iti__sv {
    height: 12px;
    background-position: -4801px 0px
}

.iti__flag.iti__sx {
    height: 14px;
    background-position: -4823px 0px
}

.iti__flag.iti__sy {
    height: 14px;
    background-position: -4845px 0px
}

.iti__flag.iti__sz {
    height: 14px;
    background-position: -4867px 0px
}

.iti__flag.iti__ta {
    height: 10px;
    background-position: -4889px 0px
}

.iti__flag.iti__tc {
    height: 10px;
    background-position: -4911px 0px
}

.iti__flag.iti__td {
    height: 14px;
    background-position: -4933px 0px
}

.iti__flag.iti__tf {
    height: 14px;
    background-position: -4955px 0px
}

.iti__flag.iti__tg {
    height: 13px;
    background-position: -4977px 0px
}

.iti__flag.iti__th {
    height: 14px;
    background-position: -4999px 0px
}

.iti__flag.iti__tj {
    height: 10px;
    background-position: -5021px 0px
}

.iti__flag.iti__tk {
    height: 10px;
    background-position: -5043px 0px
}

.iti__flag.iti__tl {
    height: 10px;
    background-position: -5065px 0px
}

.iti__flag.iti__tm {
    height: 14px;
    background-position: -5087px 0px
}

.iti__flag.iti__tn {
    height: 14px;
    background-position: -5109px 0px
}

.iti__flag.iti__to {
    height: 10px;
    background-position: -5131px 0px
}

.iti__flag.iti__tr {
    height: 14px;
    background-position: -5153px 0px
}

.iti__flag.iti__tt {
    height: 12px;
    background-position: -5175px 0px
}

.iti__flag.iti__tv {
    height: 10px;
    background-position: -5197px 0px
}

.iti__flag.iti__tw {
    height: 14px;
    background-position: -5219px 0px
}

.iti__flag.iti__tz {
    height: 14px;
    background-position: -5241px 0px
}

.iti__flag.iti__ua {
    height: 14px;
    background-position: -5263px 0px
}

.iti__flag.iti__ug {
    height: 14px;
    background-position: -5285px 0px
}

.iti__flag.iti__uk {
    height: 10px;
    background-position: -5307px 0px
}

.iti__flag.iti__um {
    height: 11px;
    background-position: -5329px 0px
}

.iti__flag.iti__un {
    height: 14px;
    background-position: -5351px 0px
}

.iti__flag.iti__us {
    height: 11px;
    background-position: -5373px 0px
}

.iti__flag.iti__uy {
    height: 14px;
    background-position: -5395px 0px
}

.iti__flag.iti__uz {
    height: 10px;
    background-position: -5417px 0px
}

.iti__flag.iti__va {
    height: 15px;
    background-position: -5439px 0px
}

.iti__flag.iti__vc {
    height: 14px;
    background-position: -5456px 0px
}

.iti__flag.iti__ve {
    height: 14px;
    background-position: -5478px 0px
}

.iti__flag.iti__vg {
    height: 10px;
    background-position: -5500px 0px
}

.iti__flag.iti__vi {
    height: 14px;
    background-position: -5522px 0px
}

.iti__flag.iti__vn {
    height: 14px;
    background-position: -5544px 0px
}

.iti__flag.iti__vu {
    height: 12px;
    background-position: -5566px 0px
}

.iti__flag.iti__wf {
    height: 14px;
    background-position: -5588px 0px
}

.iti__flag.iti__ws {
    height: 10px;
    background-position: -5610px 0px
}

.iti__flag.iti__xk {
    height: 15px;
    background-position: -5632px 0px
}

.iti__flag.iti__ye {
    height: 14px;
    background-position: -5654px 0px
}

.iti__flag.iti__yt {
    height: 14px;
    background-position: -5676px 0px
}

.iti__flag.iti__za {
    height: 14px;
    background-position: -5698px 0px
}

.iti__flag.iti__zm {
    height: 14px;
    background-position: -5720px 0px
}

.iti__flag.iti__zw {
    height: 10px;
    background-position: -5742px 0px
}

.iti__flag {
    height: 15px;
    box-shadow: 0 0 1px #888;
    background-image: url("./media/flags-6C4T4GAU.png?1");
    background-repeat: no-repeat;
    background-color: #dbdbdb;
    background-position: 20px 0
}

@media (-webkit-min-device-pixel-ratio: 2),(min-resolution: 192dpi) {
    .iti__flag {
        background-image:url("./media/flags@2x-O7DSVWO7.png?1")
    }
}

.iti__flag.iti__np {
    background-color: transparent
}

@font-face {
    font-family: Horizon;
    src: url(/assets/fonts/horizon.otf) format("opentype");
}
@font-face {
    font-family: Horizon Outlined;
    src: url(/assets/fonts/horizon_outlined.otf) format("opentype");
}

@font-face {
    font-family: Aperture;
    src: url(/assets/fonts/aperture2.0-webfont.woff2) format("woff2");
}

@font-face {
    font-family: Horizon;
    src: url(/assets/fonts/horizon.otf) format("opentype");
}
@font-face {
    font-family: Horizon Outlined;
    src: url(/assets/fonts/horizon_outlined.otf) format("opentype");
}

@font-face {
    font-family: Aperture;
    src: url(/assets/fonts/aperture2.0-webfont.woff2) format("woff2");
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 100;
    src: url(/assets/fonts/Barlow-Thin.ttf) format("truetype"),url(/assets/fonts/Barlow-Thin.ttf) format("truetype"),url(/assets/fonts/Barlow-Thin.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 200;
    src: url(/assets/fonts/Barlow-ExtraLight.ttf) format("truetype"),url(/assets/fonts/Barlow-ExtraLight.ttf) format("truetype"),url(/assets/fonts/Barlow-ExtraLight.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 300;
    src: url(/assets/fonts/Barlow-Light.ttf) format("truetype"),url(/assets/fonts/Barlow-Light.ttf) format("truetype"),url(/assets/fonts/Barlow-Light.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 400;
    src: url(/assets/fonts/Barlow-Regular.ttf) format("truetype"),url(/assets/fonts/Barlow-Regular.ttf) format("truetype"),url(/assets/fonts/Barlow-Regular.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 500;
    src: url(/assets/fonts/Barlow-Medium.ttf) format("truetype"),url(/assets/fonts/Barlow-Medium.ttf) format("truetype"),url(/assets/fonts/Barlow-Medium.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 600;
    src: url(/assets/fonts/Barlow-SemiBold.ttf) format("truetype"),url(/assets/fonts/Barlow-SemiBold.ttf) format("truetype"),url(/assets/fonts/Barlow-SemiBold.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 700;
    src: url(/assets/fonts/Barlow-Bold.ttf) format("truetype"),url(/assets/fonts/Barlow-Bold.ttf) format("truetype"),url(/assets/fonts/Barlow-Bold.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 800;
    src: url(/assets/fonts/Barlow-ExtraBold.ttf) format("truetype"),url(/assets/fonts/Barlow-ExtraBold.ttf) format("truetype"),url(/assets/fonts/Barlow-ExtraBold.ttf) format("truetype")
}

@font-face {
    font-family: Barlow;
    font-style: normal;
    font-display: swap;
    font-weight: 900;
    src: url(/assets/fonts/Barlow-Black.ttf) format("truetype"),url(/assets/fonts/Barlow-Black.ttf) format("truetype"),url(/assets/fonts/Barlow-Black.ttf) format("truetype")
}

* {
    box-sizing: border-box
}

body {
    font-family: Anta, sans-serif;
    margin: 0;
    padding: 0;
    color: #3d3d3d;
    background-image: url(/media/OIG4.jpg);
    background-repeat: repeat;
}

.text--primary {
    color: #ff5023
}

.text--secondary {
    color: #37394f
}

.text--tertiary {
    color: #4747b5
}

.text--danger {
    color: #ef464d
}

.text--green {
    color: #38ae93
}

.text--grey-dark {
    color: #757575
}

.text--muted {
    color: #f4f4f4
}

.fw-1 {
    font-weight: 100
}

.fw-2 {
    font-weight: 200
}

.fw-3 {
    font-weight: 300
}

.fw-4 {
    font-weight: 400
}

.fw-5 {
    font-weight: 500
}

.fw-6 {
    font-weight: 600
}

.fw-7 {
    font-weight: 700
}

.fw-8 {
    font-weight: 800
}

.fw-9 {
    font-weight: 900
}

.uppercase {
    text-transform: uppercase
}

.text-center {
    text-align: center
}

h1 {
    font-size: 28px;
    font-weight: 700;
    font-family: 'Horizon';
    letter-spacing: .127em;
    color: black;
}

.badge {
    font-size: .8rem;
    font-weight: 600;
    color: #fff;
    background: #ff5023;
    padding: 5px 10px;
    border-radius: .7em;
    white-space: nowrap;
    -webkit-user-select: none;
    user-select: none
}

.badge--success {
    color: #33c549;
    background: rgba(51,197,73,.2)
}

.badge--danger {
    color: #ff3541;
    background: rgba(255,53,65,.2)
}

.badge--noStock {
    display: block;
    text-transform: uppercase;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 1px
}

.badge--outline {
    color: #ff5023;
    background: #fff;
    border: 1px solid #ff5023
}

.badge--outline--secondary {
    color: #37394f;
    background: #fff;
    border: 1px solid #37394f
}

.btn {
    display: block;
    text-align: center;
    color: #fff;
    background-color: #ff5023;
    font-weight: 700;
    font-family: inherit;
    font-size: 1em;
    padding: .5em 1.3em;
    border: solid 1px #ff5023;
    border-radius: 2em;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    width: 100%
}

.btn:focus {
    outline: 0
}

.btn:hover {
    text-decoration: none
}

.btn.loading {
    position: relative;
    color: transparent;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none;
    opacity: .5;
    transition: all .2s ease
}

@keyframes spinner {
    to {
        transform: rotate(360deg)
    }
}

.btn.loading:after {
    content: "";
    box-sizing: border-box;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin-top: -12px;
    margin-left: -12px;
    border-radius: 50%;
    border: 3px solid #fff;
    border-top-color: transparent;
    animation: spinner 1s linear infinite
}

.btn--outline,.schedule .card .buttons .btn:not(.active) {
    font-weight: 500;
    color: #ff5023;
    background: none;
    border-color: #ff5023
}

.btn--outline--black,.schedule .card .buttons .btn:not(.active) {
    color: #3d3d3d;
    border-color: #3d3d3d
}

.btn--black,.schedule .card .buttons .btn.active {
    background-color: #3d3d3d;
    border: solid 1px #3d3d3d
}

.btn--icon {
    padding: 4px 6px;
    border-radius: 6px;
    width: fit-content
}

.btn--icon img {
    height: 1em
}

.btn--light {
    background-color: #b4b4b4;
    border: solid 1px #b4b4b4
}

.btn:disabled {
    background: #b4b4b4;
    border-color: #b4b4b4;
    cursor: not-allowed
}
.puff-icon{
    height: 50px;
}
@media screen and (max-width: 992px) {
    .btn {
        padding:.5em .3em
    }
}

.card {
    padding: 15px;
    border-radius: 8px;
    width: fit-content;
    box-shadow: 0 2px 9px #a1999980;
    background-color: #fff
}

form .form-group {
    margin: 10px 0
}

form .form-group--radio {
    display: grid;
    grid-template-columns: 1fr 18px;
    align-items: center;
    gap: 10px
}

form .form-group--radio label {
    width: 100%;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

form .form-group .ng-invalid:not(form).ng-touched.ng-dirty {
    border-color: #ef464d;
    border-bottom-width: 1px
}

form .form-group .ng-valid:not(form).ng-touched.ng-dirty {
    background-image: url(/assets/img/icons/check.svg);
    background-position: 100% 50%;
    background-repeat: no-repeat;
    background-size: auto 40%
}

.pac-container {
    font-family: Barlow,sans-serif
}

.pac-container.pac-logo:after {
    display: none
}

.header {
    display: grid;
    grid-template-columns: auto 1fr auto auto auto;
    gap: 20px;
    position: relative;
    padding: 30px 50px;
    background-color: #f4f4f4e6;
    justify-content: space-around;
    align-items: center
}

.header .background-image img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    max-height: 350px;
    object-fit: cover;
    object-position: top;
    z-index: -1
}

.header .logo {
    display: flex;
    align-items: center;
    gap: 15px
}

.header .logo h1 {
    margin: 5px 0
}

.header .logo .image-wrapper {
    max-height: 60px
}

.header .logo .image-wrapper img {
    height: 120px;
    width: 120px;
    object-fit: cover;
    border-radius: 50%;
}

.header .logo .image-wrapper img.square {
    border-radius: 15px
}

.header .logo .see-more {
    display: none
}

.header>div:nth-child(3),.header>div:nth-child(4),.header>div:nth-child(5) {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 50px;
    border-left: 1px solid #b4b4b4;
    padding-left: 20px
}

.header>div:nth-child(3) p,.header>div:nth-child(4) p,.header>div:nth-child(5) p {
    display: flex;
    margin: 5px 0
}

.header>div:nth-child(3) p img,.header>div:nth-child(4) p img,.header>div:nth-child(5) p img {
    height: 1em;
    margin-right: 5px;
    width: 25px
}

.header>div:nth-child(3).social,.header>div:nth-child(4).social,.header>div:nth-child(5).social {
    display: grid;
    grid-template-columns: 50% 50%;
    align-content: center;
    gap: 10px
}

.header>div:nth-child(3).social h3,.header>div:nth-child(4).social h3,.header>div:nth-child(5).social h3 {
    font-size: 17px
}

.header>div:nth-child(3).social .icons,.header>div:nth-child(4).social .icons,.header>div:nth-child(5).social .icons {
    display: flex;
    gap: 8px
}

.header>div:nth-child(3).social .icons img,.header>div:nth-child(4).social .icons img,.header>div:nth-child(5).social .icons img {
    width: 35px;
    height: 35px;
}

@media screen and (max-width: 992px) {
    .header {
        grid-template-columns:1fr;
        padding: 50px 20px 80px;
        justify-items: center;
        background-color: #f4f4f4b3;
        overflow-y: hidden;
        overflow-x: hidden;
    }

    .header .logo {
        display: flex;
        align-items: center;
        gap: 15px
    }

    .header .logo h1 {
        margin: 5px 0
    }

    .header .logo .image-wrapper {
        max-height: 100%
    }

    .header .logo .image-wrapper img {
        height: 80px;
        width: 80px
    }

    .header .logo .see-more {
        display: block
    }

    .header>div:nth-child(3),.header>div:nth-child(4),.header>div:nth-child(5) {
        display: none
    }

    .header>div:nth-child(3).social,.header>div:nth-child(4).social,.header>div:nth-child(5).social {
        display: none
    }
}

@media screen and (max-width: 370px) {
    .header .logo {
        flex-direction: column;
    }
}

.headerMenu {
    border-radius: 15px 15px 0 0
}

.headerMenu.p-sidebar {
    height: auto
}

.headerMenu.p-sidebar .p-sidebar-header {
    padding-bottom: 0
}

.headerMenu.p-sidebar .p-sidebar-content {
    display: flex;
    flex-direction: column;
    gap: 10px
}

.headerMenu h2 {
    font-size: 20px;
    margin: 0 0 10px
}

.headerMenu p {
    display: flex;
    margin: 5px 0
}

.headerMenu p img {
    height: 1em;
    margin-right: 5px;
    width: 25px
}

.headerMenu .social {
    margin-bottom: 15px
}

.headerMenu .social h3 {
    font-size: 16px;
    text-align: center
}

.headerMenu .social .icons {
    display: flex;
    justify-content: center;
    gap: 20px
}

.headerMenu .social .icons img {
    width: 35px;
    height: 35px;
    filter: drop-shadow(5px 5px 5px #b4b4b4)
}


hr {
    margin-top: 20px;
    border: solid 1px #b4b4b4;
    background-color: #b4b4b4;
    opacity: .2
}

input {
    font-size: 1em;
    width: 100%;
    padding: 10px 20px;
    border-radius: 50px;
    border: 1px solid #dcdcdc;
    outline: none;
    font-family: 'Anta';
}

input.line {
    padding: 10px 20px 10px 0;
    box-shadow: none;
    border: none;
    border-radius: 0;
    border-bottom: 2px solid #f4f4f4
}

input::placeholder {
    color: #848592
}

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

a {
    text-decoration: none;
    color: #757575;
    font-weight: 400;
    align-self: center;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

a[disabled] {
    opacity: .4;
    pointer-events: none
}

a:hover {
    text-decoration: underline
}

.minimum-amount {
    display: grid;
    text-align: center;
    color: #ef464d
}

.minimum-amount p {
    margin-bottom: 0
}

.modal {
    position: fixed;
    height: 100vh;
    inset: 0 0 100px;
    z-index: 2;
    background: rgba(61,61,61,.9);
    display: grid;
    align-items: center;
    justify-items: center;
    text-align: center;
    overflow-y: hidden
}

.modal__content {
    position: relative;
    background: #fff;
    width: 450px;
    border-radius: 15px;
    overflow-y: initial;
    /*
    max-height: 90vh
    */
}

@media screen and (max-width: 992px) {
    .modal {
        position:fixed;
        inset: 0;
        background-color: #fff;
        align-items: flex-start;
        overflow: hidden
    }

    .modal__content {
        width: 100%;
        border-radius: 0
    }
}

.menu-navigation-button {
    position: sticky;
    bottom: 0;
    background-color: #fff;
    padding: 15px 10px;
}

.menu-navigation-button .desktop {
    display: block
}

.menu-navigation-button .mobile {
    display: none
}

.menu-navigation-button button {
    display: flex;
    justify-content: space-around;
    padding: 10px 0;
    align-items: center
}

.menu-navigation-button button span {
    display: block
}

.menu-navigation-button button span:nth-child(2) {
    font-weight: 800
}

@media screen and (max-width: 992px) {
    .menu-navigation-button .desktop {
        display:none
    }

    .menu-navigation-button .mobile {
        display: block
    }
}

.modal-close-button {
    position: absolute;
    right: 15px;
    top: 10px;
    width: 23px;
    height: 23px;
    border-radius: 50%
}

.modal-close-button img {
    width: 100%;
    height: 100%
}

.order {
    position: sticky;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    top: 40px;
    padding: 25px;
    border-radius: 8px;
    background-color: #fff;
    border: 1px solid #dcdcdc;
}

.order h2 {
    font-size: 20px;
    padding-bottom: 15px;
    margin: 5px 0 0;
    position: relative;
    border-bottom: solid 1px rgba(180,180,180,.4)
}

.order .action {
    display: none;
    position: sticky;
    bottom: 0;
    padding: 20px 0;
    background-color: #fff
}

.order .additions>* {
    border-bottom: solid 1px rgba(180,180,180,.4)
}

.order .additions>*:last-child {
    border-bottom: none
}

.order .additions .addition {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px;
    align-items: center;
    padding: 0 0 20px;
    margin-top: 10px
}

.order .additions .addition h3 {
    margin: 8px 0 0
}

.order .additions .addition p {
    margin: 8px 0 0;
    color: #757575;
    font-style: italic;
    font-size: .8em
}

.order .additions .addition .edit {
    align-self: baseline;
    margin-top: 12px;
    font-size: .9em;
    color: #4756f6
}

.order .additions .addition .pricing {
    margin-top: 10px
}

.order .additions .addition .pricing .price {
    color: #ff5023;
    font-weight: 700
}

.order .additions .addition .quantity {
    display: inline-block;
    width: 40px
}

.order .additions .addition .subitem {
    font-size: .9em;
    color: #757575
}

.order .empty-order img {
    display: block;
    margin: 30px auto;
    height: 14em;
    border-radius: 10em;
}

.order .empty-order p {
    text-align: center;
    font-size: 18px;
    color: #b4b4b4;
    font-weight: 400;
    padding-right: 25px
}

@media screen and (max-width: 992px) {
    .order h3:after {
        left:10%;
        right: 10%;
        width: 80%
    }

    .order .action {
        display: block
    }
}

.order-errors .modal__content {
    padding: 50px 0
}

.order-errors .modal__content button {
    width: auto;
    min-width: 200px;
    margin: 20px auto 0
}

.order-errors .modal__content h2 {
    font-weight: 400;
    margin: 5px
}

.order-errors .modal__content img {
    max-width: 250px;
    margin: 0 auto
}

.order-errors .modal__content p {
    margin: 25px auto;
    font-size: 1.1em;
    max-width: 300px
}

.order-errors .modal__content p.muted {
    color: #757575
}

.order-errors .modal__content .notAvailableProduct {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 10px auto
}

.order-errors .modal__content .notAvailableProduct span:first-child {
    margin-right: 5px
}

@media screen and (max-width: 992px) {
    .order-errors .modal__content {
        display:grid;
        align-content: center
    }
}

.order-modal .back {
    position: absolute;
    left: 10px;
    top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 1px 0 8px #3d3d3d66
}

.order-modal .back img {
    width: 13px;
    height: 13px;
    object-fit: contain;
    margin-bottom: 1px;
    margin-right: 1px
}

.order-modal .content {
    margin-top: 60px;
    text-align: left
}

.order-modal .content .order {
    max-height: calc(85vh - 60px);
    padding: 15px 15px 0;
    box-shadow: none
}

.order-success .modal__content {
    padding: 50px 0 20px
}

.order-success .modal__content button {
    width: auto;
    min-width: 200px;
    margin: 0 auto
}

.order-success .modal__content h2 {
    font-weight: 400;
    margin: 5px
}

.order-success .modal__content h2.bold {
    font-weight: 700
}

.order-success .modal__content img {
    max-width: 250px;
    margin: 0 auto
}

.order-success .modal__content p {
    margin: 0 auto 40px;
    font-size: 1.1em;
    max-width: 300px
}

.order-success .modal__content .branding__order {
    display: none
}

.order-success .modal__content .branding__order-success {
    padding-top: 10px;
    margin-top: 4rem;
    display: block;
    border-top: solid 2px rgba(180,180,180,.6)
}

.order-success .modal__content .branding__order-success img {
    max-width: 110px
}

.order-success .modal__content .branding__order-success p {
    font-size: 12px;
    margin: 0 auto
}

@media screen and (max-width: 992px) {
    .order-success .modal__content {
        min-height:90%
    }

    .order-success .modal__content .branding__order-success {
        margin-top: 0;
        width: 100%;
        position: absolute;
        bottom: 20px
    }
}

.order-summary {
    border-top: solid 2px rgba(180,180,180,.6);
    border-top-style: dashed
}

.order-summary h3 {
    margin: 15px 0 8px
}

.order-summary hr {
    height: 1px
}

.order-summary .item {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center
}

.order-summary .item p {
    margin: 5px 0;
    color: #757575
}

.order-summary .item span {
    font-weight: 600
}

.order-summary .item.subtotal p {
    color: #3d3d3d;
    font-weight: 700
}

.order-summary .item.total p {
    color: #3d3d3d;
    font-size: 1.2em;
    font-weight: 800
}

.order-summary .item.total span {
    color: #ff5023
}

app-phone-number .iti {
    display: block
}

.product-categories {
    position: sticky;
    top: 60px;
    z-index: 1;
    margin-bottom: 20px;
    padding: 0 0 5px;
    background-color: #fff
}

.product-categories:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    opacity: .2;
    border: solid 1px #b4b4b4;
}

.product-categories .navigation-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 15px
}

.product-categories .navigation-btn.disabled {
    opacity: 30%;
    cursor: inherit;
    pointer-events: none
}

.product-categories .navigation-btn--left {
    left: -20px
}

.product-categories .navigation-btn--right {
    right: -30px
}

.product-categories__items {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    column-gap: 25px;
    padding: 0px 10px 0;
    overflow-x: auto
}

.product-categories__items::-webkit-scrollbar {
    display: none
}

.product-categories__items .item {
    cursor: pointer
}

.product-categories__items .item .icon {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
    width: 70px;
    margin: 0 auto
}

.product-categories__items .item p {
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    text-align: center
}

@media screen and (max-width: 992px) {
    .product-categories {
        padding:0px 10px 5px
    }

    .product-categories:before {
        left: 10%;
        right: 10%;
        width: 80%
    }

    .product-categories .navigation-btn--left,.product-categories .navigation-btn--right {
        display: none
    }

    .product-categories .item:first-child {
        padding-left: 10px
    }

    .product-categories .item:last-child {
        padding-right: 10px
    }
}

.product-remove .modal .content {
    padding: 30px 20px
}

.product-remove .modal .content h4 {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.4em;
    max-width: 60%;
    margin: 10px auto 0
}

.product-remove .modal .content img {
    height: 200px;
    padding: 30px;
    border-radius: 45em;
}

.product-remove .modal .content .buttons {
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 15px
}

@media screen and (max-width: 992px) {
    .product-remove .modal__content {
        width:90vw;
        height: auto;
        border-radius: 15px
    }

    .product-remove .modal .content .buttons {
        column-gap: 10px
    }
}

.product-select app-minimum-amount {
    display: none
}

.product-select .image {
    width: 100%;
    max-height: 40vh;
    object-fit: cover;
    object-position: center;
    border-radius: 15px 15px 0 0;
}

@media screen and (max-width: 992px) {
    .product-select .image {
        max-height: 50vh;
        border-radius: 0px;
    }
}

.product-select .image~.content {
    margin-top: 0
}

.product-select .back {
    position: absolute;
    left: 10px;
    top: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #fff;
    box-shadow: 1px 0 8px #3d3d3d66
}

.product-select .back img {
    width: 13px;
    height: 13px;
    object-fit: contain;
    margin-bottom: 1px;
    margin-right: 1px
}

.product-select .content {
    margin-top: 40px;
    padding: 15px 15px 0
}

.product-select .content h4 {
    text-align: left;
    margin-bottom: 8px
}

.product-select .content .action {
    padding: 15px 0;
    position: sticky;
    bottom: 0;
    background-color: #fff
}

.product-select .content .adder {
    position: relative;
    margin-top: 15px
}

.product-select .content .adder a {
    position: absolute;
    display: block;
    top: 50%;
    transform: translateY(-50%);
    width: 70px;
    height: 20px;
    line-height: 20px;
    font-size: 20px;
    font-weight: 600
}

.product-select .content .adder a:hover {
    text-decoration: none
}

.product-select .content .adder a.disabled {
    background: #f4f4f4;
    border-radius: 10px;
    pointer-events: none
}

.product-select .content .adder a.minus {
    left: 0;
    border-right: 1px solid #b4b4b4
}

.product-select .content .adder a.plus {
    right: 0;
    border-left: 1px solid #b4b4b4
}

.product-select .content .adder input {
    text-align: center;
    font-weight: 600
}

.product-select .content .adder--sm {
    margin-top: 0;
    max-height: 80%
}

.product-select .content .adder--sm a {
    width: 30px;
    height: 28px;
    line-height: 28px
}

.product-select .content .adder--sm a.minus {
    border-right: none;
    margin-left: 8px
}

.product-select .content .adder--sm a.plus {
    border-left: none;
    margin-right: 8px
}

.product-select .content .adder--sm input {
    padding: 8px
}

.product-select .content .addAddition button {
    display: flex;
    justify-content: space-around;
    align-items: center
}

.product-select .content .addAddition button span {
    display: block
}

.product-select .content .addAddition button span:nth-child(2) {
    font-weight: 800
}

.product-select .content .description {
    font-size: 14px;
    line-height: 1.5;
    margin: 5px 0;
    color: #757575;
    text-align: left
}

.product-select .content .product-groups .description {
    font-size: .9em;
    margin: 0 0 10px;
    color: #757575;
    text-align: left
}

.product-select .content .product-groups .item {
    display: grid;
    grid-template-columns: 1fr 130px;
    align-items: center;
    gap: 10px
}

.product-select .content .product-groups .item p,.product-select .content .product-groups .item label {
    display: block;
    font-weight: 500;
    text-align: left;
    margin: 14px 0
}

.product-select .content .product-groups .item p span,.product-select .content .product-groups .item label span {
    font-size: .85em
}

.product-select .content .product-groups .item p span.badge,.product-select .content .product-groups .item label span.badge {
    padding: 3px 5px
}

.product-select .content .product-groups .item-radio {
    grid-template-columns: 1fr 100px
}

.product-select .content .product-groups .item-radio label {
    margin: 0;
    padding: 14px 0;
    cursor: pointer
}

.product-select .content .product-groups .item.noStock {
    opacity: .5;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none
}

.product-select .content .product-groups .item.noStock .radio,.product-select .content .product-groups .item.noStock .adder {
    display: none
}

.product-select .content .product-groups .item.noStock .badge--noStock {
    display: block
}

.product-select .content .product-groups .item .badge--noStock {
    display: none
}

.product-select .content .title {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.product-select .content .title h3 {
    margin: 5px 0
}

.product-select .content .title .badge {
    display: flex;
    align-items: center;
    width: fit-content;
    max-height: 2em
}

.product-select .content .title .badge img {
    display: inline-block;
    height: 14px;
    width: auto;
    margin: 0 5px 1px 0
}

.product-select .content .title .badge span {
    display: inline-block;
    font-size: 14px;
    font-weight: 700;
    line-height: 14px
}

@media screen and (max-width: 992px) {
    .product-select app-minimum-amount {
        display:block
    }
}

.products h3 {
    margin: 10px 0;
    scroll-margin-top: 220px;
    font-size: 14px;
    text-transform: uppercase
}

.products h3:not(:first-child) {
    margin-top: 40px
}

.products h4 {
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    margin: 15px 10px 5px
}

.products .items {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    padding: 10px
}

.products .items.orderingDisabled {
    grid-template-columns: repeat(3,1fr)
}

.products .items.orderingDisabled .product {
    pointer-events: none
}

.products .items .product {
    display: grid;
    grid-template-columns: 1fr max-content;
    align-items: center;
    position: relative;
    cursor: pointer;
    padding: 15px;
    width: 100%;
    border-radius: 8px;
    background-color: #fff;
    border: 1px solid #dcdcdc
}

.products .items .product.noStock {
    opacity: .5;
    pointer-events: none;
    -webkit-user-select: none;
    user-select: none
}

.products .items .product.noStock .badge--noStock {
    display: block;
    position: absolute;
    top: -5px;
    right: 50%;
    transform: translate(50%)
}

.products .items .product h4 {
    margin: 5px 0
}

.products .items .product p {
    color: #757575;
    margin: 5px 0;
    overflow-wrap: anywhere;
    font-size: 14px;
    line-height: 1.3
}

.products .items .product img {
    width: 80px;
    height: 95%;
    margin-left: 10px;
    border-radius: 10px;
    object-fit: cover
}

.products .items .product .badge {
    display: flex;
    align-items: center;
    width: fit-content
}

.products .items .product .badge img {
    display: inline-block;
    height: 14px;
    width: auto;
    margin: 0 5px 1px 0
}

.products .items .product .badge span {
    display: inline-block;
    font-size: 15px;
    font-weight: 700;
    line-height: 14px
}

.products .items .product .badge--noStock {
    display: none
}

.products .no-products {
    display: none;
    text-align: center;
    margin: 40px 0
}

.products .no-products img {
    width: 150px
}

.products .no-products p {
    font-size: 16px;
    color: #b4b4b4;
    font-weight: 400
}

.products .no-products:only-child {
    display: block
}

@media screen and (max-width: 1490px) {
    .products .items,.products .items.orderingDisabled {
        grid-template-columns: 1fr
    }
}

@media screen and (max-width: 992px) {
    .products h3 {
        margin:10px
    }

    .products h4 {
        margin: 15px 10px 5px 20px
    }

    .products .items,.products .items.orderingDisabled {
        grid-template-columns: 1fr
    }
}

.radio {
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none
}

.radio input {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 17px;
    height: 17px;
    opacity: 0;
    margin: 0;
    z-index: 1;
    cursor: pointer
}

.radio input:checked~.dot:after {
    display: block
}

.radio .dot {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    height: 18px;
    width: 18px;
    background-color: transparent;
    border: 1px solid #b4b4b4;
    border-radius: 50%
}

.radio .dot:after {
    display: none;
    content: "";
    position: absolute;
    top: 2px;
    left: 2px;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #ff5023
}

.schedule {
    display: flex;
    justify-content: center;
    position: relative;
    margin-top: 30px;
    margin-bottom: -50px;
    padding: 0 10px
}

.schedule app-schedule-order .schedule-order {
    margin-top: 20px
}

.schedule .card {
    width: 500px;
    z-index: 1;
}

.schedule .card .buttons {
    display: flex;
    flex-grow: 1;
    flex-basis: 0;
    gap: 15px
}

.schedule .card .buttons .btn {
    width: 100%
}

.schedule .card .detail {
    display: flex;
    justify-content: space-between;
    margin-top: 20px
}

.schedule .card .detail .day-schedule {
    display: grid;
    grid-template-columns: 1fr 30px;
    align-items: center;
    width: 100%;
    text-align: right;
    cursor: pointer;
    color: #757575;
    -webkit-user-select: none;
    user-select: none
}

.schedule .card .detail .day-schedule img.caret {
    max-width: .8em;
    transition: all .3s ease;
    margin-left: 5px
}

.schedule .card .detail .day-schedule img.caret.rotate {
    transform: rotate(180deg)
}

.schedule .card .detail .day-schedule__times {
    display: flex;
    justify-content: flex-end
}

.schedule .card .detail .day-schedule__times .divider {
    margin: 0 8px
}

.schedule .card .detail .day-schedule__times .item {
    display: grid;
    grid-template-columns: 20px 1fr
}

.schedule .card .detail .day-schedule__times .item img {
    max-width: .9em
}

.schedule .card .detail .day-schedule__times .item span {
    width: fit-content
}

.schedule .card .opening-hours {
    max-height: 0;
    overflow-y: hidden;
    cursor: pointer;
    transition: all .3s ease;
    color: #757575
}

.schedule .card .opening-hours.show {
    padding-top: 20px;
    max-height: 100vh
}

.schedule .card .opening-hours ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.schedule .card .opening-hours ul li {
    margin: 5px 0
}

.schedule .card .opening-hours ul li img {
    max-width: .9em;
    margin-right: 8px
}

.schedule .card .opening-hours ul li .day {
    font-weight: 700;
    display: inline-block;
    width: 40px
}

.schedule .card .opening-hours ul li .divider {
    margin: 0 8px
}

@media screen and (max-width: 992px) {
    .schedule {
        margin-top:-55px
    }

    .schedule .card .buttons {
        font-size: 14px;
        gap: 5px
    }

    .schedule .card .detail .day-schedule img.caret {
        max-width: .7em
    }

    .schedule .card .detail .day-schedule__times {
        flex-direction: column;
        gap: 3px 0
    }

    .schedule .card .detail .day-schedule__times .divider {
        display: none
    }

    .schedule .card .detail .day-schedule__times .item {
        display: grid;
        grid-template-columns: 20px minmax(100px,auto);
        justify-content: flex-end
    }

    .schedule .card .opening-hours {
        font-size: 15px
    }
}

.schedule-availability .modal__content {
    display: grid;
    align-content: center;
    justify-items: center;
    padding: 20px
}

.schedule-availability .modal__content img {
    margin: 20px 0;
    max-width: 300px
}

.schedule-availability .modal__content p {
    margin: 40px auto 15px;
    max-width: 250px
}

@media screen and (max-width: 992px) {
    .schedule-availability .modal__content {
        padding:10px
    }
}

.schedule-order {
    display: block;
    font-size: 1em;
    font-weight: 500
}

.schedule-order .date {
    align-items: center;
    cursor: pointer;
    display: flex;
    gap: 1rem;
    justify-content: center;
    max-height: 0;
    overflow-y: hidden;
    transition: all .3s ease
}

.schedule-order .date div {
    width: 100%;
    text-align: center
}

.schedule-order .date.show {
    padding-top: 20px;
    max-height: 100vh
}

.schedule-order select {
    background-color: #fff;
    border-color: #b4b4b4;
    border-radius: 2px;
    color: #3d3d3d;
    font-family: inherit;
    font-weight: 500;
    height: 30px;
    max-width: 14.18rem;
    padding: 4px;
    text-align: center;
    width: 100%
}

.schedule-order option {
    font-size: 14px;
    font-family: none
}

.schedule-order .type {
    display: flex;
    justify-content: center;
    gap: 1.3rem
}

.schedule-order .type label {
    width: 100%;
    line-height: 29px;
    max-width: 14.18rem;
    text-align: center;
    color: #757575
}

::-webkit-scrollbar {
    background-color: #fff;
    width: 12px
}

::-webkit-scrollbar-track {
    background-color: #f4f4f4
}

::-webkit-scrollbar-thumb {
    background-color: #b4b4b4;
    border-radius: 16px;
    border: 2px solid #fff
}

::-webkit-scrollbar-thumb:hover {
    background: #ff5023
}

::-webkit-scrollbar-button {
    display: none
}

.search-bar {
    position: sticky;
    top: 0;
    font-size: 14px;
    z-index: 1;
    height: 60px;
    padding: 10px;
    background-color: #fff
}

.search-bar input {
    padding: 10px 50px 10px 35px;
    background: url(/media/search.svg) no-repeat 10px 50%;
    background-size: 1em
}

.search-bar button {
    position: absolute;
    right: 25px;
    top: 50%;
    transform: translateY(-50%)
}

.search-bar button.btn--clear {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    width: 25px;
    height: 1.3em;
    border-radius: 3px;
    background-color: #e2e2e2;
    border-color: #e2e2e2
}

.search-bar button.btn--clear img {
    height: .8em
}

textarea {
    font-family: Barlow;
    font-size: .9em;
    width: 100%;
    padding: 10px;
    border-radius: 5px;
    background-color: #efefef;
    resize: none;
    border: none;
    outline: none
}

textarea::placeholder {
    color: #848592
}

app-validate-form-control p {
    margin: 5px 0;
    color: #ff3541;
    font-size: .9em
}

.branding {
    display: block;
    margin-top: 8px;
    text-align: center
}

.branding a {
    color: #4756f6
}

.branding a:hover {
    text-decoration: underline
}

.branding__order {
    margin: 25px 0;
    font-size: 12px
}

.branding__order span {
    vertical-align: middle
}

.branding__order img {
    padding-left: 7px;
    max-height: 20px;
    max-width: 70px;
    vertical-align: middle
}

.branding__order-success {
    display: none
}

.menu-page .content {
    display: grid;
    grid-template-columns: minmax(0,1fr) 30vw;
    column-gap: 50px;
    margin: 50px 70px 15px;
    padding: 30px 50px 20px;
    border-radius: 8px;
    box-shadow: 0 2px 9px #a1999980;
    background-color: #fff
}

.menu-page .content__view {
    position: relative
}

.menu-page .content.orderingDisabled {
    grid-template-columns: minmax(0,1fr);
    margin: 20px 70px 15px;
    padding: 20px 50px
}

.menu-page .content.orderingDisabled app-order {
    display: none
}

.menu-page .branding {
    margin-bottom: 2rem
}

@media screen and (max-width: 992px) {
    .menu-page .content {
        grid-template-columns:minmax(0,1fr);
        margin: 0px 0 0;
        padding: 10px 0;
        border-radius: 0;
        box-shadow: none
    }

    .menu-page .content app-order {
        display: none
    }

    .menu-page .content.orderingDisabled {
        margin: 0;
        padding: 10px 0
    }
}

.not-found {
    display: grid;
    justify-items: center;
    align-content: center;
    height: 100vh;
    background-color: #f4f4f4
}

.not-found h1 {
    font-size: 20px;
    font-weight: 400;
    text-transform: uppercase;
    margin: 40px 0
}

.not-found img {
    height: 25vh
}

.not-found img.brand-icon {
    height: 40px
}

.not-found .login {
    margin-top: 40px
}

.order-details-page {
    padding: 10px;
    font-size: 15px
}

.order-details-page app-order-summary {
    display: none
}

.order-details-page h2 {
    font-size: 18px;
    margin-top: 0
}

.order-details-page h2:not(:first-child) {
    margin-top: 35px
}

.order-details-page hr.divider {
    height: 5px;
    margin: 30px -10px 0;
    display: none
}

.order-details-page .navigation {
    position: sticky;
    bottom: 0;
    background-color: #fff;
    padding: 15px 10px;
    display: flex;
    column-gap: 20px;
    margin-top: 20px
}

.order-details-page .payment-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px 50px
}

.order-details-page .payment-methods .badge {
    margin-left: 5px
}

@media screen and (max-width: 992px) {
    .order-details-page app-order-summary {
        display:block;
        margin-top: 20px
    }

    .order-details-page h2 {
        margin-top: 10px
    }

    .order-details-page hr.divider {
        display: block
    }

    .order-details-page .navigation {
        column-gap: 10px
    }

    .order-details-page .payment-methods {
        grid-template-columns: 1fr;
        gap: 20px 50px
    }
}
