/*
Theme Name: 7thVision Theme 2016
Theme URI: http://7thvision.com.au
Description: A 7thVision Theme 2016
*/

/*________ GLOBAL ELEMENTS ________*/


* {
	border: 0;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
html {
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
*, 
*:before, 
*:after {
	box-sizing: inherit;
}

.ie * {

}
img {
	display: block;
	border: 0;
	/*chrome fix for animations */
	position: relative;
}
a {
	outline: none;
	text-decoration: underline;
	color: #fff;
    transition: all 0.15s linear;
}
a:hover {
	color: #fff;
	text-decoration: none;
}
a[href*='tel:'] {
	cursor: default;
	text-decoration: none;
}
html {
	font-size: 100%;
}
body {
	font-family: 'Open Sans', Arial, 'Helvetica Neue', Helvetica, sans-serif;
	font-size: 16px;
	font-size: 1rem;
	color: #363738;;
	line-height: 1;
	-webkit-text-size-adjust: 100%; /* Prevent font scaling in landscape */
	-ms-text-size-adjust: 100%; 

	background: #fff -webkit-linear-gradient(top, #FFF, #FFF) repeat-x; /* windows chrome fixed scrolling replication issue */
  	background-attachment: fixed; /* windows chrome fixed scrolling replication issue */
  	    
}

.outerWrapper {
	clear: both;
	width: 100%;
	max-width: 1440px;
	max-width: 90rem;
	margin: 0 auto;
}
.wrapper {
	width: 100%;
	max-width: 1160px;
	max-width: 72.5rem;
	margin: 0 auto;
	padding: 32px 20px;
	padding: 2rem 1.25rem;
}
.wrapper.large {
	max-width: 1240px;
	max-width: 77.5rem;
}
.ie .wrapper {
	width: 1160px;
}


/*________ HEADER & NAV ________*/

.header {
	position: relative;
}
.header .logo {
	width: 100%;
	max-width: 200px;
	max-width: 12.5rem;
}
.header .logo img {
	width: 100%;
	height: auto;
}



/*________ CONTENT ________*/

.contentSection {
	clear: both;
	width: 100%;
}

.contentContainer {
	width: 100%;
	clear: both;
}
.mainContent .content {
	width: 71.5%;
	float: left;
}
.halfContent .content {
	width: 50%;
	float: left;
}
.fullContent .content {
	width: 100%;
	float: none;
}


.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
	line-height: 1.25;
	padding: 0 0 20px;
	padding: 0 0 1.25rem;
    font-family: 'museo', Arial, 'Helvetica Neue', Helvetica, sans-serif;
}
.content h2 {

}
.content h3 {

}
.content h4,
.content h5,
.content h6 {

}
.content p {
	padding: 0 0 20px;
	padding: 0 0 1.25rem;
	line-height: 1.5;
}
.content ul,
.content ol {
	padding: 0 0 20px 40px;
	padding: 0 0 1.25rem 2.5rem;
}
.content ul ul,
.content ol ol {
	padding-bottom: 0;	
}
.content ul li,
.content ol li {
	line-height: 1.5;
}
.content blockquote {
	font-style: italic;
	padding: 0 0 0 40px;
	padding: 0 0 0 2.5rem;
	margin-bottom: 20px;
	margin-bottom: 1.25rem;
	border-left: 4px solid #222;
	border-left: 0.25rem solid #222;
}
.content iframe {
	padding: 0 0 20px;
	padding: 0 0 1.25rem;
}
.content img {
	max-width: 100%;
	height: auto;
}
.content table {
	margin: 0 0 20px;
	margin: 0 0 1.25rem;
	width: 100%;
	text-align: left;
	line-height: 1.5;
}
.content table tr {
}
.content table tr th {
    padding: 4px;
    padding: 0.25rem;
    font-weight: 700;
    font-size: 14px;
    font-size: 0.875rem;
}
.content table tr td {
	border-top: 1px dotted #ccc;
	padding: 4px;
    padding: 0.25rem;
    font-size: 12px;
    font-size: 0.75rem;
}
.content hr {
	border: none;
	margin: 0 0 20px;
	margin: 0 0 1.25rem;
	display: block;
	clear: both;
	border-bottom: 1px solid #ccc;
}
.content .entryContent {
	overflow: hidden;/*for gallery +20px*/
	width: 100%;
}

/*________ FOOTER ________*/

.footer {
	width: 100%;
	clear: both;
}


/*________ FORMS ________*/

form *,
form.elab_form *,
.fc_container form.elab_form * {
	font-family: inherit;
	font-size: 16px;
	font-size: 1rem;
}
form ::-webkit-input-placeholder { /* WebKit browsers */
	color: #000;
}
form :-moz-placeholder { /* Firefox 18- */
	color: #000;
	opacity: 1;
}
form ::-moz-placeholder {  /* Firefox 19+ */
	color: #000;
	opacity: 1;
}
form :-ms-input-placeholder { /* Internet Explorer 10+ */
	color: #000;
}


.fc_container form.elab_form .footnote {
	display: none;
}
.fc_container form.elab_form .footnote.error-field {
	display: block

}
button {
	cursor: pointer;
}
button::-moz-focus-inner { /* Remove stupid button padding in FF */
    border:0;
    padding:0;
}


/*________ CUSTOM STYLES ________*/
.button {
	text-decoration: none;
    display: inline-block;
    text-align: center;
    border-radius: 6px;
    border-radius: 0.375rem;
    padding: 8px 32px;
    padding: 0.5rem 2rem;
    line-height: 1.25;
    font-size: 16px;
    font-size: 1rem;
    background-color: #00bed3;
    color: #fff;
    font-weight: 600;
    border: 1px solid #00bed3;
}
.button:hover, 
.button:focus {
    background-color: #02a8ba;
    border-color: #02a8ba;
}
.header .navContainer {
	order: 2;
}
.header .mainNav {
	display: none;
}
.header .mainNav.show {
	display: block;
}
.header .mainNav.show {
    position: absolute;
    background: #00bed3;
    top: 96px;
    top: 6rem;
    right: 16px;
    right: 1rem;
    padding: 32px;
    padding: 2rem;
    border-radius: 12.8px;
    border-radius: 0.8rem;
    max-width: 272px;
    max-width: 17rem;
    width: 100%;
}
.header .mainNav.show li:first-of-type {
	padding: 0 0 16px 0;
	padding: 0 0 1rem 0;
}
.header .mainNav.show li {
	list-style: none;
	padding: 16px 0;
	padding: 1rem 0;
	border-bottom: 1px solid #fff;
}
.header .mainNav.show li a {
	text-decoration: none;
}
.header .mainNav.show li a:focus, 
.header .mainNav.show li a:hover {
	color: #363738;
}
.navToggle {
    display: block;
    position: relative;
    background: transparent;
}
.navToggle .text {
    top: 16px;
    top: 1rem;
    color: #fff;
    display: block;
    text-align: center;
    font-size: 9.6px;
    font-size: 0.6rem;
    text-transform: uppercase;
    padding-top: 2px;
    padding-top: 0.125rem;
    font-weight: 300;
    letter-spacing: 1px;
    position: relative;
    font-family: 'Open Sans', Arial, 'Helvetica Neue', Helvetica, sans-serif;
}
.navToggle .text .inner {
    display: block;
}
.navToggle:focus .text .inner,
.navToggle.toggled .text .inner {
    opacity: 0;
}
.navToggle .text:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.navToggle:focus .text:after {
    content: 'Open';
}
.navToggle.toggled .text:after {
    content: 'Close';
}
.navToggle span.icon {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 28px;
    width: 1.75rem;
    height: 3px;
    height: 0.1875rem;
    background-color: #fff;
    transition: background 0s 0.3s;
    display: block;
    border-radius: 2px;
    border-radius: 0.125rem;
}
.navToggle span.icon::before,
.navToggle span.icon::after {
    position: absolute;
    display: block;
    left: 0;
    width: 28px;
    width: 1.75rem;
    height: 3px;
    height: 0.1875rem;
    background-color: #fff;
    content: "";
    transition-duration: 0.3s, 0.3s;
    transition-delay: 0.3s, 0s;
    border-radius: 2px;
    border-radius: 0.125rem;
}
.navToggle span.icon::before {
    top: -8px;
    top: -0.5rem;
    transition-property: top, transform;
}
.navToggle span.icon::after {
    bottom: -8px;
    bottom: -0.5rem;
    transition-property: bottom, transform;
}
.navToggle.toggled span.icon {
    background-color: transparent;
}
.navToggle.toggled span.icon::before {
    top: 0;
    transform: rotate(45deg);
}
.navToggle.toggled span.icon::after {
    bottom: 0;
    transform: rotate(-45deg);
}
.navToggle.toggled span.icon::before,
.navToggle.toggled span.icon::after {
    transition-delay: 0s, 0.3s;
}
.header {
	z-index: 1;
	background-color: #00bed3;
    box-shadow: 0 2px 4px 0 rgba(0,0,0,0.25);
    box-shadow: 0 0.125rem 0.25rem 0 rgba(0,0,0,0.25);
}
.header .wrapper {
	display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
}
.header .wrapper .headerButtons {
	margin-right: auto;
    color: #00bed3;
}
.header .wrapper .headerButtons a {
    color: #00bed3;
    text-decoration: none;
	background-color: #fff;
    border: 2px solid #fff;
    border-radius: 14px;
    border-radius: 0.875rem;
    font-size: 14px;
    font-size: 0.875rem;
    padding: 5px 28px;
    padding: 0.3125rem 1.75rem;
}
.header .wrapper .headerButtons a:hover,
.header .wrapper .headerButtons a:focus {
    color: #fff;
    border-color: #fff;
    background-color: transparent;
}
.headerImageContainer,
.bodyImageContainer {
	position: relative;
	width: 100%;
	height: 100%;
}
.headerImageContainer .imageContainer {
	display: block;
	width: 100%;
	height: 500px;
	height: 31.25rem;
	background: #7E8081;
}
.headerImageContainer .imageContainer img {
	opacity: 0.4;
}
.headerImageContainer img,
.bodyImageContainer img { 
	display: flex;
	object-fit: cover;
	font-family: 'object-fit: cover;';
	width: 100%;
	height: 100%;
}
.headerImageContainer .overlay, 
.bodyImageContainer .overlay { 
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background: #00000045;
	text-align: left;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 0;
	padding: 1.25rem 0;
}
.headerImageContainer .overlay .inner {
	padding: 24px 0;
	padding: 1.5rem 0;
}
.headerImageContainer .overlay .inner img {
    margin: 0 auto;
    width: 180px;
    width: 13.25rem;
}
.contentContainer .content .small {
	max-width: 740px;
	max-width: 46.25rem;
	text-align: center;
}
.contentContainer .content .small p {
	padding-bottom: 24px;
	padding-bottom: 1.5rem;
	font-size: 16px;
	font-size: 1rem;
}
.contentContainer .content .small h1 {
    line-height: 1.25;
    padding: 24px 0;
    padding: 1.5rem 0;
    font-weight: 300;
    font-weight: 500;
    color: #00bed3;
}
.contentContainer .content .socialContainer ul {
	display: flex;
	flex-direction: row;
	justify-content: center;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
    padding: 16px 0;
    padding: 1rem 0;
}
.contentContainer .content .socialContainer ul li {
	list-style: none;
}
.contentContainer .content .socialContainer ul li:not(:last-child) {
	padding-right: 16px;
	padding-right: 1rem;
}
.contentContainer .content .socialContainer ul li a {
	transition: all 0.25s linear;
}
.contentContainer .content .socialContainer ul li .icon {
    display: block;
    width: 22px;
    width: 1.375rem;
    height: 22px;
    height: 1.375rem;
}
.contentContainer .content .socialContainer ul li .icon img,
.contentContainer .content .socialContainer ul li .icon svg {
	width: 100%;
	height: 100%;
}
.contentContainer .content .socialContainer ul li a .icon * {
    fill: #5A5C5D;
}
.contentContainer .content .socialContainer ul li a:hover .icon *, 
.contentContainer .content .socialContainer ul li a:focus .icon * {
    fill: #00bed3;
}

.bodyImageContainer {
	background: #363738;
}
.bodyImageContainer .imageContainer {
	display: block;
	width: 100%;
	height: 350px;
	height: 21.875rem;
}
.bodyImageContainer .imageContainer img {
	opacity: 0.7;
}
.bodyImageContainer .overlay .inner {
	text-align: center;
}
.partnersContainer .wrapper h3,
.bodyImageContainer .overlay .inner h3 {
	font-size: 32px;
	font-size: 2rem;
}
.bodyImageContainer .overlay .inner h3 {
    color: #fff;
    font-weight: 500;
}
.bodyImageContainer .overlay .inner p .textLink {
	color: #00bed3;
	font-size: 16px;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
}
.bodyImageContainer .overlay .inner .buttonContainer {
	padding: 6.4px;
	padding: 0.4rem;
}
.partnersContainer {
	padding: 0 0 32px 0;
	padding: 0 0 2rem 0;
}
.partnersContainer .wrapper h3 {
    color: #00bed3;
	text-align: center;
    padding: 16px 0 32px 0;
    padding: 1rem 0 2rem 0;
    font-weight: 500;
}
.partnersContainer .partners {
	display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    align-content: flex-start;
    margin: 0 -16px;
    margin: 0 -1rem;
}
.partnersContainer .partners .partner {
    margin: 24px;
    margin: 1.5rem;
}
.partnersContainer .partners .partner img {
    max-width: 176px;
    max-width: 11rem;
    width: 100%;
}
.footer {
    width: 100%;
    clear: both;
    overflow: hidden;
    background-color: #363738;
    color: #fff;
    border-top: 5px #00bed3 solid;
}
.footer .top.wrapper {
	border-bottom: 1px solid #fff;
}
.footer .top.wrapper .inner {
	display: flex;
    flex-direction: column;
    align-items: center;
}
.footer .top.wrapper .inner .logo {
    max-width: 240px;
    max-width: 15rem;
    padding: 0 0 32px 0;
    padding: 0 0 2rem 0;
}
.footer .top.wrapper .inner .logo img {
	width: 100%;
	height: 100%;
}
.footer .bottom {
    padding: 16px 20px;
    padding: 1rem 1.25rem;
}
.footer .bottom .copyright {
	text-align: center;
	font-size: 12.8px;
	font-size: 0.8rem;
	text-transform: uppercase;
}
.footer .bottom .copyright span {
	display: block;
	position: relative;
}
.footer .bottom .copyright span a {
	text-decoration: none;
}
.footer .bottom .copyright span:first-child {
    padding: 8px 0 16px 0;
    padding: 0.5rem 0 1rem 0;
}
.footer .bottom .socialNav {
	display: flex;
    justify-content: center;
	padding: 0; 
}
.footer .bottom .socialNav li {
	list-style: none;
}
.footer .bottom .socialNav li:not(:last-child) {
	padding-right: 16px;
    padding-right: 1rem;
}
.footer .bottom .socialNav li .icon {
    display: block;
    width: 22px;
    width: 1.375rem;
    height: 22px;
    height: 1.375rem;
}
.footer .bottom .socialNav li .icon img,
.footer .bottom .socialNav li .icon svg {
    width: 100%;
    height: 100%;
}
.footer .bottom .socialNav li a:focus .icon svg *, 
.footer .bottom .socialNav li a:hover .icon svg * {
	fill: #00bed3;
}
/*________ WP PRINT ________*/

@media print {

}



/*________ RESPONSIVE ________*/

/* 340px */
@media (min-width: 21.25em) {

}

/* 440px */
@media (min-width: 27.5em) {

}

/* 540px */
@media (min-width: 33.75em) {
	.contentContainer .content .socialContainer ul {
		padding: 8px;
		padding: 0.5rem;
	}
	.footer .top.wrapper .inner {
		flex-direction: unset;
	}
	.footer .top.wrapper .inner .contact {
		margin-left: auto;
	}
	.footer .top.wrapper {
		padding: 32px 20px 0;
		padding: 2rem 1.25rem 0;
	}
	.footer .bottom {
		display: flex;
		align-items: center;
	}
	.footer .bottom .copyright {
		text-align: left;
	    padding-bottom: 0;
	}
	.partnersContainer .wrapper h3,
	.bodyImageContainer .overlay .inner h3 {
		font-size: 40px;
		font-size: 2.5rem;
	}
	.bodyImageContainer .overlay .inner p .textLink {
		font-size: 24px;
		font-size: 1.5rem;
	}
	.partnersContainer {
		padding: 32px 0;
		padding: 2rem 0;
	}
	.partnersContainer .partners .partner {
	    margin: 32px;
	    margin: 2rem;
	}
	.partnersContainer .partners .partner img {
	    max-width: 208px;
	    max-width: 13rem;
	    width: 100%;
	}
	.footer .bottom .socialNav {
		margin-left: auto;
	}
	.footer .bottom .copyright span:first-child {
		padding: 0;
	}
}

/* 640px */
@media (min-width: 40em) {

}

/* 740px */
@media (min-width: 46.25em) {
}

/* 840px */
@media (min-width: 52.5em) { 
	.header .navContainer {
		order: 1;
	}
	.header .wrapper .headerButtons {
		order: 2;
		margin-left: auto;
		margin-right: unset;
	}
	.header .mainNav {
	    max-width: 100%;
	    position: relative;
	    opacity: 1;
	    height: auto;
	    top: auto;
	    right: auto;
	    overflow: visible;
	    padding: 0;
	    width: auto;
	    flex-shrink: 0;
	    margin-bottom: 0;
	    display: flex;
	    flex-direction: row;
	    justify-content: flex-start;
	    align-items: center;
	    flex-wrap: nowrap;
	}
	.header .mainNav li {
		width: auto;
	    float: none;
	    position: relative;
	    list-style: none;
	    z-index: 2;
	}
	.header .mainNav li a:hover, 
	.header .mainNav li a:focus {
		color: #363738;
	}
	.header .mainNav li a {
		border-bottom: none;
		padding: 0 11.2px;
		padding: 0 0.7rem;
		font-size: 14px;
		font-size: 0.875rem;
		color: #fff;
		text-decoration: none;
	}
	.hide-840 {
		display: none !important;
	}
	.show-840 {
		display: block;
	}
}

/* 940px */
@media (min-width: 58.75em) { 
	.header .mainNav li a, 
	.header .wrapper .headerButtons a {
		font-size: 16px;
		font-size: 1rem;
	}
	.contentContainer .content .small h1 {
	    font-size: 56px;
	    font-size: 3.5rem;
	}
	.contentContainer .content .small {
		max-width: 832px;
		max-width: 52rem;
	}
}

/* 1040px */
@media (min-width: 65em) {

}

/* 1140px */
@media (min-width: 71.25em) {

}

/* 1240px */
@media (min-width: 77.5em) {

}

/* 1340px */
@media (min-width: 83.75em) {

}

/* 1440px */
@media (min-width: 90em) {

}

/* 1540px */
@media (min-width: 96.25em) {

}
