/*
Theme Name: International Gene Synthesis Consortium
Version: 1.0.0


Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Normalize

# Typography

# Elements
## Header
## Footer

# Sections
## Intro
## Buckets
## News
## About
## Members
## Resources
## Contact

# Media Queries

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Normalize
--------------------------------------------------------------*/

* {
	box-sizing: border-box;
}

html {
	font-family: sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust:     100%;
}

body {
	margin: 0;
	color: #7d868c;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary {
	display: block;
}

audio,
canvas,
progress,
video {
	display: inline-block;
	vertical-align: baseline;
}

audio:not([controls]) {
	display: none;
	height: 0;
}

[hidden],
template {
	display: none;
}

a {
	background-color: transparent;
}

a:active,
a:hover {
	outline: 0;
}

abbr[title] {
	border-bottom: 1px dotted;
}

b,
strong {
	font-weight: bold;
}

dfn {
	font-style: italic;
}

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

.error404 h1 {
	font-family: 'Lora', serif;
    font-size: 64px;
    font-size: 3.6vw;
}

mark {
	background: #ff0;
	color: #000;
}

small {
	font-size: 80%;
}

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sup {
	top: -0.5em;
}

sub {
	bottom: -0.25em;
}

img {
	border: 0;
}

svg:not(:root) {
	overflow: hidden;
}

figure {
	margin: 1em 40px;
}

hr {
	box-sizing: content-box;
	height: 0;
}

pre {
	overflow: auto;
}

code,
kbd,
pre,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

button,
input,
optgroup,
select,
textarea {
	color: inherit;
	font: inherit;
	margin: 0;
}

button {
	overflow: visible;
}

button,
select {
	text-transform: none;
}

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
	-webkit-appearance: button;
	cursor: pointer;
}

button[disabled],
html input[disabled] {
	cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
	padding: 0;
}

input {
	line-height: normal;
}

input[type="checkbox"],
input[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}

legend {
	border: 0;
	padding: 0;
}

textarea {
	overflow: auto;
}

optgroup {
	font-weight: bold;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

td,
th {
	padding: 0;
}

/*--------------------------------------------------------------
# Typography
--------------------------------------------------------------*/

/*
font-family: 'Quattrocento Sans', sans-serif;
font-family: 'Lora', serif;
*/

section h3 {
	font-family: 'Lora', serif;
	color:#7d868c;
	font-size:48px;
    font-size: 2.6vw;
	font-weight:100;
	margin:0;
	margin-bottom:20px;
	line-height:1.1em;
}

section h4 {
	display: inline-block;
    font-family: 'Quattrocento Sans', sans-serif;
    margin: 0px;
    color:#7d868c;
    font-size: 20px;
    font-size: 1.4vw;
    font-weight: 700;
    text-transform: uppercase;
}

section p,
section ul {
	font-family: 'Lora', serif;
	color:#7d868c;
	font-size:18px;
    font-size: 1.2vw;
	font-weight:100;
	line-height:1.7em;
	margin:0;
	margin-bottom:15px;
}

section a {
	color: #007dbb;
    text-decoration: none;
}

section a:hover {
	color:#005e8c;
}

section ul {
	list-style:none;
}

/*--------------------------------------------------------------
# Elements
--------------------------------------------------------------*/

/*
Grey: #7d868c;
*/

#page {
	position:relative;
	display:block;
	margin:0;
	overflow:hidden;
	width:100%;
	
}

.page-container {
	max-width:1150px;
	width:100%;
	margin:auto;
	position:relative;
	display:block;
}

.error404 .page-content {
	min-height:600px;
	text-align: center;
}

#primary section {
	display:flex;
	position:relative;
}

.anchor-link {
	position:absolute;
	display:block;
    top: -175px;
}

/*#topline,
#bottomline {
	position:fixed;
	display:none;
	width:100%;
	height:3px;
	left:0;
	right:0;
    z-index: 10000000;
    background: red;
}

.logged-in #topline,
.logged-in #bottomline {
	display:none;
}
*/
/*--------------------------------------------------------------
## Header
--------------------------------------------------------------*/

.site-branding {
	display:flex;
	align-items: center;
	padding:15px 0px;
}

.site-logo {
	width:300px;
	height:100px;
	flex-basis:300px;
	position:relative;
	display:block;
	background-image:url('img/logo.svg');
	background-size:100%;
	background-position: center center;
	background-repeat: no-repeat;
	text-indent:-9999px;
	margin:0px;	
}

.main-navigation {
	flex-basis:auto;
	flex-grow: 1;
}

.main-navigation ul{
	width:100%;
	list-style:none;
	text-align: right;
	padding:0;
	margin:0;
}

.main-navigation ul > li {
	position:relative;
	display: inline-block;
}

.main-navigation ul > li > a {
	position: relative;
	display: block;
	font-family: 'Quattrocento Sans', sans-serif;
	text-decoration: none;
	color:transparent;
	text-transform: uppercase;
	margin:0px 25px;
	padding:20px 0px;
}

.main-navigation ul > li:last-child > a {
	margin-right:0px;
}

.main-navigation ul > li > a::before {
	content:"";
	position:absolute;
	width:100%;
	height:3px;
	top: 10px;
	opacity:0;
    left: 0;
    right: 0;
    transform:scaleX(0);
    transition:transform .25s ease, opacity .25s ease;
    transition-delay:.15s;
}

.main-navigation ul > li > a span::before,
.main-navigation ul > li > a span::after {
	content:attr(data-title);
	position:absolute;
	display:block;
	line-height:1.1em;
	transition:all .35s ease;
}

.main-navigation ul > li > a span::before {
	color:#7d868c;
	bottom:20px;
	opacity:1;
	transform: scale(1);

}

.main-navigation ul > li > a span::after{
	bottom:35px;
	opacity:0;
	transform: scale(0);
}

.main-navigation ul > li.about > a::before {
	background-color:#c4d600;
}
.main-navigation ul > li.about > a span::after{
	color:#c4d600;
}

.main-navigation ul > li.members > a::before {
	background-color:#005189;
}
.main-navigation ul > li.members > a span::after {
	color:#005189;
}

.main-navigation ul > li.resources > a::before {
	background-color:#009aa6;
}
.main-navigation ul > li.resources > a span::after {
	color:#009aa6;
}

.main-navigation ul > li.contact > a::before{
	background-color:#f3a800;
}
.main-navigation ul > li.contact > a span::after {
	color:#f3a800;
}

.main-navigation ul > li > a:hover::before {
	opacity:1;
	transform:scaleX(1);
}

.main-navigation ul > li > a:hover span::before {
	bottom:5px;
	opacity:0;
	transform: scale(0);
}

.main-navigation ul > li > a:hover span::after {
	bottom:20px;
	opacity:1;
	transform: scale(1);
}

.viewing-about .main-navigation ul > li.about > a::before {
	opacity:1;
	transform:scaleX(1);
}

.viewing-members .main-navigation ul > li.members > a::before {
	opacity:1;
	transform:scaleX(1);
}

.viewing-resources .main-navigation ul > li.resources > a::before {
	opacity:1;
	transform:scaleX(1);
}

.viewing-contact .main-navigation ul > li.contact > a::before {
	opacity:1;
	transform:scaleX(1);
}

.viewing-about .main-navigation ul > li.about > a span::before {
	bottom:5px;
	opacity:0;
	transform: scale(0);
}

.viewing-members .main-navigation ul > li.members > a span::before {
	bottom:5px;
	opacity:0;
	transform: scale(0);
}

.viewing-resources .main-navigation ul > li.resources > a span::before {
	bottom:5px;
	opacity:0;
	transform: scale(0);
}

.viewing-contact .main-navigation ul > li.contact > a span::before {
	bottom:5px;
	opacity:0;
	transform: scale(0);
}

.viewing-about .main-navigation ul > li.about > a span::after {
	bottom:20px;
	opacity:1;
	transform: scale(1);
}

.viewing-resources .main-navigation ul > li.resources > a span::after {
	bottom:20px;
	opacity:1;
	transform: scale(1);
}

.viewing-members .main-navigation ul > li.members > a span::after {
	bottom:20px;
	opacity:1;
	transform: scale(1);
}

.viewing-contact .main-navigation ul > li.contact > a span::after {
	bottom:20px;
	opacity:1;
	transform: scale(1);
}

#fixed-header {
	position:fixed;
	display:block;
	z-index:1000;
	width:100%;
	left:0;
	right:0;
	top:-130px;
	background-color:#fff;
	transition:all .25s ease;
	box-shadow: 0px 2px 5px rgba(0,0,0,0.1);
}

#fixed-header .site-logo {
    width: 200px;
    height: 65px;
    flex-basis: 200px;
}

#fixed-header.open {
	top:0px;
}

.logged-in #fixed-header.open {
	top:32px;
}


/*--------------------------------------------------------------
## Footer
--------------------------------------------------------------*/

.site-footer {
	background-color:#007dbb;
}

.footer-navigation {
	display:flex;
	align-items:center;
}

.footer-navigation ul{ 
	list-style:none;
	padding:0px;
	margin:0;
	flex-basis:auto;
}

.footer-navigation .copyright {
	flex-basis:auto;
	flex-grow:1;
	align-self: center;
	text-align: right;
	color:#fff;
	font-family: 'Quattrocento Sans', sans-serif;
	text-transform: uppercase;
	font-size:14px;
}

.footer-navigation ul::after{
 	content: "";
  	display: table;
  	clear: both;
}

.footer-navigation ul > li { 
	position:relative;
	display:inline-block;
	overflow:hidden;
	float:left;
}

.footer-navigation ul > li > a { 
	position:relative;
	display:block;
	padding:25px 15px;
	color:#fff;
	text-decoration: none;
	font-family: 'Quattrocento Sans', sans-serif;
	text-transform: uppercase;
	font-size:14px;
	z-index:1;
}

.footer-navigation ul > li > a::after{
	content:"";
	position:absolute;
	display:block;
	width:100%;
	height:100%;
	left: 0;
    right: 0;
    top: 100%;
	z-index:-1;
	transition:all .25s ease;
}

.footer-navigation ul > li.about > a::after {
	background-color:#c4d600;
}

.footer-navigation ul > li.members > a::after {
	background-color:#005189;
}

.footer-navigation ul > li.resources > a::after {
	background-color:#009aa6;
}

.footer-navigation ul > li.contact > a::after{
	background-color:#f3a800;
}

.footer-navigation ul > li.home > a::after{
	background-color:#c4d600;
}

.footer-navigation ul > li > a:hover::after {
	top:0;
}

.footer-navigation ul > li > a:hover {
	
}


/*--------------------------------------------------------------
# Sections
--------------------------------------------------------------*/

/*--------------------------------------------------------------
## Intro
--------------------------------------------------------------*/

section.intro {

}

.hero-image {
	max-width:100%;
	width:100%;
	position:relative;
	display:block;
}

.hero-image img {
	width:100%;
	display:block;
}

.hero-text {
	position:absolute;
	display:block;
	top:50%;
	left:0;
	right:0;
	transform: translateY(-50%);
	color:#fff;
	font-family: 'Lora', serif;
	font-size:64px;
	font-size:3.6vw;
	text-shadow: 0px 0px 5px rgba(0,0,0,0.20);
}

.hero-text span {
	display:block;
	margin-left:200px;
}

/*--------------------------------------------------------------
## Buckets
--------------------------------------------------------------*/

section.buckets {
	padding:20px 0px;
	padding-bottom:40px;
	background-color:#dadada;
	background-color:#f1f1f1;
}

.bucket-holder {
	display:flex;
}

.bucket {
	position:relative;
	display:block;
	flex-basis:33.3%;
	width:33.3%;
	padding:30px;
	margin-bottom:0px;
}

.bucket-inner {
	background:#ffffff;	
	padding:80px 40px 40px 40px;
	min-height:100%;
}

.bucket .icon {
	width:70px;
	height:70px;
	background:#fff;
	position:absolute;
	top:0px;
	left:0;
	right:0;
	margin:auto;
	border-radius: 40px;
}

.bucket .icon::after {
	content:"";
	position:absolute;
	display:block;
	width:60px;
	height:60px;
	margin:auto;
	left:0;
	right:0;
	top:0;
	bottom:0;
	background-size:100%;
	background-repeat: no-repeat;
	background-position: center center;
}

.bucket.left .icon::after {
	background-image:url('img/biosecurity.svg');
}

.bucket.middle .icon::after {
	background-image:url('img/risk.svg');
}

.bucket.right .icon::after {
	background-image:url('img/investment.svg');
}

.bucket.left {
	padding-left:0px;
}

.bucket.left .bucket-inner {	
	background-color:#c4d600;
}

.bucket.left .icon {
	left:-30px;
}

.bucket.middle {
	padding-left:15px;
	padding-right:15px;
}

.bucket.middle .bucket-inner{
	border-bottom:7px solid #007dbb;
}

.bucket.right {
	padding-right:0px;	
}

.bucket.right .bucket-inner {	
	border-bottom:7px solid #f3a800;
}

.bucket.right .icon {
	right:-30px;
}

.bucket.left h3,
.bucket.left p{
	color:#fff;
}

.bucket.left p {
	font-size:26px;
	font-size: 1.5vw;
	line-height:1.4em;
}

/*--------------------------------------------------------------
## News
--------------------------------------------------------------*/

section.news {
	padding:20px 0px;
	padding-top:0px;
	padding-bottom:40px;
	background-color:#dadada;
	background-color:#f1f1f1;
}

.news-holder {
	background-color:#fff;	
	text-align:center;
	padding:20px 40px;
}

.news-holder h4 {
	display:inline-block;
	font-family: 'Quattrocento Sans', sans-serif;
	margin:0px;
	color:#7d868c;
	font-size:24px;
    font-size: 1.7vw;
	font-weight:700;
	text-transform: uppercase;
}

.news-holder a {
	font-family: 'Lora', serif;
	color:#007dbb;
	text-decoration: none;
	font-size:24px;
    font-size: 1.7vw;
	display:inline-block;
}

/*--------------------------------------------------------------
## About
--------------------------------------------------------------*/

section.about {		
	background-color:#fff;
	background-image:url('img/about-bg.jpg');
	background-size:cover;
	background-position:right center;
	background-repeat: no-repeat;
}

.about-container {
	padding: 30px 60px 50px 60px;
}

.about-container .half-width {
	max-width:50%;
	width:100%;
}

/*--------------------------------------------------------------
## Members
--------------------------------------------------------------*/

section.members {
	padding:30px 0px;
	padding-bottom:40px;
	background-color:#dadada;
	background-color:#f1f1f1;
}

.members-container {
	background-color:#fff;
	padding: 30px 60px 40px 60px;
	display:flex;
	flex-wrap: wrap;
}

.members-container h3 {
	flex-basis:100%;
}

.member {
	flex-basis:50%;
	display:flex;
	padding:10px 0px;
	padding-bottom:50px;
}

.member .member-image {
	flex-basis:30%;
}

.member .member-info {
	flex-basis:70%;
	padding: 0px 25px;
}

.member .member-info p{
	font-size: 1.1vw;
	line-height:1.3em;
}

.member .member-info h4 {
	margin-bottom:5px;
}


/*--------------------------------------------------------------
## Resources
--------------------------------------------------------------*/

section.resources {
	background-color:#fff;
	background-image:url('img/resources-bg.jpg');
	background-size:cover;
	background-position:left center;
	background-repeat: no-repeat;
}

.resources-container {
	text-align:right;
	padding: 30px 60px 50px 60px;
}

.resources-container h4 {
	margin-bottom:5px;
}

.resources-container ul {
	margin-bottom:45px;
	padding-left:60%;
}

.resources-container ul > li {
	margin-bottom:5px;
}

/*--------------------------------------------------------------
## Contact
--------------------------------------------------------------*/

section.contact {
	padding:30px 0px;
	padding-bottom:40px;
	background-color:#dadada;
	background-color:#f1f1f1;
}

.contact-container {
	padding: 30px 60px 40px 60px;
	display:flex;
	flex-wrap: wrap;
	align-items:center;
}

.contact-container h3 {
	flex-basis:100%;
}

.form-holder {
	flex-basis:50%;
	padding-right:75px;
	font-family: 'Lora', serif;
	font-size:20px;
	align-self:flex-start;
}

.gform_wrapper {
	font-family: 'Lora', serif !important;
}

.gform_wrapper input,
.gform_wrapper textarea {
	border:0px;
	outline:none;
}

.gform_wrapper label.gfield_label {
	font-family: 'Lora', serif;
	font-weight:100 !important;	
}

.gform_wrapper .gform_button.button {
	border:0px;
	padding:12px 15px;
	background-color:#009aa6;
	color:#fff;
	font-family: 'Lora', serif;
	font-size:20px !important;
}

.gform_wrapper .gform_button.button:hover {
	background-color: #02898c;
}

.gform_wrapper .gfield_required {
	color:#f3a800 !important;
}

.gform_wrapper div.validation_error{
	color:#f3a800 !important;
	border:0px !important;
	text-align: left !important;
    font-size: 24px !important;
    font-weight: 400 !important;
}

.gform_wrapper li.gfield.gfield_error, .gform_wrapper li.gfield.gfield_error.gfield_contains_required.gfield_creditcard_warning {
	border:0px !important;
	background:transparent !important;
	background-color:#f3a800 !important;
	padding: 20px !important;
}

.gform_wrapper .gfield_error .gfield_label {
	color:#fff !important;
}

.gform_wrapper li.gfield_error input:not([type=radio]):not([type=checkbox]):not([type=submit]):not([type=button]):not([type=image]):not([type=file]), .gform_wrapper li.gfield_error textarea {
	border:0px !important;
}

.gform_wrapper .validation_message {
	color:#fff !important;
	padding-top:5px !important;
}

.join-us {
	flex-basis:50%;
	padding-left:75px;
}

.join-us-box {
	background-color:#fff;
	padding:50px;
	border-bottom:7px solid #f3a800;
}

.join-us-info {
	padding:0px 30px;
}

.join-us-box .button {
	display:block;
	width:100%;
	text-align:center;
	margin-top:40px;
	background-color:#b1bf2e;
	color:#fff;
	font-family: 'Lora', serif;
	font-size:20px;
	text-decoration: none;
	padding:15px;
}

.join-us-box .button:hover {
	background-color: #9aa027;
}


/*--------------------------------------------------------------
# Media Queries
--------------------------------------------------------------*/


@media screen and (min-width:1650px) {
	section p, 
	section ul,
	.member .member-info p {
		font-size: 18px;
	}

	.bucket.left p {
		font-size: 26px;
	}

	section h4,
	.news-holder a,
	.news-holder h4 {
		font-size: 22px;
	}

	section h3 {
		font-size: 44px;
	}

	.hero-text {
		font-size:55px;
	}

}

@media screen and (max-width:1200px) {
	.page-container,
	section.news {
		padding-left:25px;
		padding-right:25px;
	}
}


@media screen and (max-width:1000px) {
	.bucket-inner {
		padding: 60px 20px 30px;
	}

	.member {
		flex-wrap: wrap;
		padding:15px;
		padding-bottom:35px;
	}

	.member .member-info,
	.member .member-image {
		flex-basis:100%;
		padding:0px;
	}

	.member .member-image {
		text-align: center
	}

	.site-logo {
		width:230px;
		flex-basis:230px;
	}

	.main-navigation ul > li > a {
		margin:0px 15px;
	}
}

@media screen and (max-width:782px) {

	.logged-in #fixed-header.open {
		top:46px;
	}

}

@media screen and (max-width:768px) {
	
	section p, 
	section ul,
	.member .member-info p {
		font-size:18px;
	}

	section h4 {
		font-size:20px;
	}

	section h3 {
		font-size:36px;
		text-align:center;
	}

	.bucket.left p {
		font-size:24px;
	}

	.site-branding {
		flex-wrap:wrap;
	}

	.site-logo {
		margin:auto;
		margin-bottom:10px;
	}

	#fixed-header .site-logo {
		background-image:url('img/logo-shield.svg');
		width: 45px;
	    height: 55px;
	    flex-basis: 45px;
	    margin-bottom:0px;
	}

	#masthead .main-navigation ul {
		text-align:center;
	}

	.anchor-link {
		top:-110px;
	}

	.main-navigation ul > li > a {
	    margin: 0px 15px;
	}

	.hero-text {
		text-align:center;
		font-size: 5.5vw;
		
	}

	.hero-text span {
		margin-left:0px;
	}

	.member {
		flex-basis: 100%;
		margin:auto;
	}

	.bucket-holder {
		flex-wrap: wrap;
	}

	.bucket,
	.bucket.middle {
		flex-basis:100%;
		padding-left:0px;
		padding-right:0px;
	}

	.bucket.left .icon {
		left:0;
	}

	.bucket.right .icon {
		right:0;
	}

	.news-holder h4 {
		font-size:24px;
	}

	.news-holder {
		max-width:400px;
		margin-bottom:5px;
	}

	.news-holder a {
		font-size: 24px;
		display:block;
	}

	.about-container .half-width {
		max-width:100%;
	}

	section.about,
	section.resources {
		background-image:none;
	}

	.resources-container{
		text-align:left;
	}

	.resources-container ul {
		padding:0;
	}

	.form-holder,
	.join-us {
		flex-basis:100%;
		padding:0px;
	}

	.footer-navigation {
		flex-wrap: wrap;
	}

	.footer-navigation ul {
		flex-basis:100%;
		text-align: center;
	}

	.footer-navigation ul > li {
		float:none;
	}

	.footer-navigation .copyright {
		flex-basis:100%;
		text-align: center;
		padding:10px 0px;
	}




}

@media screen and (max-width:600px) {

	.page-container {
		padding-left: 15px;
	    padding-right: 15px;
	}

	.main-navigation ul > li > a {
		font-size:12px;
	    margin: 0px 10px;
	}

	.footer-navigation ul > li > a {
		font-size:10px;		
	    padding: 15px 5px;
	}

	.site-branding {
		padding-top:5px;
		padding-bottom:5px;
	}

	.join-us-box {
	    padding: 40px 20px;
	}

	.join-us-info {
		padding:0px;
	}

	.footer-navigation .copyright {
		font-size:10px;
	}

	.logged-in #fixed-header.open {
		top:0px;
	}
}