@import 'https://fonts.googleapis.com/css?family=Lato:300,400,600,700,700italic';
/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain) */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
input,textarea,select{
	-webkit-appearance:none;
	-webkit-border-radius:none;
	border-radius:0;
}
/* END CSS RESET */
/* Site Structure */
html,body,h1,h2,h3,h4,h5,div,span,a,li,input,textarea,select{
	font-family:"Lato", sans-serif;
}
html{
	width:100%;
	height:auto;
}
body{
	overflow-x:hidden;
	height:auto;
	width:100%;
	background-color:#000000;
}
#wrapper{
	position:relative;
}
/* HEADER */
#header{
	border-bottom:4px solid #cc0000;
	background:#1a1a1a;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	z-index:2;
	transition:border 0.3s;
}
#headerInside{
	max-width:1140px;
	margin:0 auto;
	width:96%;
	text-align:right;
	font-size:0;
	height:80px;
}
#headerInside:after{
	display:block;
	clear:both;
	content:"";
}
#logo{
	display:inline-block;
	vertical-align:middle;
	margin-top:14px;
	float:left;
}
#header ul{
	display:inline-block;
	vertical-align:top;
	font-size:0;
	height:80px;
}
.social{
	display:inline-block;
	vertical-align:top;
	margin-top:20px;
	margin-left:4px;
}
.social a{
	position:relative;
	display:inline-block;
}
.social a span{
	width:40px;
	height:40px;
	display:inline-block;
	vertical-align:top;
	opacity:0.7;
	transition:opacity 0.3s ease;
	position:relative;
	z-index:5;
}
.social a span img{
	position:absolute;
	left:50%;
	top:50%;
}
.social a:before{
	content:"";
	display:block;
	left:0;
	top:0;
	right:0;
	position:absolute;
	transition:height 0.3s ease;
	transform: skew(-16deg, 0deg);
	height:0;
}
.social a:hover:before{
	height:100%;
}
.social a:hover span{
	opacity:1;
}
.social a span img{
	position:absolute;
	left:50%;
	top:50%;
}
.social .fb span img{
	margin-top:-9px;
	margin-left:-6px;
}
.social .fb:before{
	background-color:#3b5998;
}
.social .tw:before{
	background-color:#00acee;
}
.social .tw span img{
	margin-top:-8px;
	margin-left:-12px;
}
.social .li:before{
	background-color:#0073b2;
}
.social .li span img{
	margin-top:-8px;
	margin-left:-10px;
}
#header ul li{
	display:inline-block;
	font-size:16px;
	height:80px;
	line-height:80px;
	vertical-align:top;
}
#header ul li a{
	display:block;
	color:#AAAAAA;
	font-size:17px;
	padding:0 20px;
	text-decoration:none;
	text-transform:uppercase;
	font-weight:700;
	position:relative;
	height:80px;
	transition:color 0.3s ease;
}
#header ul li a span{
	position:relative;
}
#header ul li a:before{
	content:"";
	display:block;
	left:0;
	top:0;
	right:0;
	position:absolute;
	background-color:#0099cc;
	transition:height 0.3s ease;
	transform: skew(-16deg, 0deg);
	height:0;
}
#header ul li a:hover{
	color:#FFFFFF;
}
#header ul li.active a{
	color:#FFFFFF;
}
#header ul li.active a:before{
	background-color:#cc0000;
}
#header ul li a:hover:before{
	height:100%;
}
#mobilemenu{
	display:none;
}
/* FOOTER */
#footer{
	position:fixed;
	bottom:0;
	left:0;
	right:0;
	background:#1a1a1a;
	z-index:-10;
	overflow-y:auto;
	color:#FFFFFF;
}
#footer .innersection{
	text-align:left;
	padding:40px 0;
}
#footer h5{
	text-transform:uppercase;
	font-size:24px;
	margin-bottom:22px;
}
#footer p{
	font-size:16px;
	line-height:26px;
}
#footer p span{
	color:#0099cc;
}
#footer .menu{
	font-size:0;
}
#footer .menu li{
	display:block;
	position:relative;
}
#footer .menu li:before{
	position:absolute;
	content:"";
	display:block;
	top:0;
	left:0;
	bottom:1px;
	width:0;
	background:#0099cc;
	transform:skew(-16deg, 0deg);
	transition:all 0.1s ease;
}
#footer .menu li.active:before{
	background:#cc0000;
}
#footer .menu li:hover:before{
	width:100%;
}
#footer .menu li a{
	display:block;
	line-height:20px;
	padding:12px 20px;
	position:relative;
	border-bottom:1px solid #222;
	font-size:16px;
	font-weight:600;
	text-decoration:none;
	color:#FFFFFF;
	text-transform:uppercase;
}
#footer .copyright{
	display:inline-block;
	float:left;
	line-height:50px;
}
#footer .social{
	float:right;
	margin:0;
}
#footer #footerbot{
	font-size:13px;
	padding:10px 0;
	border-top:1px solid #222;
}
#footer .latest{
	font-size:0;
}
#footer .latest li{
	display:block;
	line-height:22px;
	margin-bottom:20px;
	position:relative;
}
#footer .latest li:last-child{
	margin-bottom:0;
}
#footer .latest li a{
	font-size:16px;
	color:#FFF;
	text-decoration:none;
	display:block;
	transition:color 0.3s;
	margin-left:20px;
}
#footer .latest li a:hover{
	color:#cc0000;
}
#footer .latest li:before{
	content:">";
	font-weight:700;
	font-size:22px;
	color:#cc0000;
	display:block;
	position:absolute;
	top:0;
	left:0;
}
#footer .one-third{
	line-height:26px;
}
#footer .one-third h5{
	line-height:33px;
}
/* CONTENT */
#content{
	position:relative;
	z-index:1;
}
#content>div{
	overflow:auto;
}
#content>div>.section{
	position:relative;
}
#content>div:first-child{
	margin-top:84px;
}
.bluesection{
	color:#FFFFFF;
	background:#0099cc;
	background-attachment:fixed;
}
.whitesection{
	color:#333;
	background:#FFFFFF;
	background-attachment:fixed;
}
.bgsection{
	background-color:#000000;
	background-repeat:no-repeat;
	background-size:cover;
	background-attachment:fixed;
	background-position:center center;
	color:#FFFFFF;
}
.bgsection h3, .bgsection h2{
	color:#0099cc;
}
.bgsection p>span{
	color:#0099cc;
}
.bluebtn{
	display:inline-block;
	font-size:22px;
	color:#FFFFFF;
	background:#0099cc;
	padding:14px 44px;
	text-decoration:none;
	border-radius:5px;
	overflow:hidden;
	text-transform:uppercase;
	font-weight:700;
	line-height:32px;
	position:relative;
}
.bluebtn span{
	position:relative;
	z-index:1;
}
.bluebtn:before{
	z-index:0;
	display:block;
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:0;
	background:#cc0000;
	transition:height 0.3s ease;
}
.bluebtn:hover:before{
	height:100%;
}
.greybtn{
	margin-top:30px;
	display:inline-block;
	border-radius:5px;
	font-weight:700;
	font-size:14px;
	color:#333;
	background:#ddd;
	padding:10px 30px;
	text-decoration:none;
	overflow:hidden;
	text-transform:uppercase;
	line-height:20px;
	position:relative;
	transition:color 0.3s ease;
}
.greybtn span{
	position:relative;
	z-index:1;
}
.greybtn:before{
	z-index:0;
	display:block;
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:0;
	background:#cc0000;
	transition:height 0.3s ease;
}
.greybtn:hover{
	color:#FFFFFF;
}
.greybtn:hover:before{
	height:100%;
}
.innersection{
	padding:60px 0;
	text-align:center;
	max-width:1140px;
	margin:0 auto;
	width:96%;
	line-height:normal;
}
.innersection h2{
	font-size:40px;
	margin:40px 0;
	text-transform:uppercase;
}
.innersection h3{
	font-size:32px;
	margin:40px 0;
	text-transform:uppercase;
}
.innersection:after{
	display:block;
	content:"";
	clear:both;
}
.innersection p{
	font-size:19px;
	line-height:30px;
	margin-bottom:32px;
}
.innersection p strong{
	font-weight:700;
}
.infoBoxes{
	margin-top:40px;
	font-size:16px;
	line-height:26px;
	margin-bottom:40px;
}
.infoBoxes img{
	margin-bottom:20px;
	width:auto;
	height:90px;
}
.infoBoxes h4{
	font-size:26px;
	text-transform:uppercase;
	margin-bottom:22px;
}
.infoBoxes h4.blue{
	color:#0099cc;
}
.one-third{
	width:31%;
	margin-left:3.5%;
	display:block;
	float:left;
}
.one-third:first-child{
	margin-left:0;
}
.one-half{
	width:48%;
	margin-left:4%;
	display:block;
	float:left;
}
.one-half:first-child{
	margin-left:0;
}
.divider{
	margin:22px 0;
	position:relative;
	display:flex;
	flex-direction:row;
}
.divider:before{
	margin-top:6px;
	content:"";
	display:block;
	height:1px;
	background:#a4a4a4;
	width:calc(50% - 23px);
	opacity:0.5;
}
.divider img{
	position:relative;
}
.divider:after{
	margin-top:6px;
	content:"";
	display:block;
	height:1px;
	background:#a4a4a4;
	width:calc(50% - 23px);
	opacity:0.5;
}
.clear{
	clear:both;
}
/* INTRO */
#content #intro{
	line-height:normal;
	overflow:hidden;
	position:relative;
	text-align:center;
	padding: 40px 0;
}
#intro img{
	margin:80px 0 40px;
	width:100%;
	max-width:400px;
}
#intro h1{
	font-size:90px;
	color:#FFFFFF;
	font-weight:700;
	margin-top:56px;
	margin-bottom:26px;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.5);
}
#intro h1 span{
	font-style:italic;
}
#intro h1 .tm{
	display:inline-block;
	font-size:30px;
	vertical-align:top;
	font-style:normal;
	margin-top:12px;
}
#intro video{
	background:#181818;
	position:absolute;
	top:50%;
	left:50%;
	min-width:100%;
	min-height:100%;
	width:auto;
	height:auto;
	z-index:-10;
	transform:translateX(-50%) translateY(-50%);
	background-size:cover;
}
#intro h3{
	color:#c2daf3;
	font-size:36px;
	margin-bottom:80px;
	text-shadow: 0px 0px 6px #000000, 0px 0px 6px #000000, 0px 0px 6px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000, 0px 0px 20px #000000;
}
#intro iframe{
	margin:40px 0 60px;
}


/* WHO WE ARE */
#whoweare .one-third{
	font-size:20px;
	font-weight:bold;

}

/* QUOTES */
#quotes{
	position:relative;
	overflow:hidden;
	height:200px;
}
#quotes .quotecontainer{
	font-size:0;
	line-height:normal;
	position:absolute;
	left:0;
	top:0;
	height:100%;
}
#quotes .quote{
	text-align:center;
	display:inline-block;
	vertical-align:middle;
}
#quotes .quoteinside{
	padding:0 30px;
}
#quotes .quote span{
	font-size:22px;
	font-weight:700;
	display:block;
	margin-bottom:26px;
}
#quotes .quote p{
	background:#f6f6f6;
	border-radius:20px;
	margin-bottom:0;
	padding:20px;
	text-align:center;
	font-size:18px;
}
#quotecontrols{
	padding-top:30px;
}
#quotecontrols a{
	line-height:26px;
	background:#cc0000;
	color:#FFFFFF;
	font-size:45px;
	font-weight:700;
	display:inline-block;
	padding:10px;
	margin:10px;
	border-radius:5px;
	text-decoration:none;
	position:relative;
	overflow:hidden;
}
#quotecontrols a:before{
	content:"";
	display:block;
	position:absolute;
	top:0;
	left:0;
	width:100%;
	background:#0099cc;
	height:0;
	transition:height 0.3s;
}
#quotecontrols a span{
	position:relative;
	z-index:1;
}
#quotecontrols a:hover:before{
	height:100%;
}
#thesolution h4{
	padding:15px 0 10px;
	font-size:30px;
	text-transform:uppercase;
}
#solutionlist{
	margin-top:50px;
}
/* IN THE NEWS */
#inthenews ul{
	font-size:0;
}
#inthenews ul li{
	display:inline-block;
	width:25%;
	height:214px;
	background-position:center center;
	background-size:cover;
	background-repeat:no-repeat;
	box-shadow:0 0 0 0 rgba(255, 255, 255, 1) inset;
	transition:box-shadow 0.2s ease;
}
#inthenews ul li:hover{
	box-shadow:0 0 0 8px rgba(255, 255, 255, 1) inset;
}
#inthenews ul li a{
	display:block;
	height:214px;
	width:100%;
	background-repeat:no-repeat;
	background-position:center center;
	transform: scale(0.95);
	transition:transform 1s ease;
	background-size:80%;
	outline:none;
}
#inthenews ul li:hover a{
	transform: scale(1);
}

ul.info{
    list-style-type:disc;
}
/* CONTACT US */
.field{
	text-align:left;
	line-height:26px;
	margin-bottom:25px;
}
.field label{
	display:block;
	margin-bottom:10px;
	font-size:16px;
	font-weight:700;
}
.field span{
	display:none;
	color:#cc0000;
}
.field input, .field select, .field textarea{
	width:calc(100% - 20px);
	border-radius:5px;
	border:1px solid #FFFFFF;
	padding:10px;
	box-shadow:0 0 0 2px #FFFFFF;
	transition:box-shadow 0.3s ease;
	-webkit-appearance:none;
}
.field.error input, .field.error select, .field.error textarea{
	box-shadow:0 0 0 2px #cc0000;
}
.field.error span{
	margin-top:5px;
	display:block;
}
.field input:focus, .field select:focus, .field textarea:focus{
	box-shadow:0 0 0 2px #0099cc;
}
.field textarea{
	height:200px;
}
input[type="submit"]{
	background:#0099cc;
	border-radius:5px;
	color:#FFFFFF;
	font-size:18px;
	font-weight:600;
	padding:18px;
	min-width:140px;
	cursor:pointer;
	border:0;
	text-transform:uppercase;
	transition:background 0.3s;
	-webkit-appearance:none;
}
input[type="submit"]:hover{
	background:#cc0000;
}
#contactus{
}
#contactus .innersection{
	position:relative;
}
#contactform{
	max-width:540px;
	margin:0 auto;
	text-align:center;
}
#contactformprocessing,#contactformthankyou{
	position:absolute;
	top:180px;
	left:0;
	line-height:normal;
	width:100%;
	opacity:0;
	display:none;
}
#contactus h4{
	font-size:30px;
	margin-bottom:40px;
	padding:0 30px;
}
#contactformthankyou a{
	background:#0099cc;
	border-radius:5px;
	color:#FFFFFF;
	font-size:18px;
	font-weight:600;
	padding:18px;
	cursor:pointer;
	border:0;
	text-transform:uppercase;
	transition:background 0.3s;
	text-decoration:none;
	display:inline-block;
}
/* NEWS/BLOG */
#news ul{
	font-size:0;
	border-bottom:2px solid #ddd;
}
#news ul li{
	font-size:16px;
	position:relative;
	border-top:2px solid #ddd;
	transition:background 0.3s;
}
#news ul li:hover{
	background:#f0f0f0;
}
#news ul li .image{
	position:absolute;
	top:0;
	left:0;
	display:block;
	width:30%;
	height:100%;
	overflow:hidden;
	text-align:left;
}
#news ul li .image img{
	max-width:100%;
	height:auto;
}
#news ul li .post{
	line-height:normal;
	text-align:left;
	display:block;
	margin-left:30%;
	padding:25px 0 25px 35px;
}
#news ul li .post p{
	font-size:16px;
	line-height:26px;
	margin-bottom:0;
}
#news ul li .post a{
	text-decoration:none;
}
#news ul li .post a h2{
	color:#0099cc;
	font-size:24px;
	font-weight:700;
	line-height:34px;
	margin-bottom:18px;
	transition:color 0.2s;
	text-transform:uppercase;
}
#news ul li .post a:hover h2{
	color:#cc0000;
}
#news ul li .date{
	position:absolute;
	top:20px;
	left:20px;
	border-radius:3px;
	box-shadow:0 1px 2px rgba(0,0,0,0.1);
	text-align:center;
	text-transform:uppercase;
	display:block;
	background:#FFFFFF;
	width:60px;
	pointer-events:none;
}
#news ul li .date .month{
	display:block;
	font-size:16px;
	line-height:20px;
	padding-top:6px;
}
#news ul li .date .day{
	display:block;
	font-size:32px;
	line-height:32px;
}
#news ul li .date .year{
	display:block;
	font-size:13px;
	line-height:24px;
	padding-bottom:4px;
}
#news ul li:after{
	display:block;
	content:"";
	clear:both;
}
/* MOBILE */
@media(max-width:1279px){
	#content>div:first-child{
		margin-top:60px;
	}
	#logo{
		margin-top:8px;
	}
	#logo img{
		width:170px;
		height:auto;
	}
	#header ul{
		height:60px;
	}
	#header ul li{
		height:60px;
		line-height:60px;
	}
	#header ul li a{
		padding:0 15px;
		height:60px;
	}
	.social{
		margin-top:16px;
	}
	.social a span{
		width:30px;
		height:30px;
	}
	#headerInside{
		height:60px;
		width:auto;
		display:block;
		padding-right:15px;
	}
	.innersection{
		width:auto;
		padding:60px;
	}
	#footer .innersection{
		padding:40px;
	}
	#intro h1{
		font-size:68px;
	}
	#intro h1 .tm{
		margin-top:10px;
		font-size:20px;
	}
	#footer #footerbot{
		padding:10px 60px;
	}
}
@media(max-width:979px){
	#content{
		margin-bottom:0 !important;
	}
	#content>div:first-child{
		margin-top:50px;
	}
	#logo{
		margin-left:15px;
		margin-top:6px;
	}
	#logo img{
		width:140px;
	}
	#intro h1 span{
		display:block;
	}
	#intro h3{
		font-size:28px;
		padding:0 50px;
	}
	#mobilemenu{
		display:inline-block;
		width:50px;
		height:50px;
		opacity:0.7;
		transition:opacity 0.3s;
		background:url("../images/mobile-menu.png") no-repeat center center;
	}
	#mobilemenu:hover{
		opacity:1;
	}
	.social{
		margin-top:11px;
	}
	#header ul{
		position:absolute;
		top:54px;
		height:0;
		left:0;
		width:100%;
		background:#1a1a1a;
		overflow:hidden;
		transition:all 0.3s;
	}
	#headerInside{
		height:50px;
	}
	#header.mobileshow{
		border-bottom-color:#222;
	}
	#header.mobileshow ul{
		border-bottom:4px solid rgba(204, 0, 0, 1);
	}
	#header ul li{
		display:block;
		text-align:left;
		height:46px;
		line-height:46px;
		border-bottom:1px solid #222;
	}
	#header ul li a{
		padding:0 30px;
		height:46px;
	}
	#header ul li a:before{
		left:-20px;
		top:0;
		right:auto;
		bottom:0;
		height:auto;
		width:0;
		transition:width 0.3s ease;
	}
	#header ul li a:hover:before{
		width:calc(100% + 40px);
	}
	.innersection{
		width:auto;
		padding:40px;
	}
	.innersection h3{
	}
	.one-third{
		float:none;
		margin:0;
		width:auto;
		margin-top:30px;
	}
	.one-half{
		float:none;
		margin:0;
		width:auto;
		margin-top:30px;
	}
	#footer{
		z-index:auto;
		position:relative;
		top:auto;
		bottom:auto;
		left:auto;
		right:auto;
	}
	#footer .one-third{
		margin-top:50px;
	}
	#footer .one-third:first-child{
		margin-top:0;
	}
	#footer #footerbot{
		padding:10px 15px;
	}
	#footer .copyright{
		line-height:30px;
	}
}
@media(max-width:900px){
	#inthenews ul li{
		width:50%;
	}
	#inthenews ul li a{
		background-size:50%;
	}
}
@media(max-width:780px){
	#inthenews ul li a{
		background-size:60%;
	}
	#footer h5{
		font-size:20px;
	}
	#footer .menu li a{
		font-size:14px;
	}
	#footer p{
		font-size:14px;
		line-height:24px;
	}
	#quotes .quoteinside{
		padding:0;
	}
}
@media(max-width:650px){
	#intro h1{
		font-size:50px;
	}
	#intro h3{
		font-size:20px;
	}
	#intro h1 .tm{
		margin-top:10px;
		font-size:12px;
	}
	#intro iframe{
		width:480px;
		height:270px;
	}
	.bluebtn{
		font-size:18px;
		padding:12px 34px;
	}
	#thefacts h4{
		font-size:30px;
		font-weight:700;
		margin-bottom:4px;
	}
	#thefacts .one-third span{
		font-size:18px;
		line-height:26px;
	}
	#solutionlist{
		margin-top:0;
	}
	#thesolution h4{
		font-size:24px;
	}
}
@media(max-width:600px){
	.innersection{
		padding:30px;
	}
	#footer .innersection{
		padding:30px;
	}
	.innersection h3{
		font-size:24px;
	}
	.innersection p{
		font-size:16px;
		line-height:26px;
	}
	#inthenews ul li a{
		background-size:80%;
	}
	#news ul li .post{
		margin-left:0;
		padding:25px;
	}
	#news ul li .image{
		position:relative;
		top:auto;
		left:auto;
		margin:-25px -25px 0 -25px;
		width:auto;
		display:block;
		text-align:center;
	}
	#news ul li .post a h2{
		font-size:20px;
		line-height:30px;
	}
	#news ul li .image img{
		min-height:100px;
		width:auto;
		max-height:200px;
		margin-bottom:25px;
	}
}
@media(max-width:540px){
	#inthenews ul li{
		width:auto;
		display:block;
		height:160px;
	}
	#intro img{
		max-width:300px;
	}
	#inthenews ul li a{
		height:160px;
		background-size:50%;
	}
	.innersection{
		padding:20px;
	}
	#footer .innersection{
		padding:20px;
	}
	#intro iframe{
		width:400px;
		height:225px;
		margin-bottom:40px;
	}
	#thesolution .one-third > span{
		font-size:14px;
		line-height:24px;
	}
	#footer .one-third{
		margin-top:30px;
	}
	#footer h5{
		margin-bottom:10px;
	}
	#footer .one-third:last-child>div{
		margin:40px 0;
	}
}
@media(max-width:420px){
	#intro h1{
		font-size:40px;
	}
	#intro h1 .tm{
		margin-top:5px;
		font-size:10px;
	}
	#header .social{
		display:none;
	}
	#intro iframe{
		width:310px;
		height:174px;
		margin-bottom:40px;
	}
	#footer .copyright{
		display:block;
		text-align:center;
		float:none;
	}
	#footer .social{
		display:block;
		text-align:center;
		float:none;
	}
}

/* === Flexbox Utilities from Tailwind === */

/* Display */
.flex {
  display: flex;
}
.inline-flex {
  display: inline-flex;
}

/* Flex Direction */
.flex-row {
  flex-direction: row;
}
.flex-row-reverse {
  flex-direction: row-reverse;
}
.flex-col {
  flex-direction: column;
}
.flex-col-reverse {
  flex-direction: column-reverse;
}

/* Flex Wrap */
.flex-wrap {
  flex-wrap: wrap;
}
.flex-wrap-reverse {
  flex-wrap: wrap-reverse;
}
.flex-nowrap {
  flex-wrap: nowrap;
}

/* Flex Grow / Shrink */
.flex-1 {
  flex: 1 1 0%;
}
.flex-auto {
  flex: 1 1 auto;
}
.flex-initial {
  flex: 0 1 auto;
}
.flex-none {
  flex: none;
}
.flex-grow {
  flex-grow: 1;
}
.flex-grow-0 {
  flex-grow: 0;
}
.flex-shrink {
  flex-shrink: 1;
}
.flex-shrink-0 {
  flex-shrink: 0;
}


/* Justify Content */
.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; }
.justify-evenly { justify-content: space-evenly; }

/* Align Items */
.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; }

/* Align Content */
.content-center { align-content: center; }
.content-start { align-content: flex-start; }
.content-end { align-content: flex-end; }
.content-between { align-content: space-between; }
.content-around { align-content: space-around; }
.content-evenly { align-content: space-evenly; }

/* Align Self */
.self-auto { align-self: auto; }
.self-start { align-self: flex-start; }
.self-end { align-self: flex-end; }
.self-center { align-self: center; }
.self-stretch { align-self: stretch; }
.self-baseline { align-self: baseline; }

/* Place Content */
.place-content-center { place-content: center; }
.place-content-start { place-content: start; }
.place-content-end { place-content: end; }
.place-content-between { place-content: space-between; }
.place-content-around { place-content: space-around; }
.place-content-evenly { place-content: space-evenly; }
.place-content-stretch { place-content: stretch; }

/* Place Items */
.place-items-start { place-items: start; }
.place-items-end { place-items: end; }
.place-items-center { place-items: center; }
.place-items-stretch { place-items: stretch; }

/* Place Self */
.place-self-auto { place-self: auto; }
.place-self-start { place-self: start; }
.place-self-end { place-self: end; }
.place-self-center { place-self: center; }
.place-self-stretch { place-self: stretch; }