/* group is amore sematic name for clearfix by @simplebits */ .group:before, .group:after { content: ' '; display: table; }.group:after { clear: both; }.group { *zoom: 1; }/*------------------------------------*\ $VARIABLES \*------------------------------------*/ /*------------------------------------*\ $MIXINS \*------------------------------------*/ /*------------------------------------*\ $EXTENDS \*------------------------------------*/ .site-header__background, .speaker__details { -moz-backface-visibility: hidden; -ms-backface-visibility: hidden; -webkit-backface-visibility: hidden; backface-visibility: hidden; -moz-perspective: 1000; -ms-perspective: 1000; -webkit-perspective: 1000; perspective: 1000; -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ /** * 1. Set default font family to sans-serif. * 2. Prevent iOS and IE text size adjust after device orientation change, * without disabling user zoom. */ html { font-family: sans-serif; /* 1 */ -ms-text-size-adjust: 100%; /* 2 */ -webkit-text-size-adjust: 100%; /* 2 */ }/** * Remove default margin. */ body { margin: 0; }/* HTML5 display definitions ========================================================================== */ /** * Correct `block` display not defined for any HTML5 element in IE 8/9. * Correct `block` display not defined for `details` or `summary` in IE 10/11 * and Firefox. * Correct `block` display not defined for `main` in IE 11. */ article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary { display: block; }/** * 1. Correct `inline-block` display not defined in IE 8/9. * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera. */ audio, canvas, progress, video { display: inline-block; /* 1 */ vertical-align: baseline; /* 2 */ }/** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */ audio:not([controls]) { display: none; height: 0; }/** * Address `[hidden]` styling not present in IE 8/9/10. * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22. */ [hidden], template { display: none; }/* Links ========================================================================== */ /** * Remove the gray background color from active links in IE 10. */ a { background-color: transparent; }/** * Improve readability of focused elements when they are also in an * active/hover state. */ a:active, a:hover { outline: 0; }/* Text-level semantics ========================================================================== */ /** * Address styling not present in IE 8/9/10/11, Safari, and Chrome. */ abbr[title] { border-bottom: 1px dotted; }/** * Address style set to `bolder` in Firefox 4+, Safari, and Chrome. */ b, strong { font-weight: bold; }/** * Address styling not present in Safari and Chrome. */ dfn { font-style: italic; }/** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+, Safari, and Chrome. */ h1 { font-size: 2em; margin: 0.67em 0; }/** * Address styling not present in IE 8/9. */ mark { background: #ff0; color: #000; }/** * Address inconsistent and variable font size in all browsers. */ small { font-size: 80%; }/** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */ sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }sup { top: -0.5em; }sub { bottom: -0.25em; }/* Embedded content ========================================================================== */ /** * Remove border when inside `a` element in IE 8/9/10. */ img { border: 0; }/** * Correct overflow not hidden in IE 9/10/11. */ svg:not(:root) { overflow: hidden; }/* Grouping content ========================================================================== */ /** * Address margin not present in IE 8/9 and Safari. */ figure { margin: 1em 40px; }/** * Address differences between Firefox and other browsers. */ hr { box-sizing: content-box; height: 0; }/** * Contain overflow in all browsers. */ pre { overflow: auto; }/** * Address odd `em`-unit font size rendering in all browsers. */ code, kbd, pre, samp { font-family: monospace, monospace; font-size: 1em; }/* Forms ========================================================================== */ /** * Known limitation: by default, Chrome and Safari on OS X allow very limited * styling of `select`, unless a `border` property is set. */ /** * 1. Correct color not being inherited. * Known issue: affects color of disabled elements. * 2. Correct font properties not being inherited. * 3. Address margins set differently in Firefox 4+, Safari, and Chrome. */ button, input, optgroup, select, textarea { color: inherit; /* 1 */ font: inherit; /* 2 */ margin: 0; /* 3 */ }/** * Address `overflow` set to `hidden` in IE 8/9/10/11. */ button { overflow: visible; }/** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera. * Correct `select` style inheritance in Firefox. */ button, select { text-transform: none; }/** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */ button, html input[type="button"], input[type="reset"], input[type="submit"] { -webkit-appearance: button; /* 2 */ cursor: pointer; /* 3 */ }/** * Re-set default cursor for disabled elements. */ button[disabled], html input[disabled] { cursor: default; }/** * Remove inner padding and border in Firefox 4+. */ button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }/** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */ input { line-height: normal; }/** * It's recommended that you don't attempt to style these elements. * Firefox's implementation doesn't respect box-sizing, padding, or width. * * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */ input[type="checkbox"], input[type="radio"] { box-sizing: border-box; /* 1 */ padding: 0; /* 2 */ }/** * Fix the cursor style for Chrome's increment/decrement buttons. For certain * `font-size` values of the `input`, it causes the cursor style of the * decrement button to change from `default` to `text`. */ input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { height: auto; }/** * 1. Address `appearance` set to `searchfield` in Safari and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome. */ input[type="search"] { -webkit-appearance: textfield; /* 1 */ box-sizing: content-box; /* 2 */ }/** * Remove inner padding and search cancel button in Safari and Chrome on OS X. * Safari (but not Chrome) clips the cancel button when the search input has * padding (and `textfield` appearance). */ input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }/** * Define consistent border, margin, and padding. */ fieldset { border: 1px solid #c0c0c0; margin: 0 2px; padding: 0.35em 0.625em 0.75em; }/** * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */ legend { border: 0; /* 1 */ padding: 0; /* 2 */ }/** * Remove default vertical scrollbar in IE 8/9/10/11. */ textarea { overflow: auto; }/** * Don't inherit the `font-weight` (applied by a rule above). * NOTE: the default cannot safely be changed in Chrome and Safari on OS X. */ optgroup { font-weight: bold; }/* Tables ========================================================================== */ /** * Remove most spacing between table cells. */ table { border-collapse: collapse; border-spacing: 0; }td, th { padding: 0; }@font-face { font-family: 'latohairline'; src: url("../fonts/Lato/lato-hairline-webfont.eot"); src: url("../fonts/Lato/lato-hairline-webfont.eot#iefix") format("embedded-opentype"), url("../fonts/Lato/lato-hairline-webfont.woff") format("woff2"), url("../fonts/Lato/lato-hairline-webfont.woff") format("woff"), url("../fonts/Lato/lato-hairline-webfont.ttf") format("truetype"), url("../fonts/Lato/lato-hairline-webfont.svg") format("svg"); font-weight: normal; font-style: normal; } @font-face { font-family: 'latoregular'; src: url("../fonts/Lato/lato-regular-webfont.eot"); src: url("../fonts/Lato/lato-regular-webfont.eot#iefix") format("embedded-opentype"), url("../fonts/Lato/lato-regular-webfont.woff") format("woff2"), url("../fonts/Lato/lato-regular-webfont.woff") format("woff"), url("../fonts/Lato/lato-regular-webfont.ttf") format("truetype"), url("../fonts/Lato/lato-regular-webfont.svg") format("svg"); font-weight: normal; font-style: normal; } body { font-size: 1.375em; line-height: 1.90909; font-family: "latoregular", Arial, sans-serif; }h1, h2, h3, h4, h5, h6 { color: #111111; font-size: 1em; }h1, h2, h3, h4, h5, h6, p { margin: 0 0 0.8em; }a { border-bottom: 1px solid currentColor; color: #068ab6; text-decoration: none; }hr { border: 1px dashed #999999; margin: 2em 0; }ol, ul { margin: 0 1em 1em; }/** * Type defininitions **/ .double-pica { font-size: 1.90909em; line-height: 1.33333; text-transform: uppercase; }.paragon { font-size: 1.18182em; line-height: 1.5; }.great-primer { font-size: 1em; line-height: 1.5; font-family: 'latohairline', Arial, sans-serif; font-weight: normal; }.pica { font-size: 1em; line-height: 1.5; font-weight: bold; }.long-primer { font-size: 0.81818em; line-height: 1.5; }.sg-region { margin: 0 auto 5em; max-width: 50em; }.sg-colors { display: inline-block; margin: 0; padding: 0; width: 100%; } .sg-colors li { border: 1px solid #999999; float: left; list-style-type: none; margin: 0 0.5em 0.5em 0; padding: 8px; overflow: hidden; width: 15%; } .sg-colors li:last-child { margin-right: 0; }.sg-swatch { display: block; } .sg-swatch:before { content: ''; display: block; padding-top: 100%; } .sg-swatch--primary { background-color: #068ab6; } .sg-swatch--primary-light { background-color: #29c9f5; } .sg-swatch--primary-dark { background-color: #084e71; } .sg-swatch--primary-pale { background-color: #E9FAFF; } .sg-swatch--dark { background-color: #111111; } .sg-swatch--muted { background-color: #999999; } .sg-swatch--muted-light { background-color: #f2f2f2; } .sg-swatch--muted-dark { background-color: #555; } .sg-swatch--light { background-color: #ffffff; }.sg-inverse { background-color: #111111; } .sg-inverse .sg-label { color: #ffffff; }.sg-label { font-size: 0.5em; line-height: 1; }.sg-heading { font-size: 1.81818em; line-height: 1.2; font-weight: bold; text-transform: uppercase; }.sg-subheading { font-size: 1.45455em; line-height: 1.25; font-style: italic; font-weight: normal; margin-top: 1.6em; }/** * Main */ .main { padding-bottom: 50px; padding-top: 90px; }/** * Title */ .title { text-align: center; }.site-header { background: #ccc url("../images/background.jpg") no-repeat; background-size: cover; text-align: center; } .site-header--home { position: relative; } @media (min-width: 60em) and (max-width: 87.5em) { .site-header--home:before { content: ''; display: block; padding-top: 64.28571%; } } @media (min-width: 87.5em) { .site-header--home { height: 900px; } } .site-header__hero { color: #ffffff; } @media (max-width: 43.75em) { .site-header__hero { font-size: .8em; } } @media (max-width: 60em) { .site-header__hero { padding: 2em; } } @media (min-width: 60em) and (max-width: 87.5em) { .site-header__hero { position: absolute; top: 20%; width: 100%; } } @media (min-width: 87.5em) { .site-header__hero { padding-top: 10em; } } .site-header__hero svg { display: inline-block; height: 125px; margin-bottom: 1.5em; width: 243px; }/* START: Hero Animation */ @keyframes hero { 0% { transform: rotate(0) scale(1); } 100% { transform: rotate(10deg) scale(2); } } .site-header--home { background: none; overflow: hidden; }.site-header__background { animation: hero 60s alternate infinite; background: #ccc url("../images/background.jpg") no-repeat; background-size: cover; width: 100%; height: 900px; position: absolute; top: 0; z-index: -1; }/* END: Hero Animation */ .header-strip { background-color: #068ab6; position: relative; text-align: left; } @media (min-width: 60em) { .site-header--home .header-strip { bottom: 0; position: absolute; width: 100%; } }.site-title { border: 0; position: absolute; top: -15px; } .site-title svg { display: block; width: 243px; height: 125px; } @media (max-width: 79em) { .site-title { left: 50%; margin-left: -121px; } } .site-header--home .site-title { display: none; }.page-header { text-align: center; } .page-header__desc { color: #7f7f7f; }.sponsor-strip { background-color: #f2f2f2; padding: 4em 0 2em; text-align: center; }.sponsors__heading { text-transform: uppercase; }.sponsor-region { margin-top: 2em; }.sponsor-list { margin: 0 0 2em; padding: 0; } .sponsor-list--headline img { max-width: 100%; } .sponsor-list--silver img { max-width: 80%; } .sponsor-list__item { display: inline-block; list-style: none; margin: 0; padding: 0; position: relative; } .sponsor-list__item--autotrader img { background-color: #ffffff; padding: 53px 12px; } .sponsor-list__item--make-do { max-width: 80%; width: 270px; } .sponsor-list__link { border: 0; display: block; height: 100%; overflow: hidden; position: absolute; text-decoration: none; text-indent: -25em; top: 0; width: 100%; z-index: 1; }.footer-info { background-color: #111111; color: #ffffff; padding: 4em 0; }.footer-panel p { margin-bottom: 1.5em; } @media (max-width: 60em) { .footer-panel--about { margin-bottom: 4em; } } @media (min-width: 60em) { .footer-panel { float: left; width: 47%; } .footer-panel--about { margin-right: 6%; } }.nav { margin: 0; padding: 0; /* modifiers */ } .nav__item { display: inline-block; line-height: 3.7; margin: 0; padding: 0; text-transform: uppercase; } .nav__item--selected, .nav__item--selected .nav__link { color: #068ab6; } .nav__item--selected:focus, .nav__item--selected:hover, .nav__item--selected .nav__link:focus, .nav__item--selected .nav__link:hover { background-color: #ffffff; cursor: default; } @media (max-width: 20em) { .nav__item { display: block; line-height: 2.5; } } .nav__link { border-bottom: 0; color: #ffffff; display: block; padding: 0 1.5em; } .nav__link:focus, .nav__link:hover { background-color: #084e71; } .nav--primary { background-color: #068ab6; height: 100%; margin-left: 300px; text-align: right; } @media (min-width: 79em) { .nav--primary .nav__item { line-height: 95px; } } .nav--primary .nav__item--selected { background-color: #ffffff; } @media (max-width: 60em) { .nav--primary { text-align: left; } } @media (min-width: 60em) and (max-width: 79em) { .nav--primary { text-align: center; } } @media (max-width: 79em) { .nav--primary { margin: 125px -2em 0; } .site-header--home .nav--primary { margin-top: 0; } } .nav--event { background-color: rgba(0, 0, 0, 0.5); display: inline-block; text-align: center; } @media (max-width: 60em) { .site-header--home .nav--event { left: 0; width: 100%; } } @media (min-width: 60em) { .site-header--home .nav--event { left: 50%; min-width: 20em; position: absolute; top: 0; transform: translateX(-50%); } } .nav--event .nav__item--selected, .nav--event .nav__item--selected .nav__link { color: #068ab6; } .nav--event .nav__item--selected:focus, .nav--event .nav__item--selected:hover, .nav--event .nav__item--selected .nav__link:focus, .nav--event .nav__item--selected .nav__link:hover { background-color: inherit; cursor: default; }.media { margin-bottom: 2em; } .media__img { background-color: #f2f2f2; float: left; margin-right: 30px; max-width: 280px; width: 100%; } .media__img:before { content: ''; display: block; padding-top: 100%; } .media__heading { line-height: 1; margin-bottom: 0; text-transform: uppercase; } .media__copy { color: #111111; } @media (max-width: 43.75em) { .media__copy { clear: left; padding-top: 1em; } } @media (min-width: 43.75em) { .media__copy { padding-top: 30px; } } .media p { margin-top: 1em; }.faq-item__body { margin-bottom: 2em; }.speaker-grid { position: relative; width: 100%; } @media (min-width: 32em) and (max-width: 60em) { .speaker-grid:before { content: ''; display: block; padding-top: 160%; } } @media (min-width: 60em) { .speaker-grid:before { content: ''; display: block; padding-top: 60%; } }.speaker { background-color: #111111; overflow: hidden; position: absolute; } @media (max-width: 32em) { .speaker { border-bottom: 2px solid #068ab6; position: relative; width: 100%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker { width: 40%; } } @media (min-width: 32em) { .speaker:before { content: ''; display: block; padding-top: 100%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker--alice { left: 20%; top: 0; } } @media (min-width: 60em) { .speaker--alice { right: 0; top: 0; width: 40%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker--charlotte { left: 0; top: 25%; } } @media (min-width: 60em) { .speaker--charlotte { top: 0; width: 20%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker--derek { right: 20%; top: 25%; } } @media (min-width: 60em) { .speaker--derek { left: 20%; top: 0; width: 20%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker--lena { right: 0; top: 50%; } } @media (min-width: 60em) { .speaker--lena { bottom: 0; left: 0; width: 40%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker--mariko { right: 0; top: 0; } } @media (min-width: 60em) { .speaker--mariko { bottom: 0; left: 40%; width: 20%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker--rebecca { bottom: 0; left: 0; } } @media (min-width: 60em) { .speaker--rebecca { left: 40%; top: 33.33%; width: 20%; } } @media (min-width: 32em) and (max-width: 60em) { .speaker--peter { left: 20%; top: 50%; } } @media (min-width: 60em) { .speaker--peter { bottom: 0; right: 20%; width: 20%; } } .speaker__img { max-width: 100%; } @media (max-width: 22em) { .speaker__img { width: 100%; } } @media (min-width: 22em) and (max-width: 32em) { .speaker__img { float: right; position: relative; width: 40%; } .speaker--lena .speaker__img, .speaker--peter .speaker__img, .speaker--rebecca .speaker__img, .speaker--derek .speaker__img { float: left; } } @media (min-width: 32em) { .speaker__img { position: absolute; top: 0; width: 100%; } } @media (min-width: 22em) { .speaker__inner { padding: 1em; } } @media (min-width: 22em) and (max-width: 32em) { .speaker__inner { margin-right: 40%; text-align: right; } .speaker--lena .speaker__inner, .speaker--peter .speaker__inner, .speaker--rebecca .speaker__inner, .speaker--derek .speaker__inner { margin-left: 40%; margin-right: auto; text-align: left; } } @media (min-width: 32em) { .speaker__inner { background: -moz-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.9) 100%); /* FF3.6-15 */ background: -webkit-linear-gradient(top, transparent 0%, rgba(0, 0, 0, 0.9) 100%); /* Chrome10-25,Safari5.1-6 */ background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.9) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ bottom: 0; height: 100%; opacity: 0; position: absolute; transition: opacity .5s ease; width: 100%; z-index: 10; } } @media (max-width: 22em) { .speaker__details { padding: 1em; } } @media (min-width: 32em) { .speaker__details { bottom: 1em; padding-right: 1em; position: absolute; transform: translateY(20%); transition: transform .5s ease; } } .speaker__name { color: #068ab6; line-height: 1.2; margin: 0; text-transform: uppercase; } @media (min-width: 32em) { .speaker__name { text-shadow: 0 0 10px #000; } } @media (min-width: 32em) { .speaker:focus .speaker__inner, .speaker:hover .speaker__inner { opacity: 1; } .speaker:focus .speaker__details, .speaker:hover .speaker__details { transform: translateY(0); } }.speaker-tile { background-color: #ffffff; color: #068ab6; overflow: hidden; position: absolute; text-transform: uppercase; } @media (min-width: 32em) { .speaker-tile:before { content: ''; display: block; padding-top: 100%; } } .speaker-tile__inner { bottom: 0; height: 100%; position: absolute; width: 100%; } @media (max-width: 40em) { .speaker-tile--title { display: none; } } @media (min-width: 40em) and (max-width: 60em) { .speaker-tile--title { left: 0; top: 0; width: 20%; } } @media (min-width: 60em) { .speaker-tile--title { left: 40%; top: 0; width: 20%; } } .speaker-tile--bursary { background-color: #068ab6; } @media (max-width: 32em) { .speaker-tile--bursary { display: block; position: relative; } .speaker-tile--bursary .speaker-tile__inner { position: relative; } .speaker-tile--bursary .speaker-tile__heading { display: block; padding: 2em 1em; position: relative; transform: none; } } @media (min-width: 32em) and (max-width: 60em) { .speaker-tile--bursary { bottom: 0; right: 20%; width: 40%; } } @media (min-width: 60em) { .speaker-tile--bursary { bottom: 0; right: 0; width: 20%; } } .speaker-tile--bursary .speaker-tile__heading { color: #ffffff; } .speaker-tile__heading { color: #068ab6; margin: 0 5%; position: absolute; text-align: center; top: 50%; transform: translateY(-50%); width: 90%; }a.speaker__link { border-bottom: 0; color: #ffffff; }.map { display: block; position: relative; } .map__img { width: 100%; } .map__inner { background-color: #ffffff; padding: 1.25em; } @media (min-width: 43.75em) { .map__inner { left: 0; position: absolute; top: 0; width: 40%; } } @media (min-width: 87.5em) { .map__inner { padding: 2em; } } .map__heading { color: #068ab6; text-transform: uppercase; } .map__address { color: #111111; } @media (min-width: 43.75em) { .map { border-bottom: 0; } }.schedule-item { margin-bottom: 1em; padding: 1em; position: relative; } @media (min-width: 22em) and (max-width: 43.75em) { .schedule-item { padding: 2em; } } @media (min-width: 43.75em) { .schedule-item { padding: 2em 2em 2em 7em; } .schedule-item__timestamp { left: 2em; line-height: 1; position: absolute; top: 2em; } } .schedule-item--interlude { background-color: #f2f2f2; } .schedule-item--talk { background-color: #E9FAFF; } .schedule-item__speaker { border-bottom: 0; color: #111111; display: block; margin-bottom: .5em; text-transform: uppercase; } .schedule-item__title { color: #068ab6; } @media (min-width: 40em) { .schedule-item__title { margin-bottom: .2em; } }* { box-sizing: border-box; }/* * 1. Prevents horizontal scroll caused by hero animation */ body { background-color: #ffffff; overflow-x: hidden; /* 1 */ }.page-content { color: #555; margin-top: 50px; }.container { margin-left: 1em; margin-right: 1em; max-width: 59em; } @media (min-width: 40em) and (max-width: 60em) { .container { margin-left: 2em; margin-right: 2em; } } @media (min-width: 60em) { .container { margin-left: auto; margin-right: auto; } }.content-wrapper { margin: 0 1em; max-width: 38em; } @media (min-width: 40em) and (max-width: 60em) { .content-wrapper { margin-left: 2em; margin-right: 2em; } } @media (min-width: 60em) { .content-wrapper { margin-left: auto; margin-right: auto; } }.tickets { padding: 4em 2em; text-align: center; } .tickets__heading { text-transform: uppercase; }