/* TABLE OF CONTENTS
     1. Imports
     2. Global
     3. Banners
     4. Sidebar
     5. Navbar
     6. Slider
     7. Blog
     8. Events
     9. Swiper
    10. Footer
    11. Graphics
    12. Main Menu Buttons
    13. CMS
    14. Agenda Table
	15. Video
	16. Custom
    17. Sponsors
    18. Responsive

    Author: VizVibe, LLC
*/

/* 1. IMPORTS */
@import url('https://fonts.googleapis.com/css?family=Lato:300,400,500,700');
@import url('../css/materialize.css');
@import url('../css/slick.css');
@import url('../css/keyframe.css');
@import url('../css/swipebox.min.css');
@import url('../font-awesome/css/font-awesome.min.css');


/* 2. GLOBAL */
:root {
	--black: #000000;
	--white: #ffffff;
	--grey: #EFEFEF;
	--dark-grey: #cdcdcd;
	--dark-blue: #001c53;
	--blue: #3842CB;
	--red: #c5000a;
	--orange: #fd8402;
}
html { font-family: 'Lato', sans-serif; }
body { 
	height: 100%;
	width: 100%;
	overflow-x: hidden;
    margin: 0; 
	background: #fff;
	line-height: 1.5;
	font-size: 15px;
	color: #444;
}
a, a:link, a:visited, a:hover, a:active { 
    color: var(--dark-blue); 
    text-decoration: none;
}
h1, h2, h3, h4, h5, h6 {
    margin: 0;
    padding: 0;
	font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
}
h1 { 
	font-size: 1.6em; 
	text-transform: uppercase;
	font-weight: 900;
}
h2 { 
	font-size: 1.4em; 
	text-transform: uppercase;
}
h3 {
	font-size: 1em;
	color: #646464;
	text-transform: uppercase;
	font-weight: 500;
	text-align: left;
}
img { border: 0; }
figure { margin: 0; }
hr {
	box-sizing: content-box;
	height: 0;
    border-color: rgba(0, 0, 0, 0.2);
	margin-bottom: 20px;
}
button, input, optgroup, select, textarea {
	color: inherit;
	font: inherit;
	margin: 0;
	height:auto;
}
input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; }
fieldset {
	border: 1px solid #c0c0c0;
	margin: 0 2px;
	padding: 0.35em 0.625em 0.75em;
}
textarea { overflow: auto; }
ul { padding-left: 15px; }
.mobile-hide { display: block; }
.mobile-only { display: none !important; }
.tablet-only { display: none !important; }
.quarter-width { width: 25%; }
.half-width { width: 50%; }
.three-quarter-width { width: 75%; }
.full-width { width: 100%; }
.text-black { color: var(--grey) !important; }
.text-white { color: var(--white) !important; }
.text-blue { color: var(--blue) !important; }
.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }
.text-uppercase { text-transform: uppercase; }

.content-container {
	height: 100%;
	padding: 10px;
	overflow: hidden;
	width: 100%;
	box-sizing: border-box;
}
.bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
}
.base-card {
	background-color: #fff;
	box-shadow: 0px 2px 5px 0 rgba(0,0,0,0.2);
    margin-bottom: 15px;
}
.base-card.info { 
	background: #fafafa;
	margin-bottom: 0; 
}
.base-card_title {
	font-size: 16px;
	font-weight: 700;
	padding: 15px;
	margin:0;
	border-bottom: 1px solid #efefef;
}
.page-bottom {
	display: block;
	margin-bottom: 120px;
}
.div-link { cursor: pointer; }




/* 3. BANNERS */
figure.banner {
	width: 100%;
	margin-bottom: 10px;
	line-height: 0.8;
	position: relative;
}
figure.banner img { width: 100%; }
figure.banner figcaption {
	position: absolute;
	bottom: 0;
	width: 100%;
	border-radius: 50px 50px 0 0;
	padding: 12px 10px;
	background: var(--blue);
	text-align: left;
}
figure.banner figcaption h2 { 
	color: var(--white); 
	font-size: 1.1em;
	font-weight: 500;
}
figure.logo { 
	text-align: center; 
	padding: 15px;
}


/* 4. SIDEBAR */
#agenda li:hover, #agenda li.active { background-color: transparent; }
#agenda-cover {
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.5);
    z-index: 999;
    position: absolute;
    top: 0;
    left: 0;
}
.tabs {
  overflow: hidden;
  background-color: #ccc;
  width: 100%;
  display: block;
  float: left;
  text-align: center;
}
.tabs-content { padding: 15px; }
.tabs-date {
	font-size: 25px;
	font-weight: 300;
}
.tabs-block {
	padding: 15px 0;
	font-size: 14px;
}
.tabs-event {
	padding: 0;
	margin: 0;
	list-style: none;
}
.tabs-event li {
	padding: 10px 0;
	min-height: 65px;
}
.tabs-event li .date-icon {
	float: left;
	width: 48px;
    border: 1px solid var(--dark-blue);
}
.tabs-event li .date-icon span {
	display: block;
	text-align: center;
}
.tabs-event li .date-icon span.date { font-size: 20px; }
.tabs-event li .date-icon span.month {
    background: var(--dark-blue);
	color: #fff;
}
.tabs-event li .event-name { margin-left: 60px; }


/* 5. NAVBAR */
#main {
    padding-top: 56px;
    position: relative;
}
nav {
	background: #fff;
	box-shadow: none;
	height: 56px;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
}
.nav-title {
	text-align: center;
	margin: 0 auto;
	width: 70%;
	padding: 7px 0;
}
.nav-title h1 { 
	padding: 4px 0; 
	text-transform: uppercase;
}
.nav-left { float: left; }
.nav-right {
	float:right;
	padding-right: 10px;
}
.nav-left a, .nav-left div.div-link {
	text-transform: uppercase;
	font-size:22px;
	padding:10px 15px;
	display:inline-block;
	color: #555;
}
.nav-right a, .nav-right div.div-link {
	font-size:22px;
	padding:10px 5px;
	display:inline-block;
	color: #555;
}


/* 6. SLIDER */
.featured-slider {
	background: #999;
	position: relative;
}
.featured-slider .featured-item {
	position: relative;
	height: 220px;
	overflow: hidden;
}
.featured-slider .featured-item .icons {
	position: absolute;
	top: 20px;
	left: 15px;
	width: 30px;
	height: 30px;
	background: #000;
	background: rgba(0,0,0,0.5);
	color: #fff;
	border-radius: 50%;
	padding: 4px 0 0 0;
	text-align: center;
}
.featured-slider .featured-item .thumbnail {
	position: absolute;
	width: 100%;
	height: 100%;
	overflow: hidden;
	top: 0;
	left: 0;
}
.featured-slider .featured-item .thumbnail img, .featured-gallery-slider .featured-item .thumbnail img { width: 100%; }
.featured-slider .featured-item .overlay {
	position: absolute;
	width: 100%;
	height: 80%;
	bottom: 0;
	background: #000;
	background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(transparent), to(#000));
	background: -webkit-linear-gradient(top, transparent, #000);
	background: -moz-linear-gradient(top, transparent, #000);
	background: -ms-linear-gradient(top, transparent, #000);
	background: -o-linear-gradient(top, transparent, #000);
	opacity: 0.8;
}
.featured-slider .featured-item .fullscreen, .featured-gallery-slider .featured-item .fullscreen {
	position: absolute;
	top: 0;
	right: 0;
}
.featured-slider .featured-item .fullscreen a, .featured-gallery-slider .featured-item .fullscreen a {
	font-size: 18px;
	padding: 3px 7px;
	display: inline-block;
	background: #000;
	background: rgba(0,0,0,0.5);
	color: #fff;
}
.featured-slider .slick-dots {
	width: auto;
	position: absolute;
	bottom: 0;
	padding: 0;
	left: 50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}
.featured-slider .slick-dots li {
	float:left;
	margin:0 2px;
	list-style:none;
}
.featured-slider .slick-dots li button {
	width:10px;
	height:10px;
	overflow:hidden;
	border-radius: 50%;
	display:inline-block;
	padding:0;
	font-size:0px;
	border-width: 0;
}
.featured-slider .slick-dots li button { background: none; }
.featured-slider .slick-dots li.slick-active button { background: none; }


/* 7. BLOG */
.blog .blog_content, .blog .blog_action { padding: 15px; }
.blog .blog_action { border-top: 1px solid #efefef; }
.blog .blog_action a {
	color: #000;
	text-decoration: none;
	font-weight: 700;
}

.blog_small {
	float: left;
	width: 100%;
}
.blog_small .blog_rightcontent {
	float: left;
	width: calc(100% - 50px);
	padding-top: 25px;
	padding-right: 3px;
	padding-bottom: 10px;
	color: #0D1268;
}



/* 8. EVENTS */
.base-event .event-content { padding: 15px; }
.base-event_list {
	float: left;
	width: 100%;
}
.base-event_list .date-icon {
	float: left;
	width: 70px;
	text-align: center;
	line-height: 28px;
	padding-top: 10px;
	padding-right: 5px;
	padding-left: 5px;
	padding-bottom: 15px;
	background: #ddd;
}
.base-event_list .event-content {
	float: right;
	width: 98%;
	padding-top: 15px;
	padding-right: 15px;
	padding-left: 15px;
	padding-bottom: 15px;
}
.base-event_list .date-icon span { display: block; }
.base-event_list .date-icon span.day { font-size: 30px; }
.base-event_list .event-content .event-name {
	line-height: 20px;
	margin: 0 0 5px 0;
	font-size: 16px;
}
.base-event_list .event-content .event-name a {
	color: #000;
	text-decoration: none;
}
.base-event_list .event-content .event-location {
	color: #999;
	font-size: 13px;
}


/* 9. SWIPER */
.base-sequence {
	padding: 20px;
	text-align: center;
	min-height: 420px;
}
.base-sequence .items {
	position:relative;
	overflow: hidden;
}
.base-sequence .items .thumb-icon {
	margin: 20px auto 10px auto;
	width: 90%;
	height: auto;
	border-radius: 20%;
	color: #0E1174;
}
.base-sequence .items .thumb-icon img {
	width: 100%;
}
.base-sequence .items .heading {
	font-size: 22px;
	margin: 0 0 20px 0;
	color: #434242;
	font-weight: 700;
}
.base-sequence .items p {
	color: #777;
	font-size: 13px;
}
.base-sequence .slick-dots {
	width:auto;
	position:absolute;
	padding:0;
	left:50%;
	-webkit-transform: translateX(-50%);
	-ms-transform: translateX(-50%);
	transform: translateX(-50%);
}

.base-sequence .slick-dots li {
	float: left;
	margin: 0 2px;
	list-style:none;
}
.base-sequence .slick-dots li button {
	width: 15px;
	height: 3px;
	overflow: hidden;
	background: #999;
}


/* 10. FOOTER */
#top {
	position: fixed;
	right: 30px;
	bottom: 0;
	width: 45px;
	height: 40px;
	text-align: center;
	font-size: 20px;
	cursor: pointer;
	background: rgba(102,102,102,0.5);
	color: #fff;
	z-index: 999;
    display: none;
    border-radius: 5%;	
}
footer { 
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 120px;
	text-align: center; 
}
footer .btn-large { 
	background: url("../images/footer.png") 77% 22%/167% no-repeat; 
	padding: 15px;
	width: 100%;
}
footer.interior {
	height: 120px;
    background: url("../images/footer.png") 45% 10%/200% no-repeat;
}
footer.interior .btn-large { background: transparent; }
footer.interior .btn {
	background: var(--orange);
	width: 40%;
    border-radius: 5px;
    margin-top: 13px;
}
footer.info {
	position: relative;
	height: 80px;
    background: var(--white);
	text-align: left;
}
footer.info .container {
	width: 100%;
	max-width: 100%;
	height: 100%;
	padding: 0;
}
footer.info .container .row > * { 
	padding-right: 0; 
	padding-left: 0; 
}
footer.info .container .row.back { height: 100%; }
footer.info .container .row.back .btn {
	background: var(--red);
	width: 100%;
	height: 100%;
    border-radius: 0 15px 0 0;
	position: relative;
}
footer.info .container .row.back .btn span {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	font-size: 1.2em;
	text-align: center;
	text-transform: uppercase;
}
footer.info img { width: 120px; }
footer.info .container .row .logo { padding-top: 10px; }



/* 11. GRAPHICS */
.thumbnail {position: relative;}
.hero {
    position: relative;
    height: 220px;
    width: 100%;
    overflow: hidden;
}
.hero-image {
    position:absolute;
	width:100%;
	height:100%;
	overflow:hidden;
	top:0;
	left:0;
}
.hero-overlay {
    position:absolute;
    display: block;
    z-index: 9;
	height: 100%;
    width: 100%;
	bottom:0;
    left: 0;
	background: rgba(0, 28, 83, 0.5);
}
.hero-icon {
    position: absolute;
    z-index: 9999;
    left: 40%;
    top: 15px;
}
.hero-icon img{
    width: 80px;
}
.hero-title, .hero-conference {
    text-transform: uppercase;
    z-index: 9999;
    position: absolute;
    color: #fff;
}
.hero-conference {
    font-weight: bold;
    font-size: 30px;
    text-align: center;
    width: 100%;
    top: 100px;
}
.hero-title {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    width: 40%;
    left: 30%;
    top: 140px;
    height: 24px;
    background: rgb(237, 169, 0);
    padding: 0;
}
.conference-welcome-welcome, .conference-welcome-title, .conference-home-welcome, .conference-home-title {
    text-transform: uppercase;
    color: #fff;
    text-align: center;
}
.conference-welcome-welcome {
    display: block;
    position: absolute;
    top: 0;
    width: 40%;
    left: 30%;
    height: 40px;
    font-size: 120%;
    background: var(--dark-blue);
    padding: 10px;
}
.conference-welcome-bar {
    position: absolute;
    width: 100%;
    background: var(--dark-blue);
    height: 60px;
    bottom: 6%;
    z-index: 1;
}
.conference-welcome-icon {
    position: absolute;
    z-index: 2;
    top: 26%;
    width: 100%;
}
.featured-slider .featured-item .thumbnail .conference-welcome-icon img {
    margin: 0 auto;
    width: 80%;
}
.conference-welcome-title {
    position: absolute;
    bottom: 10%;
    width: 100%;
    font-size: 200%;
    font-weight: bold;
    z-index: 3;
}
.conference-welcome-bg {
    width: 100%;
    z-index: 0;
    background: #000;
    overflow: hidden;
}
.conference-welcome-bg img { width: 150%; }

.conference-home-welcome {
    display: block;
    position: absolute;
    top: 0;
    left: 25%;
    width: 50%;
    height: 50px;
    font-size: 160%;
    background: var(--dark-blue);
    padding: 10px;
}
.conference-home-bar {
    position: absolute;
    width: 100%;
    background: var(--dark-blue);
    height: 15px;
    bottom: 0;
    z-index: 1;
}
.conference-home-icon, .conference-home-icon-full {
    position: absolute;
    z-index: 2;
    top: 24%;
    width: 100%;
}
.base-sequence .items .thumb-icon .conference-home-icon img {
    margin: 0 auto;
    width: 50%;
}
.base-sequence .items .thumb-icon .conference-home-icon-full img {
    margin: 0 auto;
    width: 80%;
}
.conference-home-title {
    position: absolute;
    bottom: 4%;
    width: 100%;
    font-size: 280%;
    font-weight: bold;
    z-index: 3;
}
.conference-save-icon {
    position: absolute;
    z-index: 2;
    top: 10%;
    width: 100%;
}
.conference-save-icon p {
    color: #fff;
    font-size: 140%;
    text-transform: uppercase;
    position: absolute;
    left: 46%;
}
.featured-slider .featured-item .thumbnail .conference-save-icon img {
    position: absolute;
    left: 10%;
    width: 120px;
}
.base-sequence .slick-dots li.slick-active button, .base-drawer .slick-dots li.slick-active button { background: #eda900; }
.links .link {
	cursor: pointer;
	margin-bottom: 20px;
}
.links .link img {
	box-shadow: 0px 2px 5px 0 rgba(0,0,0,0.2);
}



/* 12. MAIN MENU BUTTONS */
.directory_icon {
    overflow: hidden;
    float: left;
    width: 40px;
    height: 100px;
    line-height: 0;
    position: relative;
    text-align: center;
}
.directory_icon figure {
    background: var(--dark-blue);
    border-radius: 50%;
    border: 3px solid #fff;
    padding: 0;
    margin: auto;
    width: 70px;
    height: 70px;
    overflow: hidden;
    position: relative;
    top: 15%;
    left: 10px;
    box-shadow: 0 0 4px rgba(0,0,0,0.2);
}
.directory_icon figure img {
    width: 60%;
    margin: 0 auto;
    position: relative;
    top: 15%;
}
.directory_sidebar {
    display: block;
    float: left;
    position: absolute;
    left: 0;
    top: 0;
    background: var(--blue);
    height: 100px;
}
.directory_pointer {
    float: left;
    position: relative;
    left: 10px;
    top: 46%;
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid var(--blue);
}
.directory_button { position: relative; }
.directory_button img, .directory_button h3 {
	display: inline-block;
	position: relative;
}
.directory_button .row { margin-bottom: 0; }
.directory_button img { width: 70px; }
.directory_button h3 { 
	top: 12px;
	font-size: 1.3em;
}
.directory_button .menu-button { position: relative; }
.directory_button .menu-button h3.title { 
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}


/* 13. CMS */
.cms-header, .cms-button {
    display: inline-block; 
    width: 48%; 
    text-align: center;
}
.cms-header-3 {
    display: inline-block; 
    width: 30%;
    text-align: center;
}
.cms-header {
    padding: 15px 0 0 15px; 
    vertical-align: middle; 
    font-size: 140%;
}
.cms-button { font-size: 90%; }
.cms-info {
    text-transform: uppercase; 
    padding: 10px;
    font-size: 120%;
    text-align: center;
}


/* 14. AGENDA TABLE */
.agenda-text {
    font-size: 14px;
    color: var(--dark-blue);
}

table .name {
    font-size: 14px;
    text-transform: capitalize;
}
table .position { font-size: 13px; }
table .company { font-size: 12px; }
table .email { font-size: 12px; }



/* 15. VIDEO */
video.demo { width: 100%; }



/* 16. CUSTOM */
.copy-block { 
	margin: 0;
	padding: 30px 20px; 
	text-align: left;
}
.copy-block figure {
	width: 100%;
	margin: 0;
}
.copy-block figure img { width: 25%; }
.copy-block ul {
	list-style-position: inside;
	font-style: italic;
}
.copy-block ul li { list-style: disc; }
.base-card.info .row.title-block .col-9 { position: relative; }
.base-card.info .row.title-block .col-9 .title { 
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
#tasks ul li {
	list-style: circle;
	list-style-position: outside;
	margin-top: 10px;
}
#steps .row {
	background: var(--grey);
	padding: 10px;
	border-radius: 10px;
	outline: 2px solid var(--dark-grey);
}
#steps .row:hover, #steps .row:focus, #steps .row:target {
	cursor: pointer;
	outline: 2px solid var(--blue);
}
#steps .step-num span {
	position: relative;
	top: 14px;
	display: block;
	width: 40px;
	background: var(--blue);
	text-align: center;
	color: var(--white);
	font-size: 1.2em;
	font-weight: 500;
}
#steps .step-num span::before, #steps .step-num span::after {
	content: "";
	position: absolute;
	border-left: 20px solid transparent;
	border-right: 20px solid transparent;
}
#steps .step-num span::before {
	bottom: 100%;
	left: 0;
	border-bottom: 10px solid var(--blue);
}
#steps .step-num span::after {
	top: 100%;
	left: 0;
	border-top: 10px solid var(--blue);
}
#steps .step-info { position: relative; }
#steps .step-info .info-text {
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}
#steps .step-info h3 { font-size: 1.2em; }
#steps .step-info p { opacity: 0.6; }
button.ar-button {
	width: 100%;
	background: var(--white);
	border: 2px solid var(--blue);
	border-radius: 50px;
	padding: 14px 10px;
	color: var(--blue);
	text-transform: uppercase;
}
button.ar-button:hover, button.ar-button:focus, button.ar-button:target {
	background: var(--blue);
	color: var(--white);
}
.base-card.index .col-7 { position: relative; }
.base-card.index .col-7 .title { 
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	font-weight: 700;
}



/* 17. POPUPS */
#popup {
	display: none;
	position: fixed;
	top: 2%;
	left: 50%;
	transform: translate(-50%, -2%);
	width: 98%;
	padding: 10px;
	background: var(--blue);
}
#popup .popup-close {
	display: block;
	width: 100%;
	margin-top: 10px;
	border: 0;
	padding: 10px;
	background: var(--white);
	color: var(--blue);
	font-size: 1.2em;
	text-align: center;
}
#popup .popup-close:hover, #popup .popup-close:focus, #popup .popup-close:target {
	background: var(--blue);
	color: var(--white);
}
#popup.visible { display: block; }
#popup img { width: 100%; }


/* 17. SPONSORS */
.sponsors-1, .sponsors-2, .sponsors-3 { text-align: center; }
.sponsors-1 a, .sponsors-2 a, .sponsors-3 a { display: inline-block; }
.sponsors-1 a { width: 100%; }
.sponsors-2 a { width: 48%; }
.sponsors-3 a { width: 33%; }
.sponsors-1 a img, .sponsors-2 a img, .sponsors-3 a img {width: 100%;}



/* 18. RESPONSIVE */
@media screen and (min-width: 768px) {
	.featured-slider .featured-item { height: 500px; }
}

@media screen and (max-width: 374px) {
	.featured-slider .featured-item { height: 200px; }
}