/*
Theme Name: Alpha Omega
Theme URI: http://justinmoody.com
Author: Justin Moody / Susan Horak
Author URI: http://www.justinmoody.com
Description: Barebones Theme, Optimized for Speed
Version: 1.0
*/

/* GLOBAL */
	/* HTML & Body */
	html, body { margin: 0 !important; padding: 0 !important; }

	body {
		font: 300 1.125rem/1.625rem 'JosefinSans', sans-serif;
		color: #fff;
		background-color: #222;
		overflow-x: hidden;
	}

	body.locked { overflow: hidden; }

	/* Headings & Paragraph */
	h1,h2,h3,h4,h5,h6,p {
		margin: 0;
		padding: 0 0 1.875rem;
	}

	h1 { font: 700 2.5rem/3rem 'JosefinSans', sans-serif; }
	h2 { font: 700 2.25rem/2.75rem 'JosefinSans', sans-serif; }
	h3 { font: 700 2rem/2.5rem 'JosefinSans', sans-serif; }
	h4 { font: 700 1.75rem/2.25rem 'JosefinSans', sans-serif; }
	h5 { font: 700 1.5rem/2rem 'JosefinSans', sans-serif; }
	h6 { font: 700 1.25rem/1.75rem 'JosefinSans', sans-serif; }

	h1.headline { 
		font: 700 3.4375rem/3.9375rem 'JosefinSans', sans-serif; 
		text-shadow: 0 0 0.125rem #000;
	}

	h1.headline span {
		display: block;
		margin: 0.625rem 0 1.25rem;
		font: 300 2.8125rem/3.3125rem 'JosefinSans', sans-serif;
	}

    h2.headline { 
		font: 700 2.5rem/3rem 'JosefinSans', sans-serif; 
		text-shadow: 0 0 0.125rem #000;
	}

	h2.border-title {
		margin: 0 0 1.25rem;
		padding: 0 0 1.25rem;
		position: relative;
		text-align: center;
		text-transform: uppercase;
	}

	h2.border-title:after {
		content: " ";
		position: absolute;
		bottom: 0;
		left: 50%;
		margin-left: -3.125rem;
		width: 6.25rem;
		height: 0.0625rem;
		background: rgb(142,0,255); /* Old browsers */
		background: -moz-linear-gradient(left, rgba(142,0,255,1) 0%, rgba(142,0,255,1) 50%, rgba(0,176,255,1) 50%, rgba(0,176,255,1) 100%); /* FF3.6-15 */
		background: -webkit-linear-gradient(left, rgba(142,0,255,1) 0%,rgba(142,0,255,1) 50%,rgba(0,176,255,1) 50%,rgba(0,176,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right, rgba(142,0,255,1) 0%,rgba(142,0,255,1) 50%,rgba(0,176,255,1) 50%,rgba(0,176,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8e00ff', endColorstr='#00b0ff',GradientType=1 ); /* IE6-9 */
	}

	/* Images */
	img {
		max-width: 100%;
		height: auto;
		border: 0 none;
	}

	/* Links */
	a,a:visited {
		color: #fff;
		text-decoration: none;
	}

	a:hover { 
		color: #fff;
		text-decoration: none; 
		text-shadow: 0 0 0.25rem #fff;
	}

	/* Outlines */
	*:focus { outline: none; }

	/* Placeholder */
	::placeholder {
	    color: #fff;
	    opacity: 0.8;
	}

	/* Semi-Fluid Containers */
    .container-semifluid {
    	position: relative;
        width: 100%;
        max-width: 100rem;
        padding-right: 0.9375rem;
        padding-left: 0.9375rem;
        margin-right: auto;
        margin-left: auto;
        box-sizing: border-box;
    }

	/* Height Fix */
	.height-fix { min-height: 100vh; }

	/* Particles */
	.particles {
		position: absolute !important;
		top: 0;
		left: 0;
		width: 100%;
	}

	.button-link { text-align: center; }

	.button-link a, .button-link a:visited, input[type=submit] {
		cursor: pointer;
		display: inline-block;
		min-width: 15.625rem;
		margin: 1.25rem;
		padding: 1.25rem;
		font: 400 0.875rem/0.875rem 'JosefinSans', sans-serif;
		color: #fff;
		text-transform: uppercase;
		text-align: center;
		border-radius: 2.5rem;
		border: 0 none;
		background: #6e54a3; /* Old browsers */
		background: -moz-linear-gradient(left, #6e54a3 0%, #459fd8 100%);
		background: -webkit-linear-gradient(left, #6e54a3 0%,#459fd8 100%);
		background: linear-gradient(to right, #6e54a3 0%,#459fd8 100%);
	}

	.button-link.small a, .button-link.small a:visited {
		min-width: 0;
		margin: 0.5rem;
		padding: 1rem 1.2rem;
	}

	.button-link a:hover, button:hover, input[type=submit]:hover {
		background: #6e54a3; /* Old browsers */
		background: -moz-linear-gradient(left, #459fd8 0%, #6e54a3 100%);
		background: -webkit-linear-gradient(left, #459fd8 0%,#6e54a3 100%);
		background: linear-gradient(to right, #459fd8 0%,#6e54a3 100%);
	}

    .grad-link {
        box-sizing: border-box;
        display: block;
        margin: 0 1.5625rem 2.5rem !important;
        padding: 1.25rem 0.625rem 1.25rem;
        font: 400 0.875rem/0.25rem 'JosefinSans', sans-serif;
		color: #fff;
        text-align: center;
        background: none;
        border: none;
        border-top: 0.125rem solid #7401d2;
        border-bottom: 0.125rem solid #7401d2;
        border-image: linear-gradient(to right, #7401d2 0%, #0097db 100%);
        border-image-slice: 1;
        position: relative;
        text-transform: uppercase;
        transition: background 0.3s;
        color: #fff;
        cursor: pointer;
    }

    .grad-link.inline-block { display: inline-block; }
    .grad-link:before, .grad-link:after {
        content: '';
        display: block;
        width: 1.5625rem;
        height: calc(100% + 0.25rem);
        border-radius: 3em 0 0 3em;
        border: 0.125rem solid #7401d2;
        position: absolute;
        border-right: none;
        transition: background 0.3s;
        left: -1.5625rem;
        top: -0.125rem;
        box-sizing: border-box;
    }
    .grad-link:after {
        border-radius: 0 3em 3em 0;
        border: 0.125rem solid #0097db;
        position: absolute;
        border-left: none;
        left: auto;
        right: -1.5625rem;
        top: -0.125rem;
    }
    .grad-link:hover {
        background: rgba(0, 0, 0, 0.3);
    }
    .grad-link:hover:after, .grad-link:hover:before {
        background: rgba(0, 0, 0, 0.3);
    }

    .grad-link br {
    	display: none;
    }

    /* Circle Background 8 but it should be 12 */
    .circle-bg { position: relative; }
    
	.circle-bg .circle, 
	.circle-bg .circle:before, 
	.circle-bg .circle:after,
	.circle-bg .circle span,
	.circle-bg .circle span:before,
	.circle-bg .circle span:after {
		content: " ";
		position: absolute;
		display: block;
		border: 0.0625rem solid #666;
        border-radius: 100%;
        box-shadow: 0 0 0.0625rem 0rem #666 inset, 0 0 0.0625rem 0rem #666;
	}

	.circle-bg .circle:before, 
	.circle-bg .circle:after,
	.circle-bg .circle span,
	.circle-bg .circle span:before,
	.circle-bg .circle span:after { padding: 1.25rem; }


    .circle-bg .circle {
        top: 50%;
        left: 50%;
        transform: translate(-50%,-50%);
        width: 6.25rem;
        height: 6.25rem;
         -webkit-animation: circleGrow linear 15s infinite;
         	     animation: circleGrow linear 15s infinite;
    }

    .circle-bg .circle.left {
    	left: 25%;
    	transform: translate(-25%,-50%);
    }

    .circle-bg .circle:before {
        top: -0.9375rem;
        left: -0.9375rem;
        width: calc(100% + 1.875rem);
        height: calc(100% + 1.875rem);
    }

    .circle-bg .circle:after {
        top: -1.875rem;
        left: -1.875rem;
        width: calc(100% + 3.75rem);
        height: calc(100% + 3.75rem);
    }

    .circle-bg .circle > span {
    	top: -2.8125rem;
    	left: -2.8125rem;
    	width: calc(100% + 5.625rem);
        height: calc(100% + 5.625rem);
    }

    .circle-bg .circle > span:before {
    	top: -0.9375rem;
    	left: -0.9375rem;
    	width: calc(100% + 1.875rem);
        height: calc(100% + 1.875rem);
    }

    .circle-bg .circle > span:after {
    	top: -1.875rem;
    	left: -1.875rem;
    	width: calc(100% + 3.75rem);
        height: calc(100% + 3.75rem);
    }

    .circle-bg .circle > span > span {
    	top: -2.8125rem;
    	left: -2.8125rem;
    	width: calc(100% + 5.625rem);
        height: calc(100% + 5.625rem);
    }

    .circle-bg .circle > span > span:before {
    	top: -0.9375rem;
    	left: -0.9375rem;
    	width: calc(100% + 1.875rem);
        height: calc(100% + 1.875rem);
    }

    .circle-bg .circle > span > span:after {
    	top: -1.875rem;
    	left: -1.875rem;
    	width: calc(100% + 3.75rem);
        height: calc(100% + 3.75rem);
    }

	/* Animation Rules */
	@keyframes circleGrow{
		0% {
			width: 6.25rem;
			height: 6.25rem;
		}
		50% {
			width: 9.375rem;
			height: 9.375rem;
		}
		100% {
			width: 6.25rem;
			height: 6.25rem;
		}
	}

	.animated.delay-1s {
		-webkit-animation-delay: 1s;
		animation-delay: 1s;
	}

	.animated.delay-2s {
		-webkit-animation-delay: 2s;
		animation-delay: 2s;
	}

	.animated.delay-3s {
		-webkit-animation-delay: 3s;
		animation-delay: 3s;
	}

	.animated.delay-4s {
		-webkit-animation-delay: 4s;
		animation-delay: 4s;
	}

	.animated.delay-5s {
		-webkit-animation-delay: 5s;
		animation-delay: 5s;
	}

	.animated.fast {
		-webkit-animation-duration: 800ms;
		animation-duration: 800ms;
	}

	.animated.faster {
		-webkit-animation-duration: 500ms;
		animation-duration: 500ms;
	}

	.animated.slow {
		-webkit-animation-duration: 2s;
		animation-duration: 2s;
	}

	.animated.slower {
		-webkit-animation-duration: 3s;
		animation-duration: 3s;
	}

	@media (prefers-reduced-motion) {
		.animated {
			-webkit-animation: unset !important;
			animation: unset !important;
			-webkit-transition: none !important;
			transition: none !important;
		}
	}

	/* Gravity Forms */
	.gform_fields {
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.gform_fields li { text-align: left; }

	.gform_body .hidden_label > label { display: none; }

	.privacy-print label {
		display: inline;
		font: 400 0.875rem/1.375rem 'JosefinSans', sans-serif;
	}

	.gfield_checkbox {
		margin: 0;
		padding: 0;
		list-style: none;
		text-align: left;
	}

/* HEADER */
	#header {
		position: fixed;
		z-index: 2500;
		top: 0;
		left: 0;
		width: 100%;
		min-height: 3.125rem;
		background-color: transparent;
		transition: background-color 0.3s ease;
	}

	.admin-bar #header { top: 32px; }

	#header.compact { background-color: rgba(0,0,0,0.6); }

	#header .logo, #header .phone {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 15.625rem;
		transition: width 0.3s ease;
	}

	#header.compact .logo, #header.compact .phone { width: 9.375rem; }

	#header .logo { left: 2.5rem; }

	#header .phone {
		right: 2.5rem;
		font: 400 1.125rem/1.625rem 'JosefinSans', sans-serif; 
		text-align: right; 
	}

	/* Navigation */
		#menu-toggle {
			position: absolute;
		    left: -1.875rem;
		    font-size: 1.5rem;
		    cursor: pointer;
		    display: none;
		}

		#main-navigation { 
			margin: 0 20.625rem; 
			transition: margin 0.3s ease;
		}

		#main-navigation #close-menu {
			position: absolute;
			top: 2.5rem;
			right: 2.5rem;
			cursor: pointer;
			font-size: 2.5rem;
			line-height: 2.5rem;
			display: none;
		}

		#header.compact #main-navigation { margin: 0 15.625rem; }

		#main-navigation > ul {
			margin: 0;
			padding: 0;
			list-style: none;
			text-align: center;
			font-size: 0;
		}

		#main-navigation > ul > li {
			position: relative;
			display: inline-block;
			font: 300 1.375rem/1.875rem 'JosefinSans', sans-serif;
			transition: background-color 0.6s ease;
		}

		#main-navigation > ul > li:hover {
			background-color: rgba(69,159,216,0.8);
		}

		#main-navigation > ul > li > a, #main-navigation > ul > li > a:visited {
			display: block;
			padding: 3.125rem 1.875rem;
			color: #fff;
			transition: padding 0.3s ease;
		}

		.sub-menu {
			position: absolute;
			margin: 0;
			padding: 0;
			list-style: none;
			text-align: left;
			background-color: rgba(69,159,216,0.8);
			top: calc(100% + 6.25rem);
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.3s ease, visibility 0.3s ease, top 0.3s ease;
		}

		#main-navigation li:hover > .sub-menu {
			opacity: 1;
			visibility: visible;
			top: 100%;
		}

		.sub-menu > li {
			display: block;
			white-space: nowrap;
			font-weight: 700;
			font-size: 1rem;
			line-height: 1.5rem;
		}

		.sub-menu > li > a {
			display: block;
			padding: 0.9375rem;
		}

		#header.compact #main-navigation > ul > li > a { padding: 1.875rem 1.25rem; }

/* PAGE LAYOUT */
	section { position: relative; }

	section.half {
		height: 50vh;
		max-height: 540px;
	}

	.content-overlay.centered {
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		width: 100%;
	}


	/* Contact Forms */
	.contact-form {
		position: relative;
		overflow: hidden;
		z-index: 2;
		display: inline-block;
		width: 100%;
		max-width: 28.125rem;
		padding: 2.5rem;
		background-color: rgba(0,0,0,0.6);
		box-sizing: border-box;
	}

	.contact-form:before {
		content: " ";
		position: absolute;
		z-index: -1;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		/*filter: blur(0.625rem);
	    -webkit-filter: blur(0.625rem);
	    -moz-filter: blur(0.625rem);
	    -o-filter: blur(0.625rem);
	    -ms-filter: blur(0.625rem);
	    box-shadow: inset 0 0 0 187.5rem rgba(32,45,60,0.6);*/
	}

	input[type=text], input[type=email], input[type=tel], input[type=url], textarea {
		width: 100%;
		margin: 0 0 1.25rem;
		padding: 10px 0;
		font: 300 1.125rem/1.625rem 'JosefinSans', sans-serif;
		color: #fff;
		border: 0 none;
		background-color: transparent;
		border-bottom: 2px solid #44a9df;
	}

	/* Gravity Forms */
	.gf_left_half, .gf_right_half {
		float: left;
		width: 50%;
		box-sizing: border-box;
	}

	.gf_left_half { padding-right: 0.625rem; }
	.gf_right_half { padding-left: 0.625rem; }

	.gf_right_half:after {
		content: "";
		clear: both;
		height: 0;
	}

	.gfield_error input[type=text], 
	.gfield_error input[type=email],  
	.gfield_error input[type=tel], 
	.gfield_error textarea {
		border-color: #e50000;
	}

	.gfield_error .gfield_checkbox {
		border-bottom: 2px solid #e50000;
	}

	.validation_message { display: none; }

	textarea {
		height: 3rem;
		max-height: 150px;
		resize: none;
		margin: 0 0 1.25rem;
	}

	.gform_footer { text-align: right; }

	/* HOME */
		/* Intro */
		#intro p {
			font: 400 1.375rem/1.875rem 'JosefinSans', sans-serif;
		}

		#intro.static {
			background: url(images/intro-bg.jpg) no-repeat center center;
			background-attachment: fixed;
			background-size: cover;
		}

		/* About */
		#about {
			background: url(images/about-bg.jpg) no-repeat center center;
			background-attachment: fixed;
			background-size: cover;
		}

		#about .center-rows > .row:first-child { margin-bottom: 2.5rem; }
		#about .center-rows > .row:last-child { margin-top: 2.5rem; }

		#about .years {
			position: relative;
			z-index: 100;
			text-align: center;
			font-weight: 500;
			font-size: 25rem;
			line-height: 16.25rem;
			color: #4b5fee;
		}

		#about .years .label {
			display: inline-block;
			position: relative;
			top: -6.25rem;
			font-weight: 500;
			font-size: 4.375rem;
			text-transform: uppercase;
			font-style: normal;
			color: #4b5fee;
		}

		#about .years span {
			display: block;
			font: 300 1.875rem/2.375rem 'JosefinSans', sans-serif;
			font-style: italic;
			color: #fff;
			text-align: center;
		}

		
		#about .cycle-slideshow { margin: 0 0 0 6.25rem; }

		.slide-max {
			max-width: 31.25rem;
			margin: 0 auto;
		}

		/* Services */
		.services-points:before {
			content: " ";
			display: block;
			position: absolute;
			z-index: 9000;
			top: 50%;
			left: 0;
			width: 100%;
			height: 0.0625rem;
			transform: translateY(-50%);
			background-color: #8c00fc;
		}

		/*.service-line.top {
			border-left: 1px solid #8c00fc;
		}*/

		/*.service-line.bottom {
			border-right: 1px solid #8c00fc;
		}*/

		.service-line .vc_column-inner {
			position: relative;
		}


		.service-line.top:after {
			content: " ";
			position: absolute;
			top: 25%;
			left: -0.4375rem;
			width: 0.9375rem;
			height: 0.9375rem;
			background: rgb(142,0,255); /* Old browsers */
			background: -moz-linear-gradient(45deg, rgba(142,0,255,1) 0%, rgba(0,176,255,1) 100%); /* FF3.6-15 */
			background: -webkit-linear-gradient(45deg, rgba(142,0,255,1) 0%,rgba(0,176,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
			background: linear-gradient(45deg, rgba(142,0,255,1) 0%,rgba(0,176,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
			filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8e00ff', endColorstr='#00b0ff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
			border-radius: 100%;
		}

		.service-line.top:before {
			content: " ";
			position: absolute;
			bottom: 0;
			left: 0;
			width: 0.0625rem;
			height: 75%;
			background-color: #8c00fc;
			transition: background-color 0.5s ease;
		}

		.service-line.top:hover:before, .service-line.bottom:hover:before {
			background-color: #00b0ff;
		}

		.service-line.top .vc_column-inner:after {
			content: " ";
			position: absolute;
			bottom: -1.5625rem;
			left: -1.5625rem;
			width: 3.125rem;
			height: 3.125rem;
			background-color: #11122e;
			border: 0.0625rem solid #8c00fc;
			border-radius: 100%;
			transition: border 0.5s ease;
		}

		.service-line.top:hover .vc_column-inner:after, .service-line.bottom:hover .vc_column-inner:after {
			border-color: #00b0ff;
		}

		.service-line.top .wpb_text_column { padding: 0 0 0 20px; }

		.service-line.bottom:after {
			content: " ";
			position: absolute;
			bottom: 25%;
			right: -0.4375rem;
			width: 0.9375rem;
			height: 0.9375rem;
			background: rgb(142,0,255); /* Old browsers */
			background: -moz-linear-gradient(45deg, rgba(142,0,255,1) 0%, rgba(0,176,255,1) 100%); /* FF3.6-15 */
			background: -webkit-linear-gradient(45deg, rgba(142,0,255,1) 0%,rgba(0,176,255,1) 100%); /* Chrome10-25,Safari5.1-6 */
			background: linear-gradient(45deg, rgba(142,0,255,1) 0%,rgba(0,176,255,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
			filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#8e00ff', endColorstr='#00b0ff',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
			border-radius: 100%;
		}

		.service-line.bottom:before {
			content: " ";
			position: absolute;
			top: 0;
			right: 0;
			width: 0.0625rem;
			height: 75%;
			background-color: #8c00fc;
			transition: background-color 0.5s ease;
		}

		.service-line.bottom .vc_column-inner:after {
			content: " ";
			position: absolute;
			top: -1.5625rem;
			right: -1.5625rem;
			width: 3.125rem;
			height: 3.125rem;
			background-color: #11122e;
			border: 0.0625rem solid #8c00fc;
			border-radius: 100%;
			transition: border 0.5s ease;
		}

		.service-line.bottom .wpb_text_column { padding: 0 1.25rem 0 0; }

		.service-line .wpb_content_element { margin-bottom: 0; }

		.service-line h4 { font-weight: 400; }

		/* Team */
		.row.members {
			margin-bottom: 2rem;
		}

		.row.members:last-child {
			margin-bottom: 0;
		}

		.member {  
			min-height: 15.625rem;
		}

		.member.small { cursor: pointer; }

		.member:before {
			content: " ";
			position: absolute;
			z-index: -1;
			top: 0;
			left: 15px;
			bottom: 0;
			right: 15px;
			background-color: rgba(15,17,69,0.5);
			transition: background-color 0.3s ease;
		}

		.member .wrapper { 
			position: relative;
			padding: 1.25rem; 
			text-align: center;
		}

		.member:hover:before { background-color: rgba(80,80,80,0.5); }

		.member img {
			display: inline-block;
			margin: 0 0 1.25rem;
			overflow: hidden;
			border-radius: 100%;
		}

		.member.small img {
			-webkit-filter: grayscale(100%);
    		filter: grayscale(100%);
		}

		.member:hover img {
			-webkit-filter: grayscale(0%); /* Safari 6.0 - 9.0 */
    		filter: grayscale(0%);
		}

		.member.small img { 
			width: 7.8125rem;
			height: 7.8125rem;
		}

		.member.large img {
			width: 7.8125rem;
			height: 7.8125rem;
		}

		.member .position { margin: 0 0 1.25rem; }

		.member.small .name {
			font: 400 1.125rem/1.625rem 'JosefinSans', sans-serif;
		}

		.member .small .position {
			font: 300 1rem/1.5rem 'JosefinSans', sans-serif;
		}

		.member.large .name {
			font: 500 1.5rem/2rem 'JosefinSans', sans-serif;
		}

		.member .large .position {
			font: 400 1.25rem/1.75rem 'JosefinSans', sans-serif;
		}

		.member .bio { 
			font: 300 1rem/1.5rem 'JosefinSans', sans-serif;
			text-align: left; 
		}

		.member.small .bio { display: none; }

		.member .social-links {
			position: absolute;
			bottom: .5rem;
			left: 1.25rem;
			right: 1.25rem;
			box-sizing: border-box;
		}

		.member .social-links .wrapper {
			position: relative;
			display: inline-block;
			padding: 0 3.75rem;
		}

		.member .social-links .wrapper:before, .member .social-links .wrapper:after {
			content: " ";
			position: absolute;
			top: 50%;
			transform: translateY(-50%);
			height: 0.0625rem;
			width: 2.5rem;
			background-color: #fff;
		}
		
		.member .social-links .wrapper:before { left: 0; }

		.member .social-links .wrapper:after { right: 0; }

		.member .social-links a, .member .social-links a:visited {
			display: inline-block;
			margin: 0 0.5rem;
			width: 2.5rem;
			height: 2.5rem;
			font-size: 1.25rem;
			line-height: 2.5rem;
			text-align: center;
			border: 0.0625rem solid #fff;
			border-radius: 100%;
			transition: background-color 0.3s ease;
		}

		.member.small .social-links a, .member.small .social-links a:visited {
			margin: 0 0.25rem;
			width: 1.75rem;
			height: 1.75rem;
			font-size: 1rem;
			line-height: 1.75rem;
			transition: background-color 0.3s ease;
		}

		.member .social-links a:hover { background-color: #000; }

		.member.small .social-links .wrapper {
			padding: 0 1.5625rem;
		}

		.member.small .social-links .wrapper:before, .member.small .social-links .wrapper:after {
			width: 1.25rem;
		}

		/* News */
		.news-columns .article { margin: 0 0 2.5rem; }

		.news-columns figure.thumbnail { margin: 0; }

		.news-columns header { margin-top: 1.25rem; }
 
		.news-columns header h3 {
			padding: 1.25rem 0;
			font: 500 1.25rem/1.75rem 'JosefinSans', sans-serif;
		}

		/* FAQ */
		.gi-accordion {
			max-width: 31.25rem;
			margin: 0 auto;
		}

		.gi-accordion .tab {
			cursor: pointer;
			margin: 0 0 1.25rem;
		}

		.gi-accordion .tab .content {
			cursor: text;
			max-height: 0;
			overflow: hidden;
			transition: max-height 0.3s ease;
		}

		.gi-accordion .tab.active .content {
			max-height: 31.25rem;
		}

		.gi-accordion .tab .content p {
			padding: 1.25rem;
		}

		.gi-accordion .tab .toggle {
			padding: 1.875rem 3.125rem 1.5625rem;
			position: relative;
			border: 0.0625rem solid #3d59e8;
			border-radius: 2.5rem;
			font-weight: 500;
			line-height: 0;
		}

		/* Blog */
		/*.blog-post { position: relative; }

		.blog-post figure {
			width: 300px;
			float: left;
		}

		.blog-post .post-content {
			margin-left: 420px;
		}*/

	/* SEM Rush */
	#ssa-widget {
		background: rgba(0,0,0,0.4) !important;
		border: 0 none !important;
		border-radius: 0 !important;
	}

	#ssa-widget input[type=submit] {
		margin: 0;
		min-width: auto;
		width: 100%;
		max-width: auto;
	}

	/* VC Addons */
	.counter_prefix { margin-right: 0.4rem; }

/* FOOTER */

	.social-icons-footer {
		font-size: 1.875rem;
		line-height: 2.375rem;
	}

	.social-icons-footer a, .social-icons-footer a:visited {
		display: inline-block;
		margin: 0 2px;
	}

/* RESPONSIVE */
	/* 1700 */
	@media screen and (max-width: 106.25rem) {
		#header .logo, #header .phone { width: 150px; }

		#header #main-navigation { margin: 0 250px; }

		#header #main-navigation > ul > li > a { padding: 1.875rem 1.25rem; }


		#main-navigation > ul > li > a, #main-navigation > ul > li > a:visited {
			padding: 3.125rem 1.25rem;
		}
	}

	/* 1400 */
	@media screen and (max-width: 87.5rem) {
		#header { position: absolute; }

		#header .logo {
			position: relative;
			top: auto;
			left: auto;
			margin: 1.25rem 2.5rem;
			transform: none;
		}

		#menu-toggle { display: inline-block; }

		#main-navigation {
			position: fixed;
			z-index: 6000;
			top: 0;
			left: -100%;
			margin: 0 !important;
			width: 100%;
			height: 100%;
			box-sizing: border-box;
			background-color: rgba(0,0,0,0.9);
			opacity: 0;
			visibility: hidden;
			transition: opacity 0.5s ease, visibility 0.5s ease, left 0.3s ease;
		}

		#main-navigation.shown { opacity: 1; visibility: visible; left: 0; }

		#main-navigation #close-menu { display: inline-block; }

		#main-navigation > ul {
			position: fixed;
			z-index: 6500;
			top: 50%;
			left: -100%;
			width: 100%;
			transform: translateY(-50%);
		}

		#main-navigation.shown > ul { left: 0; }

		#main-navigation > ul > li { display: block; }

		#header #main-navigation > ul > li > a, #header #main-navigation > ul > li > a:visited { padding: 1.25rem; }

		#header #main-navigation > ul > li { background-color: transparent; }

		#header #main-navigation > ul > li.menu-item-has-children > a {
			padding: 1.25rem 1.25rem 1rem;
		}

		.sub-menu {
			position: relative;
			top: auto;
			text-align: center;
			opacity: 1;
			visibility: visible;
			background-color: transparent;
		}

		.sub-menu > li {
			display: inline-block;
		}
	}

	/* 1337 */
	@media screen and (max-width: 83.5625rem) {
		#about .years {
			font-size: 200px;
			line-height: 160px;
		}

		#about .years .label { top: -2.5rem; font-size: 2.5rem; }

	    .grad-link {
	        box-sizing: border-box;
	        display: block;
	        margin: 0 1.5625rem 2.5rem !important;
	        padding: 1.25rem 0.625rem 1.25rem;
	        font: 400 0.875rem/1.375rem 'JosefinSans', sans-serif;
			color: #fff;
	        text-align: center;
	        background: none;
	        border: none;
	        border-top: 0.125rem solid #7401d2;
	        border-bottom: 0.125rem solid #7401d2;
	        border-image: linear-gradient(to right, #7401d2 0%, #0097db 100%);
	        border-image-slice: 1;
	        position: relative;
	        text-transform: uppercase;
	        transition: background 0.3s;
	        color: #fff;
	        cursor: pointer;
	    }
	}

	/* 500 */
	@media screen and (max-width: 31.25rem) {
		/* HEADER */
			#header { padding: 1.25rem 0; }
			#header .logo, #header .phone {
				position: relative;
				top: auto;
				left: auto;
				right: auto;
				transform: none;
				width: auto;
				text-align: center;
			}

			#header .logo img { max-width: 12.5rem; }

			#menu-toggle { position: relative; left: auto; margin-right: 0.625rem;}

		/* PAGE LAYOUT */

		h1.headline { font: 700 2.1875rem/2.6875rem 'JosefinSans', sans-serif; }

		h1.headline span { font: 300 1.5625rem/2.0625rem 'JosefinSans', sans-serif; }
	}

	@media (min-width: 120.625em) {
	  :root {
	    font-size: calc(1.1875rem + ((1vw - 1.3rem) * 1.0417));
	  }

	  /* HEADER */
	  #main-navigation { margin: 0 18.625rem; }
	}