* { 
	-moz-box-sizing: border-box; 
	-webkit-box-sizing: border-box; 
	box-sizing: border-box;
	outline: none;
	vertical-align: top;
	
	margin: 0; 
	padding: 0;
	/*position: relative;*/
	border-collapse: collapse;
}

.bold, .b, strong 	{font-weight: 700 !important;}
.semi-bold, .sb		{font-weight: 500 !important;}
.light				{font-weight: 200 !important;}
.em, .i 			{font-style: italic;}

.no-underline, .no-underline:hover {
	text-decoration: none;
}

.small {
	font-size: 0.85em;
}

.big {
	font-size: 2em;
}
.medium {
	font-size: 1.4em;
}

.bottom {
	bottom: 0;
}

.bg-grey {
	/*background-color: #f6f4f3;*/
	background-color: rgba(240, 240, 240, .9);
}

.wrapper {
	width: 90%;
	max-width: 3000px;
	margin: 0px auto;
}

.wrapper-wide {
	width: 100%;
	max-width: 1600px;
	margin: 0px auto;
}

.wrapper-extra-wide {
	width: 100%;
	margin: 0 auto;
}

.visible {
	display: block;
}

.mh-100prc, .vh100 {
	height: 100vh;
	height: 100svh;
}

.vh-auto {
	height: auto;
}

.img-100prc img {
	width: 100%;
	height: auto;
}

.bg-cover {
	background-size: cover;
	background-position: 50% 50%;
}
.bg-contain {
	background-size: contain;
	background-position: 50% 50%;
	background-repeat: no-repeat;
}

.overflow-dots {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mix-color 		{mix-blend-mode: color;}
.mix-multiple 	{mix-blend-mode: multiple;}
.mix-lighten 	{mix-blend-mode: lighten;}
.mix-overlay 	{mix-blend-mode: overlay;}

.opacity00 		{opacity: 0;}
.opacity01 		{opacity: 0.1;}
.opacity02 		{opacity: 0.2;}
.opacity03 		{opacity: 0.3;}
.opacity04 		{opacity: 0.4;}
.opacity05 		{opacity: 0.5;}
.opacity06 		{opacity: 0.6;}
.opacity07 		{opacity: 0.7;}
.opacity08 		{opacity: 0.8;}
.opacity09 		{opacity: 0.9;}
.opacity10 		{opacity: 1;}

.w5prc 			{width: 5%;}
.w10prc 		{width: 10%;}
.w15prc 		{width: 15%;}
.w20prc 		{width: 20%;}
.w25prc 		{width: 25%;}
.w30prc 		{width: 30%;}
.w35prc 		{width: 35%;}
.w40prc 		{width: 40%;}
.w45prc 		{width: 45%;}
.w50prc 		{width: 50%;}
.w60prc 		{width: 60%;}
.w70prc 		{width: 70%;}
.w75prc 		{width: 75%;}
.w80prc 		{width: 80%;}
.w85prc 		{width: 85%;}
.w90prc 		{width: 90%;}
.w100prc 		{width: 100%;}


.c05x			{width: calc(0.5/12 * 100%);}
.c1x			{width: calc(1/12 * 100%);}
.c2x			{width: calc(2/12 * 100%);}
.c3x			{width: calc(3/12 * 100%);}
.c4x			{width: calc(4/12 * 100%);}
.c5x			{width: calc(5/12 * 100%);}
.c6x			{width: calc(6/12 * 100%);}
.c7x			{width: calc(7/12 * 100%);}
.c8x			{width: calc(8/12 * 100%);}
.c9x			{width: calc(9/12 * 100%);}
.c10x			{width: calc(10/12 * 100%);}
.c11x			{width: calc(11/12 * 100%);}
.c12x			{width: 100%;}




/* padding */

.p0  { padding: 0 }
.pt0 { padding-top: 0 }
.pr0 { padding-right: 0 }
.pb0 { padding-bottom: 0 }
.pl0 { padding-left: 0 }
.px0 { padding-left: 0; padding-right:  0 }
.py0 { padding-top: 0;  padding-bottom: 0 }

.p1  { padding:        .5rem }
.pt1 { padding-top:    .5rem }
.pr1 { padding-right:  .5rem }
.pb1 { padding-bottom: .5rem }
.pl1 { padding-left:   .5rem }
.py1 { padding-top:    .5rem; padding-bottom: .5rem }
.px1 { padding-left:   .5rem; padding-right:  .5rem }

.p2  { padding:        1rem }
.pt2 { padding-top:    1rem }
.pr2 { padding-right:  1rem }
.pb2 { padding-bottom: 1rem }
.pl2 { padding-left:   1rem }
.py2 { padding-top:    1rem; padding-bottom: 1rem }
.px2 { padding-left:   1rem; padding-right:  1rem }

.p3  { padding:        2rem }
.pt3 { padding-top:    2rem }
.pr3 { padding-right:  2rem }
.pb3 { padding-bottom: 2rem }
.pl3 { padding-left:   2rem }
.py3 { padding-top:    2rem; padding-bottom: 2rem }
.px3 { padding-left:   2rem; padding-right:  2rem }

.p4  { padding:        4rem }
.pt4 { padding-top:    4rem }
.pr4 { padding-right:  4rem }
.pb4 { padding-bottom: 4rem }
.pl4 { padding-left:   4rem }
.py4 { padding-top:    4rem; padding-bottom: 4rem }
.px4 { padding-left:   4rem; padding-right:  4rem }

/* margin */

.m0  { margin:        0 }
.mt0 { margin-top:    0 }
.mr0 { margin-right:  0 }
.mb0 { margin-bottom: 0 }
.ml0 { margin-left:   0 }
.mx0 { margin-left:   0; margin-right:  0 }
.my0 { margin-top:    0; margin-bottom: 0 }

.m1  { margin:        .5rem }
.mt1 { margin-top:    .5rem }
.mr1 { margin-right:  .5rem }
.mb1 { margin-bottom: .5rem }
.ml1 { margin-left:   .5rem }
.mx1 { margin-left:   .5rem; margin-right:  .5rem }
.my1 { margin-top:    .5rem; margin-bottom: .5rem }

.m2  { margin:        1rem }
.mt2 { margin-top:    1rem }
.mr2 { margin-right:  1rem }
.mb2 { margin-bottom: 1rem }
.ml2 { margin-left:   1rem }
.mx2 { margin-left:   1rem; margin-right:  1rem }
.my2 { margin-top:    1rem; margin-bottom: 1rem }

.m3  { margin:        2rem }
.mt3 { margin-top:    2rem }
.mr3 { margin-right:  2rem }
.mb3 { margin-bottom: 2rem }
.ml3 { margin-left:   2rem }
.mx3 { margin-left:   2rem; margin-right:  2rem }
.my3 { margin-top:    2rem; margin-bottom: 2rem }

.m4  { margin:        4rem }
.mt4 { margin-top:    4rem }
.mr4 { margin-right:  4rem }
.mb4 { margin-bottom: 4rem }
.ml4 { margin-left:   4rem }
.mx4 { margin-left:   4rem; margin-right:  4rem }
.my4 { margin-top:    4rem; margin-bottom: 4rem }

.mxn1 { margin-left: -.5rem; margin-right: -.5rem; }
.mxn2 { margin-left: -1rem; margin-right: -1rem; }
.mxn3 { margin-left: -2rem; margin-right: -2rem; }
.mxn4 { margin-left: -4rem; margin-right: -4rem; }

.ml-auto { margin-left: auto }
.mr-auto { margin-right: auto }
.mx-auto { margin-left: auto; margin-right: auto; }

.h100prc		{height: 100%;}
.mh100prc		{min-height: 100%;}

.m0				{margin: 0px;}

.mr0			{margin-right: 0px;}
.mr5			{margin-right: 5px;}
.mr10			{margin-right: 10px;}
.mr20			{margin-right: 20px;}
.mr30			{margin-right: 30px;}
.mr35			{margin-right: 35px;}
.mr40			{margin-right: 40px;}
.mr50			{margin-right: 50px;}

.ml0			{margin-left: 0px;}
.ml5			{margin-left: 5px;}
.ml10			{margin-left: 10px;}
.ml20			{margin-left: 20px;}
.ml40			{margin-left: 20px;}

.mt0			{margin-top: 0px;}
.mt5			{margin-top: 5px;}
.mt10			{margin-top: 10px;}
.mt20			{margin-top: 20px;}
.mt30			{margin-top: 30px;}
.mt40			{margin-top: 40px;}
.mt50			{margin-top: 50px;}

.mb0			{margin-bottom: 0px;}
.mb5			{margin-bottom: 5px;}
.mb10			{margin-bottom: 10px;}
.mb15			{margin-bottom: 15px;}
.mb20			{margin-bottom: 20px;}
.mb30			{margin-bottom: 30px;}
.mb40			{margin-bottom: 40px;}
.mb50			{margin-bottom: 50px;}

.p0 			{padding: 0px !important;}
.p5 			{padding: 5px;}
.p10 			{padding: 10px;}
.p20 			{padding: 20px;}
.p30 			{padding: 30px;}
.p40 			{padding: 40px;}
.p50 			{padding: 50px;}

.pl0			{padding-left: 0px !important;}
.pl5			{padding-left: 5px;}
.pl10			{padding-left: 10px;}
.pl20			{padding-left: 20px;}
.pl30			{padding-left: 30px;}
.pl40			{padding-left: 40px;}
.pl50			{padding-left: 50px;}

.pr0			{padding-right: 0px !important;}
.pr5			{padding-right: 5px;}
.pr10			{padding-right: 10px;}
.pr20			{padding-right: 20px;}
.pr30			{padding-right: 30px;}
.pr40			{padding-right: 40px;}
.pr50			{padding-right: 50px;}

.pt0			{padding-top: 0px !important;}
.pt5			{padding-top: 5px;}
.pt10			{padding-top: 10px;}
.pt20			{padding-top: 20px;}
.pt30			{padding-top: 30px;}
.pt40			{padding-top: 40px;}
.pt50			{padding-top: 50px;}

.pb0			{padding-bottom: 0px !important;}
.pb5			{padding-bottom: 5px;}
.pb10			{padding-bottom: 10px;}
.pb20			{padding-bottom: 20px;}
.pb30			{padding-bottom: 30px;}
.pb40			{padding-bottom: 40px;}
.pb50			{padding-bottom: 50px;}


.tac, .center	{text-align: center;}
.tar			{text-align: right;}
.tal 			{text-align: left;}

.vat			{vertical-align: top;}
.vac 			{vertical-align: middle;}
.vab			{vertical-align: bottom;}

.middle 		{position: relative; top: 50%; transform: translateY(-50%);}

.relative 		{position: relative;}
.absolute 		{position: absolute;}
.fixed			{position: fixed;}

.block			{display: block}
.inline-block	{display: inline-block;}
.inline			{display: inline;}

.pointer 		{cursor: pointer;}

.nowrap			{white-space: nowrap;}
.border 		{border: 1px solid rgba(0, 0, 0, 0.1);}
.bb 			{border-bottom: 1px solid rgba(0, 0, 0, 0.1);}
.noborder 		{border: 0 !important;}

.bt0 			{border-top: 0 !important;}

.left 			{float: left;}
.right 			{float: right;}
.clear			{clear:both; float: none;}

.hidden		{display: none;}

.z-0 			{z-index: 0;}
.z-1 			{z-index: 1;}
.z-2 			{z-index: 2;}
.z-3 			{z-index: 3;}
.z-4 			{z-index: 4;}
.z-5 			{z-index: 5;}
.z-6 			{z-index: 6;}
.z-7 			{z-index: 7;}
.z-8 			{z-index: 8;}
.z-9 			{z-index: 9;}
.z-10			{z-index: 10;}

.uc 			{text-transform: uppercase; /*letter-spacing: 0.05em;*/}

.overflow-hidden{overflow: hidden;}
.ofhidden 		{overflow: hidden;}
.tr 			{display: table-row;}
.td 			{display: table-cell;}
.table 			{display: table;}

.border-round 	{border-radius: 1rem;}

.white 			{color: white;}

.pointer 		{cursor: pointer;}

.flex { display: flex }

.flex-column  { flex-direction: column }
.flex-wrap    { flex-wrap: wrap }
.flex-nowrap    { flex-wrap: nowrap }

.items-start    { align-items: flex-start }
.items-end      { align-items: flex-end }
.items-center   { align-items: center }
.items-baseline { align-items: baseline }
.items-stretch  { align-items: stretch }

.self-start    { align-self: flex-start }
.self-end      { align-self: flex-end }
.self-center   { align-self: center }
.self-baseline { align-self: baseline }
.self-stretch  { align-self: stretch }

.justify-start   { justify-content: flex-start }
.justify-end     { justify-content: flex-end }
.justify-center  { justify-content: center }
.justify-between { justify-content: space-between }
.justify-around  { justify-content: space-around }

.content-start   { align-content: flex-start }
.content-end     { align-content: flex-end }
.content-center  { align-content: center }
.content-between { align-content: space-between }
.content-around  { align-content: space-around }
.content-stretch { align-content: stretch }

/* 1. Fix for Chrome 44 bug. https://code.google.com/p/chromium/issues/detail?id=506893 */
.flex-auto {
  flex: 1 1 auto;
  min-width: 0; /* 1 */
  min-height: 0; /* 1 */
}
.flex-none { flex: none }

.order-0 { order: 0 }
.order-1 { order: 1 }
.order-2 { order: 2 }
.order-3 { order: 3 }
.order-last { order: 99999 }


.condensed {
	letter-spacing: -0.2em;
}

.lh3em {
	line-height: 3.33em;
}

.lh2em {
	line-height: 2em;
}

.transition {
	transition: all .5s ease;
}

.transition-linear {
	transition: all .5s linear;
}

.transition-none {
	transition: none;
}