/*


	Global Eco 2018
	https://globaleco.com.au/


	# Table of Contents

	1. Base
	   -- Flow
	   -- Figures
	   -- Buttons
	2. Modules
	   -- Banner
	   -- Menu
	   -- Lists
	   -- Icons
	3. State
	4. Gallery


	# Swatches

	black:        #232832    35,40,50
	black tint:   #51555d    81,85,93
	blue:         #1f69b2    31,105,178
	blue dark:    #1c5290    28,82,144
	green:        #82b447    130,180,71
	green dark:   #6d9c3c    109,156,60
	orange:       #ed8022    237,128,34
	orange dark:  #d06518    208,101,24


*/



/*=============================================================================
///////////////////////////////////////////////////////////////////////////////
	`Base
///////////////////////////////////////////////////////////////////////////////
=============================================================================*/

html { background: #51555d; box-sizing: border-box; color: #fff; font-family: 'Cabin', sans-serif; font-weight: normal; line-height: 1.5; }
*, *:before, *:after { border: 0; box-sizing: inherit; color: inherit; font-family: inherit; font-size: inherit; line-height: inherit; margin: 0; padding: 0; }
article, aside, details, figcaption, figure, footer, header, main, nav, section, summary { display: block; }
[hidden] { display: none; }
pre { font-family: monospace; }
img { max-width: 100%; height: auto; }
nav li { margin-top: 0; list-style: none; }
blockquote { border-left: .5rem solid #82b447; padding-left: 1.5rem; }
blockquote cite { display: block; }
small { font-size: .75em; }
h1 { font-size: 2.50rem; line-height: 1.2; }
h2 { font-size: 2.00rem; line-height: 1.2; }
h3 { font-size: 1.75rem; line-height: 1.2; }
h4 { font-size: 1.50rem; line-height: 1.2; }
h5 { font-size: 1.25rem; }
h6 { font-size: 1.00rem; }
main h2 { color: #1f69b2; }

input, textarea, select { border: 1px solid #aaa; border-radius: 4px; color: #1b2d43; }
input, textarea { padding: .375rem .75rem; }
input:not([type="submit"]), textarea { width: 100%; max-width: 25em; }
input[type="submit"] { cursor: pointer; }
form ol li { list-style: none; }
form ol li + li { margin-top: 0; }
form ol li label { display: block; margin-bottom: .375rem; }

@media (min-width: 1000px) {
	html { font-size: calc(.5em + .8vw); padding: 4vw; padding-top: 0; }
	header h1 { font-size: 3.5rem; line-height: 1; }
	header h1.xl { font-size: 4.5rem; line-height: 1; }
	header h1.xl + p { font-size: 2rem; }
}

/* `Flow */

body > nav { background: #1f69b2; }
body > header { background: #1f69b2; position: relative; }
body > main { background: #ffffff; color: #232832; padding: 1.5rem; padding-bottom: 0; overflow: hidden; }
body > main * { margin-bottom: 1.5rem; }
body > main br { margin-bottom: 0; }
body > main li { margin-bottom: 0; }
body > main a { color: #1f69b2; text-decoration: none; border-bottom: 1px solid #1f69b2; }
body > main nav ul { padding-left: 0; }
body > main a:hover, body > main a:focus { border-bottom-width: .325rem; outline: none; }
body > aside.sponsors { background: #82b447; padding: 1.5rem; }
body > footer { background: #77A641; padding: 1.5rem; }
body > footer a { color: rgba(0,0,0,0.6); text-decoration: none; border-bottom: 1px solid rgba(0,0,0,0.6); }
body > footer a:hover, body > footer a:focus { border-bottom-width: .325rem; outline: none; }
body > aside.info { color: #fff; color: #fff; display: flex; font-size: .875rem; align-items: center; width: 100%; padding: 1.5rem; }
body > aside.info a { display: inline-block; }
body > aside.info a + a { margin-left: .65rem; }
body > aside.info > nav { flex-grow: 1; }
body > aside.info > div strong { text-transform: uppercase; margin-right: .4rem; }

@media (min-width: 1000px) {
	body { display: flex; flex-flow: row wrap; max-width: none; }
	body > nav { order: 3; padding: 4vw 0; padding-bottom: 8vw; width: 30%; }
	body > header { background-color: #232832; order: 2; padding: 0; width: 100%; }
	body > main { order: 4; padding: 4vw; padding-bottom: calc(4vw - 1.5rem); width: 70%; }
	body > main ul { padding-left: 1.125em; }
	body > aside.sponsors { order: 5; width: 100%; padding: 4vw 3vw; }
	body > footer { order: 6; width: 100%; padding: 4vw 3vw; }
	body > aside.info { order: 1; height: 4vw; padding: 0; }
}

p + h1, ul + h1, dl + h1, ol + h1, table + h1, form + h1, figure + h1, blockquote + h1  { margin-top: 3rem; }
p + h2, ul + h2, dl + h2, ol + h2, table + h2, form + h2, figure + h2, blockquote + h2  { margin-top: 3rem; }
p + h3, ul + h3, dl + h3, ol + h3, table + h3, form + h3, figure + h3, blockquote + h3  { margin-top: 2.25rem; }
p + h4, ul + h4, dl + h4, ol + h4, table + h4, form + h4, figure + h4, blockquote + h4  { margin-top: 2.25rem; }

/* `Figures */

figure * { margin: 0; }
figure img { border-radius: 4px; overflow: hidden; display: block; width: 100%; }
figcaption { font-style: italic; font-size: .875rem; padding-top: .65rem; }

@media (min-width: 400px) {
	figure.inline { float: left; clear: both; margin-bottom: 1.5rem; margin-right: 1.5rem; max-width: 200px; }
	figure.pull-right { float: right; margin-right: 0; margin-left: 1.5rem; }
}

@media (min-width: 798px) {
	figure.inline { max-width: 33%; }
}

/* Gallery */

.gallery { padding: 0; }
.gallery * { margin: 0; }
.gallery li { list-style: none; }
.gallery figure { }
.gallery a { display: block; border: none; position: relative; }
.gallery a:before { position: absolute; color: #fff; top: .2rem; right: .3rem; z-index: 1; }
.gallery img { display: block; }
.gallery figcaption { }

.gallery--list li { width: 100%; }
.gallery--list figure { background: #232832; background: linear-gradient(to right bottom, #232832 0%, #51555d 100%);color: #fff; border-radius: 4px; }
.gallery--list figure a { padding: 1.5rem; }
.gallery--list figure:hover { background: #1f69b2; }
.gallery--list figure h2 { color: #fff; }
.gallery--list figcaption { color: #fff; }

@media (min-width: 30em) {
	.gallery { display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-orient: horizontal; -webkit-box-direction: normal; -ms-flex-flow: row wrap; flex-flow: row wrap; margin-left: -1.5rem; }
	.gallery li { width: 50%; padding-left: 1.5rem; margin-bottom: 1.5rem; }
	.gallery--list li { width: 100%; }
}

@media (min-width: 50em) {
	.gallery li { width: 33.333%; }
	.gallery--list li { width: 100%; }
}


/* `Buttons */

button, .btn { background: #82b447; display: inline-block; padding: .65rem 1.5rem; text-decoration: none; }
button.alt, .btn.alt { background: #ed8022; }
button:hover, .btn:hover, button:focus, .btn:focus { text-decoration: underline; }

.btn { background: #82b447; border-radius: 1.5em; display: inline-block; padding: .65rem 1.5rem; text-decoration: none; }
.btn:hover, .btn:focus { box-shadow: 0 0 0 .25rem #fff; outline: none; }
.btn-group { display: -webkit-flex; display: -ms-flexbox; display: flex; list-style: none; margin-left: -.65rem; }
.btn-group li { margin-left: .65rem; }

/*=============================================================================
///////////////////////////////////////////////////////////////////////////////
	`Modules
///////////////////////////////////////////////////////////////////////////////
=============================================================================*/

.heading-highlight { display: inline-block; color: rgba(255,255,255,0.5); text-decoration: none; border-bottom: 1px solid rgba(255,255,255,0.5); margin-bottom: .375rem; }
.heading-highlight:hover { color: #fff; }

.skiplink { background: #232832; padding: 1.5rem; position: absolute; top: 0; right: 100%; z-index: 100; }
.skiplink:focus { right: auto; }

/* `Banner */

.banner { position: relative; z-index: 1; }
.banner__branding { background: #fff; }
.banner__branding__logo { max-width: 15em; margin-left: auto; margin-right: auto; }
.banner__branding__logo img { display: block; padding: 1.5rem; width: 100%; }
.banner__branding__meta { background: #232832; padding: 1.5rem; }
.banner__branding__meta .logos { margin: 1.5rem 0; display: flex; align-items: flex-end; width: 100%; }
.banner__branding__meta .logos a { display: block; }
.banner__branding__meta .logos a:first-child { padding-right: 1.5rem; width: 45%; }
.banner__branding__meta .logos a:last-child { width: 55%; }
.banner__branding__meta .logos img { display: block; width: 100%; }
.banner__content { padding: 1.5rem; position: relative; }
.banner__content p { font-size: 1.125rem; margin-top: 1.5rem; }
.banner__content > * + * { margin-top: 1.5rem; }
.banner__content__feature { display: none; }

.conference-city, .conference-state { font-size: 1.125rem; font-weight: bold; }

@media (min-width: 400px) {
	.banner__branding { display: flex; width: 100%; }
	.banner__branding__logo { flex: 1; align-self: center; max-width: 40%; }
	.banner__branding__meta { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
	.banner__content { padding: 1.5rem; position: relative; }
}

@media (min-width: 768px) {
	.banner { background: #232832; display: flex; position: relative; }
	.banner__branding { background: linear-gradient(to bottom, rgba(255,255,255,1) 0%, rgba(255,255,255,0.5) 100%); display: block; width: 30%; }
	.banner__branding__logo { display: block; max-width: none; width: 100%; }
	.banner__branding__logo img { height: 23vw; padding: 2.5vw; padding-right: 2.75vw; }
	.banner__branding__meta { background: linear-gradient(to bottom right, rgba(35,40,50,1) 25%, rgba(35,40,50,0.8) 100%); min-height: 23vw; padding: 2.5vw; }
	.banner__branding__meta .nav-list { font-size: 1.3rem; }
	.banner__content { padding: 4vw; width: 70%; }
	.banner__content:after { background: rgba(35,40,50,0.5); background: linear-gradient(to bottom, rgba(17,20,25,.7) 0%, rgba(17,20,25,0) 100%); content: ''; position: absolute; top: 0; left: 0; height: 100%; width: 100%; z-index: 50; }
	.banner__content > * { position: relative; z-index: 100; }
	.banner__content h1 + p { font-size: 1.5rem; }
	.banner__content__feature { display: block; position: absolute; bottom: 3vw; left: 4vw; }
	.banner__content__feature a { display: block; text-decoration: none; }
	.banner__content__feature img { display: inline-block; max-width: 11vw; vertical-align: middle; z-index: 2; position: relative; }
	.banner__content__feature figcaption { background: rgba(35,40,50,1); padding: .75em 1.25em .75rem 1.5rem; display: inline-block; width: auto; margin-left: -.3rem; border-radius: 0 1.5em 1.5em 0; font-style: normal; vertical-align: middle; z-index: 1; position: relative; }
	.banner__content__feature a:hover figcaption { text-decoration: underline; box-shadow: 0 0 0 .25rem #fff; }
}

/* `Menu */

.menu a { display: block; padding: .65rem 1.5rem; text-decoration: none; }
.menu li { position: relative; }

@media (max-width: 999px) {
	.js .is-dropdown { height: 0; overflow: hidden; visibility: hidden; }
	.js [aria-expanded="true"] + .is-dropdown { visibility: visible; height: auto; }
	.js .menu-toggle { background: #82b447; display: block; width: 100%; }
	.js .menu-toggle[aria-expanded="true"] { background: #232832; }
	.js .menu li button { background: none; border-left: 1px solid rgba(0,0,0,0.2); display: inline-block; position: absolute; right: 0; top: 0; min-width: 2.5em; text-align: center; }
	.js .menu li button[aria-expanded="true"] { background: rgba(0,0,0,0.2); border-left-color: transparent; }
	.menu li + li { border-top: 1px solid rgba(0,0,0,0.2); }
	.menu li ul { background: rgba(0,0,0,0.2); }
	.menu li ul li { border: none; }
}

@media (min-width: 1000px) {
	.menu { margin-top: -.65rem; }
	.menu a { padding: .65rem 2.5vw; }
	.menu a:hover { text-decoration: underline; }
	.menu > li.selected, .menu > li.ancestor { background: rgba(0,0,0,0.2); background: linear-gradient(to right, #1c5290 0%, #1f69b2 100%); }
	.menu li + li { border-top: 1px solid #1c5290; }
	.menu li:hover { background: #1c5290; }
	.menu ul { background: #82b447; border-radius: 4px; box-shadow: 0 0 3px rgba(0,0,0,0.2); position: absolute; left: -999em; top: 0; min-width: 16em; overflow: hidden; white-space: nowrap; z-index: 100; }
	.menu li:hover ul { left: 100%; margin-left: -1rem; }
	.menu ul li:hover { background: #82b447; }
	.menu ul li.selected { background: #6d9c3c; }
	.menu ul li + li { border-top: 1px solid #6d9c3c; }
	.menu ul a { padding: .65rem 1rem; }
}

/* `Lists */

.nav-list { }
.nav-list ul { display: flex; }
.nav-list li + li { margin-left: .65em; }

.nav-faq { }
.nav-faq ul { display: flex; flex-flow: row wrap; margin: -3px; }
.nav-faq li { margin: 3px; }
.nav-faq a { background: #1f69b2; border-radius: 1.5em; border: none; display: block; color: #fff; padding: .65rem 1.5rem; }

footer .nav-list { margin-top: .325rem; }
footer .nav-list li + li { border-left: 1px solid rgba(0,0,0,0.2); padding-left: .5em; }

/* `Program */

.program { width: 100%; border-bottom: 1px solid #ccc; text-align: left; }
.program p, .program ul { margin: 10px 0; }
.program__title { text-align: left; margin-top: 20px; }
.program__title h2 { margin: 0; }
.program__row { border-top: 1px solid #ccc; }
.program__row th { padding: 10px 0; vertical-align: top; }
.program__row__heading { font-weight: bold; border-top: 15px solid #ccc; padding: 10px 0; text-align: left; }
.program__row__chair   { padding: 10px 0; font-weight: bold; text-align: left; overflow: hidden; }
.program__row__time    { font-weight: normal; width: 30%; text-align: left; overflow: hidden; }
.program__row__session { width: 70%; text-align: left; overflow: hidden; }


/* `New Program */

.schedule { list-style: none; }
.schedule h3 { margin-bottom: 1.5rem; }
.schedule h3 small { color: #1f69b2; font-size: .8em; margin-left: .25rem; }
.schedule * { margin: 0; }
.schedule > li + li { margin-top: 3rem; }
.schedule__legend { display: flex; margin-bottom: 1.5rem; padding-left: 0; }
.schedule__legend li { background: #eee; flex: 1 0 10em; list-style: none; padding: .375rem 1rem; }
.schedule__legend li:nth-child(1) { border-top: .375rem solid #1c5290; }
.schedule__legend li:nth-child(2) { border-top: .375rem solid #1f69b2; }
.schedule__legend__chair { font-style: italic; margin-top: 0; margin-bottom: .75rem; }

.schedule__list { margin-top: 1.5rem; }
.schedule__list div { display: table; width: 100%; }
.schedule__list div + div dt { border-top: 1px solid #fff; }
.schedule__list div + div dd { border-top: 1px solid #1f69b2; }
.schedule__list dt { background: #eee; display: table-cell; padding: .375rem 1rem; width: 11em; }
.schedule__list dd { background: #1c5290; color: #fff; display: table-cell; padding: .375rem 1rem; position: relative; }
.schedule__list a { color: #BFDFFF; border-bottom-color: #BFDFFF; }
.schedule__list .alternate dt { background: #bbb; }
.schedule__list .alternate dd { background: #232832; }

/* Parallel Sessions */

.schedule__list--parallel { display: flex; flex-flow: row wrap; margin-top: -1.5rem; }
.schedule__list--parallel div { display: block; width: 50%; border-top: 1.5rem solid #fff; }
.schedule__list--parallel div dt { display: block; width: auto; position: relative; padding-left: 3rem; }
.schedule__list--parallel div dd { display: block; width: auto; }
.schedule__list--parallel div + div dt { border-top: none; }
.schedule__list--parallel div + div dd { border-top: none; }
.schedule__list--parallel > div:nth-child(even) dd { background: #1f69b2; }
.schedule__list__track { background: #232832; color: #fff; display: block; margin: 0; position: absolute; left: 0; top: 0; padding: .375rem .75em; }

@media (max-width: 35em) {
    .schedule__list--parallel { display: block; }
    .schedule__list--parallel div { width: 100%; }
    .schedule__list--parallel > div:nth-child(even) { border-left: 0; }
    .schedule__list--parallel div dt {}
    .schedule__list--parallel div dd {}
    .schedule__list--parallel div + div dt {}
    .schedule__list--parallel div + div dd {}
    .schedule__list__track {}
}

.schedule__chair { }
.schedule__descriptor { margin-top: .75rem; }

/* Testing */

.new { display: flex; }
.new__session { background: #1c5290; flex: 1; }
.new__session:first-child { margin-right: .75rem; }
.new__session:last-child { margin-left: .75rem; }
.new__session__title { background: #232832; color: #fff; padding: 1rem; }
.new__session__test { background: #eee; padding: 1rem; }
.new__session__events { color: #fff; }
.new__session__events div { padding: 1rem 1rem .375rem 1rem; }
.new__session__events div + div { border-top: 1px solid #1f69b2; }
.new__session__events dt { background: #eee; display: inline-block; color: #232832; padding: 0 .5rem; padding-left: 1.5rem; border-radius: 1px; margin-left: -1.5rem; margin-bottom: .375rem; box-shadow: 2px 2px 2px rgba(0,0,0,.1); }
.new__session__events dd a { color: #BFDFFF; border-bottom-color: #BFDFFF; }

@media (max-width: 35em) {
    .new { display: block; }
    .new__session:first-child { margin-right: 0; margin-bottom: 1.5rem; }
    .new__session:last-child { margin-left: 0; }
    .new__session { background: #1c5290; flex: none; }
}

/* `Icons */

[class^="icon-"], [class*=" icon-"] { display: inline-block; width: 1em; height: 1em; stroke-width: 0; stroke: currentColor; fill: currentColor; } /* Single-colored icons can be modified like so: .icon-name { font-size: 32px; color: red; } */
.icon-plus { width: 0.7857142857142857em; }
.icon-minus { width: 0.7857142857142857em; }
.icon-search { width: 0.9285714285714285em; }
.icon-close { width: 0.7857142857142857em; }
.icon-home { width: 0.9285714285714285em; }
.icon-print { width: 0.9285714285714285em; }
.icon-image { width: 1.0714285714285714em; }
.icon-marker { width: 0.5714285714285714em; }
.icon-arrow-left { width: 0.8928571428571428em; }
.icon-arrow-right { width: 0.8214285714285714em; }
.icon-arrow-up { width: 0.9285714285714285em; }
.icon-arrow-down { width: 0.9285714285714285em; }
.icon-phone { width: 0.7857142857142857em; }
.icon-twitter { width: 0.9285714285714285em; }
.icon-facebook { width: 0.5881428571428571em; }
.icon-link { width: 0.9285714285714285em; }
.icon-bars { width: 0.8571428571428571em; }
.icon-linkedin { width: 0.8571428571428571em; }
.icon-cloud-download { width: 1.0714285714285714em; }
.icon-file-text-o { width: 0.8571428571428571em; }
.icon-mobile { width: 0.42857142857142855em; }
.icon-instagram { width: 0.8571428571428571em; }
.icon-file-pdf-o { width: 0.8571428571428571em; }
.icon-file-word-o { width: 0.8571428571428571em; }
.icon-file-excel-o { width: 0.8571428571428571em; }
.icon-file-powerpoint-o { width: 0.8571428571428571em; }
.icon-file-image-o { width: 0.8571428571428571em; }
.icon-paper-plane { width: 1.0011428571428571em; }


/*=============================================================================
	`NEW
=============================================================================*/

.footer-sponsors { display: flex; flex-flow: row wrap; line-height: 1.2; }
.footer-sponsors__group { margin-bottom: 2rem; }
.footer-sponsors__group:nth-child(1) { flex: 0 1 50%; }
.footer-sponsors__group:nth-child(2) { flex: 0 1 50%; }
.footer-sponsors__group:nth-child(3) { flex: 0 1 100%; }

.footer-sponsors__group a { display: inline-block; margin-right: 1.5em; vertical-align: top; text-decoration: none; }
.footer-sponsors__group a img { background: #fff; display: block; padding: 1rem; width: 100%; margin-bottom: .75rem; }
.footer-sponsors__group h3 { margin-bottom: 1.5rem; width: 100%; }
.footer-sponsors__group__logo-1 { width: 10em; }
.footer-sponsors__group__logo-2 { width: 14em; }
.footer-sponsors__group__logo-3 { width: 14em; }
.footer-sponsors__group__logo-4 { width: 17em; }
.footer-sponsors__group__logo-5 { width: 12em; }
.footer-sponsors__group__logo-6 { width: 12em; }
.footer-sponsors__group__logo-7 { width: 5.5em; }
.footer-sponsors__group__logo-8 { width: 12em; }

.sponsors-page { padding: 0; margin-top: 2.25rem; }
.sponsors-page li { padding: 0; margin: 0; width: auto; max-width: none; list-style: none; }
.sponsors-page li + li { margin-top: 3rem; }
.sponsors-page a { display: block; border: none; max-width: 20em; }
.sponsors-page a.alt { max-width: 10em; }

.speakers__headings h2 { position: relative; }
.speakers__headings h2 a { color: #fff; font-weight: normal; border: 0; }
.speakers__headings h2:hover > a { color: #82b447; }


/*=============================================================================
	`State
=============================================================================*/

.sr-only:not(:focus):not(:active) { clip: rect(0 0 0 0); -webkit-clip-path: inset(100%); clip-path: inset(100%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.vh { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); padding: 0 !important; border: 0 !important; height: 1px !important; width: 1px !important; overflow: hidden; }
.clearfix:before, .clearfix:after { content: " "; display: table; }
.clearfix:after { clear: both; }

