/*--------------------
    Flex container
--------------------*/
.d_flex {
    align-items: center;
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    max-width: 100%;
    min-width: 0;
}

.f-d_column {
    flex-direction: column
}

.f-w_nowrap {
    flex-wrap: nowrap !important
}

.f-d_row-reverse:nth-child(2n) {
    flex-direction: row-reverse
}

/*justify-content*/
.j-c_flex-start {
    -ms-flex-pack: start;
    justify-content: flex-start
}

.j-c_flex-end {
    -ms-flex-pack: end;
    justify-content: flex-end
}

.j-c_center {
    -ms-flex-pack: center;
    justify-content: center
}

.j-c_space-between {
    -ms-flex-pack: justify;
    justify-content: space-between
}

.j-c_space-around {
    -ms-flex-pack: distribute;
    justify-content: space-around
}

/*justify-content\tablet*/
@media (max-width: 768px) {
    .tablet_j-c_center, .t_j-c_center {
        -ms-flex-pack: center;
        justify-content: center
    }
}

/*justify-content\phone*/
@media (max-width: 576px) {
    .phone_j-c_center, .p_j-c_center {
        -ms-flex-pack: center;
        justify-content: center
    }
}

/*align-items*/
.a-i_flex-start {
    -ms-flex-align: start;
    align-items: flex-start
}

.a-i_flex-end {
    -ms-flex-align: end;
    align-items: flex-end
}

.a-i_center {
    -ms-flex-align: center;
    align-items: center;
}

.a-i_baseline {
    -ms-flex-align: baseline;
    align-items: baseline
}

.a-i_stretch {
    -ms-flex-align: stretch;
    align-items: stretch
}

/*--------------------
    Flex items
--------------------*/

/*align-self*/
.a-s_flex-start {
    -ms-flex-item-align: start;
    align-self: flex-start
}

.a-s_flex-end {
    -ms-flex-item-align: end;
    align-self: flex-end
}

.a-s_center {
    -ms-flex-item-align: center;
    align-self: center
}

.a-s_baseline {
    -ms-flex-item-align: baseline;
    align-self: baseline
}

.a-s_stretch {
    -ms-flex-item-align: stretch;
    align-self: stretch
}

/*--------------------
    Flex Group:

    Compact_
    flex: 0 1 auto;

    Full_
    flex-basis: auto;
    flex-grow: 0;
    flex-shrink: 1;
----------------------*/
[class*="flex_"] {
    max-width: 100%;
    min-width: 0;
}

/*0%*/
.flex_1-1-0 {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 0;
}

/*100%*/
.flex_1-1-100 {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 100%;
}

/*auto*/
.flex_1-1-auto {
    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: auto;
}

/*minus-p*/

/*75%-p*/
.flex_75-p {
    flex-basis: calc(75% - 0.4em);
    max-width: calc(75% - 0.4em);
}

/*66%-p*/
.flex_66-p {
    flex-basis: calc(66.6% - 0.4em);
    max-width: calc(66.6% - 0.4em);
}

/*50%-p*/
.flex_50-p {
    flex-basis: calc(50% - 0.4em);
    max-width: calc(50% - 0.4em);
}

/*33%-p*/
.flex_33-p {
    flex-basis: calc(33.3% - 0.4em);
    max-width: calc(33.3% - 0.4em);
}

/*25%-p*/
.flex_25-p {
    flex-basis: calc(25% - 0.4em);
    max-width: calc(25% - 0.4em);
}

/*tablet-p*/
@media (max-width: 768px) {
	/*75%-p*/
	.t_flex_75-p {
		flex-basis: calc(75% - 0.4em);
		max-width: calc(75% - 0.4em);
	}

	/*66%-p*/
	.t_flex_66-p {
		flex-basis: calc(66.6% - 0.4em);
		max-width: calc(66.6% - 0.4em);
	}

	/*50%-p*/
	.t_flex_50-p {
		flex-basis: calc(50% - 0.4em);
		max-width: calc(50% - 0.4em);
	}

	/*33%-p*/
	.t_flex_33-p {
		flex-basis: calc(33.3% - 0.4em);
		max-width: calc(33.3% - 0.4em);
	}

	/*25%-p*/
	.t_flex_25-p {
		flex-basis: calc(25% - 0.4em);
		max-width: calc(25% - 0.4em);
	}
}
/*phone*/
@media (max-width: 576px) {
	/*75%-p*/
	.p_flex_75-p {
		flex-basis: calc(75% - 0.4em);
		max-width: calc(75% - 0.4em);
	}

	/*66%-p*/
	.p_flex_66-p {
		flex-basis: calc(66.6% - 0.4em);
		max-width: calc(66.6% - 0.4em);
	}

	/*50%-p*/
	.p_flex_50-p {
		flex-basis: calc(50% - 0.4em);
		max-width: calc(50% - 0.4em);
	}

	/*33%-p*/
	.p_flex_33-p {
		flex-basis: calc(33.3% - 0.4em);
		max-width: calc(33.3% - 0.4em);
	}

	/*25%-p*/
	.p_flex_25-p {
		flex-basis: calc(25% - 0.4em);
		max-width: calc(25% - 0.4em);
	}
}

/*100%*/
.flex_100 {
    flex-basis: 100%;
    max-width: 100%;
}

/*75%*/
.flex_75 {
    flex-basis: 75%;
    max-width: 75%;
}

/*66%*/
.flex_66 {
    flex-basis: 66.6%;
    max-width: 66.6%;
}

/*50%*/
.flex_50 {
    flex-basis: 50%;
    max-width: 50%;
}

/*33%*/
.flex_33 {
    flex-basis: 33.3%;
    max-width: 33.3%;
}

/*25%*/
.flex_25 {
    flex-basis: 25%;
    max-width: 25%;
}

/*tablet*/
@media (max-width: 768px) {
    .tablet_flex_100, .t_flex_100 {
        flex-basis: 100%;
        max-width: 100%;
    }

    .tablet_flex_75, .t_flex_75 {
        flex-basis: 75%;
        max-width: 75%;
    }

    .tablet_flex_66, .t_flex_66 {
        flex-basis: 66.6%;
        max-width: 66.6%;
    }

    .tablet_flex_50, .t_flex_50 {
        flex-basis: 50%;
        max-width: 50%;
    }

    .tablet_flex_33, .t_flex_33 {
        flex-basis: 33.3%;
        max-width: 33.3%;
    }

    .tablet_flex_25, .t_flex_25 {
        flex-basis: 25%;
        max-width: 25%;
    }
}
/*phone*/
@media (max-width: 576px) {
    .phone_flex_100, .p_flex_100 {
        flex-basis: 100%;
        max-width: 100%;
    }

    .phone_flex_75, .p_flex_75 {
        flex-basis: 75%;
        max-width: 75%;
    }

    .phone_flex_66, .p_flex_66 {
        flex-basis: 66.6%;
        max-width: 66.6%;
    }

    .phone_flex_50, .p_flex_50 {
        flex-basis: 50%;
        max-width: 50%;
    }

    .phone_flex_33, .p_flex_33 {
        flex-basis: 33.3%;
        max-width: 33.3%;
    }

    .phone_flex_25, .p_flex_25 {
        flex-basis: 25%;
        max-width: 25%;
    }
}

.f-g_1, .spacer {
    flex-grow: 1;
}


/*font-weight*/
.f-w_300 {
    font-weight: 300;
}

.f-w_400 {
    font-weight: 400;
}

.f-w_500 {
    font-weight: 500;
}

.f-w_600 {
    font-weight: 600;
}

.f-w_700 {
    font-weight: 700;
}

.f-w_800 {
    font-weight: 800;
}

.f-w_900 {
    font-weight: 900;
}

/*font-size*/
.f-s_80 {
    font-size: 80%;
}

.f-s_85 {
    font-size: 85%;
}

.f-s_90 {
    font-size: 90%;
}

.f-s_95 {
    font-size: 95%;
}

.f-s_100 {
    font-size: 100%;
}

.f-s_110 {
    font-size: 110%;
}

.f-s_120 {
    font-size: 120%;
}

.f-s_130 {
    font-size: 130%;
}

.f-s_140 {
    font-size: 140%;
}

.f-s_150 {
    font-size: 150%;
}

.f-s_160 {
    font-size: 160%;
}

.f-s_170 {
    font-size: 170%;
}

.f-s_180 {
    font-size: 180%;
}

.f-s_190 {
    font-size: 190%;
}

.f-s_200 {
    font-size: 200%;
}

.f-s_210 {
    font-size: 210%;
}

.f-s_220 {
    font-size: 220%;
}

.f-s_230 {
    font-size: 230%;
}

.f-s_240 {
    font-size: 240%;
}

.f-s_250 {
    font-size: 250%;
}

.f-s_300 {
    font-size: 300%;
}

.f-s_350 {
    font-size: 350%;
}

.f-s_400 {
    font-size: 400%;
}

.f-s_450 {
    font-size: 450%;
}

.f-s_500 {
    font-size: 500%;
}

/*phone_font-size*/
@media (max-width: 576px) {
    .p_f-s_100 {
        font-size: 100%;
    }

    .p_f-s_110 {
        font-size: 110%;
    }

    .p_f-s_120 {
        font-size: 120%;
    }

    .p_f-s_130 {
        font-size: 130%;
    }

    .p_f-s_140 {
        font-size: 140%;
    }

    .p_f-s_150 {
        font-size: 150%;
    }

    .p_f-s_160 {
        font-size: 160%;
    }

    .p_f-s_170 {
        font-size: 170%;
    }

    .p_f-s_180 {
        font-size: 180%;
    }

    .p_f-s_190 {
        font-size: 190%;
    }

    .p_f-s_200 {
        font-size: 200%;
    }
	
    .p_f-s_210 {
        font-size: 210%;
    }

    .p_f-s_220 {
        font-size: 220%;
    }

    .p_f-s_230 {
        font-size: 230%;
    }

    .p_f-s_240 {
        font-size: 240%;
    }

    .p_f-s_250 {
        font-size: 250%;
    }

    .p_f-s_300 {
        font-size: 300%;
    }

    .p_f-s_350 {
        font-size: 350%;
    }

    .p_f-s_400 {
        font-size: 400%;
    }

    .p_f-s_450 {
        font-size: 450%;
    }

    ._p_f-s_500 {
        font-size: 500%;
    }
}

/*Margin*/
.m_auto {
    margin: auto;
}

.m-l_auto {
    margin-left: auto;
}

.m-t_auto {
    margin-top: auto;
}

.m-r_auto {
    margin-right: auto;
}

.m-b_auto {
    margin-bottom: auto;
}

/*categorymenu.tpl*/
.menu__ul, .menu__li {
    position: relative;
}

.menu__a {
    align-items: center;
    background-color: transparent;
    display: flex;
    flex-direction: row;
    font-size: 90%;
    font-weight: 500;
    position: relative;
    transition: background-color 0.25s ease-in-out 0s, color 0.25s ease-in-out 0s, box-shadow 0.25s ease 0s;
}

    .menu__a .menu__name {
        margin: 0.6em 0;
    }

    .menu__a .menu__count {
        align-self: flex-start;
        margin: 0.6em 0 0.6em auto;
    }

.sbmenu .menu__a .menu__name {
    margin-left: 0.6em;
}

.sbmenu .menu__a .menu__count {
    margin-right: 0.6em;
}

    .menu__a.menu__parent .menu__plus {
        align-items: center;
        align-self: stretch;
        box-shadow: none;/*-1px 0 0 0 rgba(124, 126, 128, 0.25) inset*/
        display: flex;
        font-weight: 700;
        margin: 0;
        padding: 0 1em 0 0;
    }

.sbmenu .menu__a.menu__parent .menu__plus {
    padding-left: 1em;
}

    .menu__a .menu__arrow {
        display: none;
    }

    .menu__a + .menu__ul {
        display: none;
        padding-left: 1.25em;
    }