/*
	Linear by TEMPLATED
    templated.co @templatedco
    Released for free under the Creative Commons Attribution 3.0 license (templated.co/license)
*/

@charset 'UTF-8';

/*********************************************************************************/
/* Basic                                                                         */
/*********************************************************************************/

	body
	{
		margin: 0;
		padding: 0;
		background: #161616;
	}

	body,input,textarea,select
	{
		font-family: 'Roboto', sans-serif;
        font-size: 13pt;
		font-weight: 300;
		line-height: 1.75em;
		color: #777;
	}

	h1,h2,h3,h4,h5,h6
	{
		font-weight: 300;
		color: #777;
	}

		h2
		{
			letter-spacing: -0.025em;
		}

		h1 a, h2 a, h3 a, h4 a, h5 a, h6 a
		{
			color: inherit;
			text-decoration: none;
		}

	strong, b
	{
		font-weight: 500;
		color: #000000;
	}

	em, i
	{
		font-style: italic;
	}

	a
	{
		text-decoration: none;
		color: #80BA8E;
	}

	a:hover
	{
		text-decoration: underline;
	}

	sub
	{
		position: relative;
		top: 0.5em;
		font-size: 0.8em;
	}

	sup
	{
		position: relative;
		top: -0.5em;
		font-size: 0.8em;
	}

	hr
	{
		border: 0;
		border-top: solid 1px #ddd;
		margin: 6em 0 0 0;
		padding: 6em 0 0 0;
	}

	blockquote
	{
		border-left: solid 0.5em #ddd;
		padding: 1em 0 1em 2em;
		font-style: italic;
	}

	p, ul, ol, dl, table
	{
		margin-bottom: 1em;
	}

	header
	{
		margin-bottom: 1.6em;
	}

		header h2
		{
		}

		header .byline
		{
			display: block;
			margin: 1.5em 0 0 0;
			padding: 0 0 0.5em 0;
		}

	footer
	{
		margin-top: 1em;
	}

	br.clear
	{
		clear: both;
	}

	.pennant
	{
		color: #bbb;
	}

	/* Sections/Articles */

		section,
		article
		{
			margin-bottom: 3em;
		}

		section > :last-child,
		article > :last-child
		{
			margin-bottom: 0;
		}

		section:last-child,
		article:last-child
		{
			margin-bottom: 0;
		}

		.row > section,
		.row > article
		{
			margin-bottom: 0;
		}

	/* Images */

		.image
		{
			display: inline-block;
		}

			.image img
			{
				display: block;
				width: 100%;
			}

			.image.featured
			{
				display: block;
				width: 100%;
				margin: 0 0 2em 0;
			}

			.image.full
			{
				display: block;
				width: 100%;
				margin-bottom: 2em;
			}

			.image.left
			{
				float: left;
				margin: 0 2em 2em 0;
			}

			.image.centered
			{
				display: block;
				margin: 0 0 2em 0;
			}

				.image.centered img
				{
					margin: 0 auto;
					width: auto;
				}

	/* Lists */

        ul.normal {
            list-style: inside;
        }

		ul.default
		{
			margin: 0;
			padding: 0em 0em 1.5em 0em;
			list-style: none;
		}

			ul.default li
			{
				padding: 0.60em 0em;
				font-size: 0.95em;
				border-top: 1px solid;
				border-color: rgba(0,0,0,.1);
			}

			ul.default li:first-child
			{
				padding-top: 0;
				border-top: none;
			}

			ul.default {
			}

		ul.style li {
			margin: 0;
			padding: 2em 0em 1.5em 0em;
			border-top: 1px solid;
			border-color: rgba(0,0,0,.1);
		}

		ul.style li:first-child
		{
			padding-top: 0;
			border-top: none;
		}

		ul.style img {
			float: left;
			margin-right: 20px;
		}

		ul.style a {
			color: #434343;
		}

		ul.style .posted {
			padding: 0em 0em 1em 0em;
			letter-spacing: 1px;
			text-transform: uppercase;
			font-size: 8pt;
			color: #A2A2A2;
		}

		ul.style .first {
			padding-top: 0px;
			border-top: none;
		}


	/* Buttons */

	.button
	{
		position: relative;
		display: inline-block;
		background: #80BA8E;
		padding: 0.8em 2em;
		text-decoration: none !important;
		font-size: 1.2em;
		font-weight: 300;
		color: #FFF !important;
		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		text-align: center;
		border-radius: 0.25em;
	}

	.button:hover
	{
		background: #70AA7E;
		color: #FFF !important;
	}

/*********************************************************************************/
/* Social Icon Styles                                                            */
/*********************************************************************************/

	ul.contact
	{
		padding: 1.5em 0 0 0;
		list-style: none;
		cursor: default;
	}

	ul.contact li
	{
		display: inline-block;
		margin: 0 1em;
	}

	ul.contact li span
	{
		display: none;
		margin: 0;
		padding: 0;
	}

	ul.contact li a
	{
		color: inherit;
		font-size: 1.75em;
		display: inline-block;
		-moz-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-webkit-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-o-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		-ms-transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
		transition: color 0.35s ease-in-out, background-color 0.35s ease-in-out;
	}

	ul.contact li a:hover
	{
		color: #fff;
	}

/*********************************************************************************/
/* Header                                                                        */
/*********************************************************************************/

	#header
	{
		position: relative;
		background: url(../images/header.webp) no-repeat bottom center;
		background-attachment: fixed;
		background-size: cover;
        background-position: 0 -400px;
		text-align: center;
	}

		#header:before
		{
			content: '';
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background: rgba(64,64,64,0.5);
		}

/*********************************************************************************/
/* Logo                                                                          */
/*********************************************************************************/

	#logo
	{
		position: relative;
		z-index: 1;
        text-shadow: 1em 1em 1em black, 0 0 1em black, 0 0 1em black;
	}

		#logo h1
		{
			color: #FFF;
		}

		#logo a
		{
			display: block;
			text-decoration: none;
			font-weight: 300;
			line-height: 1em;
			font-size: 7em;
			color: #FFF;
			letter-spacing: -0.05em;
			margin: 0 0 0.125em 0;
		}

		#logo span
		{
			font-size: 1.4em;
			color: #FFF;
		}

/*********************************************************************************/
/* Nav                                                                           */
/*********************************************************************************/

	#nav
	{
	}

		#nav-wrapper
		{
			background: rgba(0,0,0,.1);
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
		}

		#nav > ul
		{
			margin: 0;
			padding: 0;
			text-align: center;
		}

		#nav > ul > li
		{
			display: inline-block;
			border-right: 1px solid;
			border-color: rgba(255,255,255,.1);
		}

			#nav > ul > li:last-child
			{
				padding-right: 0;
				border-right: none;
			}

			#nav > ul > li > a,
			#nav > ul > li > span
			{
				display: inline-block;
				padding: 1.5em 1.5em;
				letter-spacing: 0.06em;
				text-decoration: none;
				text-transform: uppercase;
				font-size: 1.1em;
				outline: 0;
				color: #FFF;
			}

			#nav li.active a
			{
				color: #FFF;
			}

			#nav > ul > li > ul
			{
				display: none;
			}

/*********************************************************************************/
/* Main                                                                          */
/*********************************************************************************/

    #sede
	{
		position: relative;
		background: #fff;
	}

	.homepage #content
	{
		text-align: center;
	}

	.homepage #content header h2
	{
	}

	#sidebar h2
	{
		display: block;
		padding-bottom: 0.50em;
	}

/*********************************************************************************/
/* Footer                                                                        */
/*********************************************************************************/

	#footer
	{
		position: relative;
		text-align: center;
	}

	#footer header h2
	{
		color: #FFF !important;
	}

	#footer header .byline
	{
		color: rgba(255,255,255,.2);
	}

/*********************************************************************************/
/* Copyright                                                                     */
/*********************************************************************************/

	#copyright
	{
		position: relative;
		text-align: center;
		color: #774535;
	}

	#copyright .container
	{
		padding: 3em 0em;
		border-top: 1px solid;
		border-color: rgba(255,255,255,.05);
		color:  rgba(255,255,255,.1);
	}

	#copyright a
	{
		text-decoration: none;
		color:  rgba(255,255,255,.2);
	}

/*********************************************************************************/
/* Featured                                                                      */
/*********************************************************************************/

    #featured, #schedule
	{
        position: relative;
		background: #f2f2f2;
	}

    #featured h3, #schedule h3
	{
		display: block;
		font-weight: 300;
        font-size: 2em;
        margin-bottom: 20px;
	}

    #featured .pennant, #schedule .pennant
	{
        display: block;
        margin-bottom: 20px;
		font-size: 4em;
	}

    #featured .button, #schedule .button
	{
		margin-top: 1.5em;
	}

    #schedule {
        table {
            width: 100%;

            td {
                padding: 20px;
                vertical-align: middle;
            }

            th {
                font-weight: bold;
                text-align: left;
                vertical-align: middle;
            }
        }

        .scrollable {
            max-width: 100%;
            overflow: auto;
        }

        .talk {
            width: 100%;
            cursor: pointer;

            .speaker {
                margin-bottom: 5px;
                font-size: .7em;
                line-height: .7em;
            }

            .title {
                margin-bottom: 0;
                font-size: 1.2em;
                line-height: 1.2em;
            }

            .info {
                background-color: #FFF;
                padding: 20px;
                border: 5px solid #000;
                border-radius: 10px;
                z-index: 100;
                position: fixed;
                left: 25vw;
                top: -100vh;
                width: 50vw;
                height: 50vh;
                cursor: auto;
                transition: top .5s;

                &.show {
                    top: 25vh;
                }

                .body {
                    position: relative;
                    height: 100%;
                    max-height: 100%;
                    overflow: auto;

                    ul {
                        list-style: disc;
                        margin-left: 1em;
                    }
                }

                .close {
                    position: absolute;
                    bottom: 0;
                    right: 20px;
                    display: block;
                    text-align: right;
                    text-decoration: none;
                    color: #F00;
                    margin-bottom: 25px;
                    font-size: 30px;
                    font-family: monospace;
                }

                @media (max-width: 480px) {
                    left: 1vw;
                    width: 98vw;
                    height: 98vh;

                    &.show {
                        top: 1vh;
                    }
                }
            }
        }
    }

/*********************************************************************************/
/* Tweet                                                                         */
/*********************************************************************************/

	#tweet
	{
		position: relative;
		text-align: center;
        background: url(../images/header.webp) no-repeat center center;
		background-attachment: fixed;
		background-size: cover;
	}

		#tweet:before
		{
			content: '';
			position: absolute;
			left: 0;
			top: 0;
			width: 100%;
			height: 100%;
			background: rgba(64,64,64,0.5);
		}

		#tweet section
		{
			border-top: 1px solid;
			border-bottom: 1px solid;
			border-color: rgba(255,255,255,.1);
		}

		#tweet blockquote
		{
			position: relative;
			border: none;
			margin: 0;
			font-weight: 300;
			color: rgba(255,255,255,.6);
		}

/*********************************************************************************/
/* Custom                                                                         */
/*********************************************************************************/

#extras {
    position: relative;
    background: #fff;
    padding: 5em 0;

    hr {
        margin: 3em 0 0 0;
        padding: 3em 0 0 0;
    }

    img {
        width: 150px;
    }
}

.middle-align {
    display: flex;
    align-items: center;
    align-content: center;
    flex-direction: row;
}

.middle-column {
    display: flex;
    align-items: center;
    align-content: center;
    flex-direction: column;
    text-align: center;
}

.location-grid {
    display: grid;
    grid-template: 1fr 1fr / 1fr 1fr;

    .map {
        grid-area: 1 / 1 / 3 / 2;
    }

    .photo {
        grid-area: 1 / 2 / 2 / 3;
    }

    .text {
        grid-area: 2 / 2 / 3 / 3;

        display: flex;
        flex-direction: column;
        align-content: center;
        justify-content: center;
        align-items: center;
    }
}

.centered {
    display: flex;
    justify-content: center;
}
