/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
 	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/* ++++++++++++++++++++++++++++ END RESET */





/* **************************************/
/* **************************************  @FONT-FACE  */
@font-face {
 font-family: Etelka Thin;
 src:url(../fonts/EtelkaThin/EtelkaThin.woff2) format("woff2"),
	 url(../fonts/EtelkaThin/EtelkaThin.woff) format("woff"),
	 url(../fonts/EtelkaThin/EtelkaThin.otf) format("opentype");
 font-weight:400;
 font-style:normal;
 font-display: swap;
}
@font-face {
 font-family: Etelka Light;
 src:url(../fonts/EtelkaLight/EtelkaLight.woff2) format("woff2"),
	 url(../fonts/EtelkaLight/EtelkaLight.woff) format("woff"),
	 url(../fonts/EtelkaLight/EtelkaLight.otf) format("opentype");
 font-weight:400;
 font-style:normal;
 font-display: swap;
}
@font-face {
	font-family: Etelka Text;
	src: url(../fonts/EtelkaText/EtelkaText.woff2) format("woff2"),
		url(../fonts/EtelkaText/EtelkaText.woff) format("woff"),
		url(../fonts/EtelkaText/EtelkaText.otf) format("opentype");
	font-weight:400;
	font-style:normal;
	font-display: swap;
}
@font-face {
	font-family: Etelka Medium;
	src: url(../fonts/EtelkaMedium/EtelkaMedium.woff2) format("woff2"),
		url(../fonts/EtelkaTeMediumxt/EtelkaMedium.woff) format("woff"),
		url(../fonts/EtelkaMedium/EtelkaMedium.otf) format("opentype");
	font-weight:400;
	font-style:normal;
	font-display: swap;
}
@font-face {
 font-family:Etelka Wide Medium;
	src:url(../fonts/EtelkaWideMedium/EtelkaWideMedium.woff2) format("woff2"),
		url(../fonts/EtelkaWideMedium/EtelkaWideMedium.woff) format("woff"),
		url(../fonts/EtelkaWideMedium/EtelkaWideMedium.otf) format("opentype");
	font-weight:700;
    font-style:normal;
	font-display: swap;
}








/* **************************************/
/* **************************************  GENERAL  */
html {
  scroll-behavior: smooth;
}
body {
	background: #fff;
	color: #3F3F3F;
	font-family: Etelka Light, sans-serif; 
	font-weight: 400;
	font-size: 18px; 
	line-height: 26px;
	padding: 0 0 0 0;
	margin: 0;
	border: 0px solid red;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: auto ;
	grid-gap: 20px; 
	grid-row-gap: 0;
}
br, p {
  margin: 0 0 20px 0;	
}
.progress-container {
	position: -webkit-sticky;
	position: sticky; 
	top: 0;
	grid-column: 1 / 13;
	height: 2px;
	background: rgba(255, 255, 255, 0);
	outline: 0px solid red;
	z-index: 1000;
}
.progress-bar {
  height: 5px;
  background-image: linear-gradient(to right, #97C21E, #EFE300, #F28F00, #E30617, #6A2167, #006AB3, #B6DEDF);
  width: 0%;
}

/* **************************************/
/* **************************************  TYPE  */
a {
	color: #006AB3;
	text-decoration: none;
}
:focus {
	outline: 0.5em solid pink;
	border-radius: 0.25em;
}
a:hover {
	color: #000;
	text-decoration: none;
}
p a {
  border-bottom: 3px solid rgba(0, 106, 179, 0.3);
	padding: 0 0 1px 0;
}
p a:hover {
  border-bottom: 3px solid rgba(0, 106, 179, 1);
}
h1 {
	font-family: Etelk Medium, sans-serif; 
	font-weight: 900;
	font-size: 60px; 
	line-height: 65px;
	letter-spacing: normal;
	
	padding: 0 0 40px 0;
	background-repeat: no-repeat;
	background-position: left bottom;
	margin: 0 0 30px 0;
	outline: 0px solid red;
}
h2 {
	font-family: Etelka Medium, sans-serif; 
	font-weight: 400;
	font-size: 19px; 
	color: #000;
	line-height: 26px;
	letter-spacing: normal;
	}
h3 {
	font-family: Etelka Wide Medium, sans-serif; 
	font-weight: 400;
	font-size: 30px; 
	letter-spacing: normal;
	padding: 0 0 20px 0;
	}
#intro h3,
#mapIntro h3,
.techSlide h3 {
	font-weight: 700;
	line-height: 40px;
	color: #000;
	padding: 50px 0 30px 0;
	border-top: 1px solid #F2F2F2;
}
#mapIntro h3 {
	padding-top: 0;
	border-top: none;
}
h4 {
	font-family: Etelka Text, sans-serif; 
	font-weight: 700;
	font-size: 18px;
	line-height: 1.2rem;
	padding: 0 0 10px 0;
}
h5 {
	font-family: Etelka Text, sans-serif; 
	font-weight: 700;
	font-size: 18px; 
	line-height: 1.2rem;
	padding: 0 0 10px 0;
}
.small {
	font-size: 14px;
	line-height: 18px;
	}
.smallPrint {
	padding: 10px 0 0 0;
	clear: both;
}
.thin {
	font-family: Etelka Light, sans-serif; 
	font-weight: 300;
}
.bold {
	font-family: Etelka Medium, sans-serif; 
	font-weight: 400;
	color: #000;
}
.italic {
	font-style: italic;
}
.callout {
	font-family: Etelka Thin, sans-serif; 
	font-weight: 300;
	font-size: 26px; 
	line-height: 36px;
	padding: 0 0 10px 0;
	margin: 0 0 50px 0;
	outline: 0px solid red;
}

/* **************************************/
/* **************************************  LOGO  */
.logo {
	grid-column: 1 / 4;
	grid-row: auto;
	outline: 0px solid red;
	padding: 0 0 0 100px;
	display: flex;
	flex-flow: column;
	justify-content: center;  
	height: 90vh;
	position: -webkit-sticky;
	position: sticky; 
	top: 39px; 
	z-index: 1000;
}
.logoImg {
	background-image: url(../images/assets/logo-1.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 80% 80%;
	height: 100px;
	outline: 0px solid black;
	background-color: #fff;
	border-radius: 50px;
}

/* **************************************/
/* **************************************  BACK TO TOP BUTTON */
.top {
	position: fixed; 
	bottom: 20px;
	right: 20px;
	z-index: 1000;
	background-image: url(../images/assets/arrows/arrow-up.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-color: #fff;
	background-size: 15px;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	border: 0px solid #3F3F3F;
	outline: 0px solid red;
}
.top:hover {
	background-image: url(../images/assets/arrows/arrow-up-white.svg);
	background-color: #006AB3;
}

/* **************************************/
/* **************************************  HEADER  */
header {
	grid-column: 5 / 13;
	grid-row: auto;
	text-align: left;
	padding: 50px 100px 50px 150px;
	margin: -2px 0 0 0;
	border: 0px solid pink;
	border-left: 5px solid #3F3F3F;
	background-color: #fff; 
	display: flex;
	flex-flow: column;
	justify-content: center;  
	height: 90vh;
	min-height: 850px;
	outline: 0px solid red;
}
.headerWrapper {
  outline: 0px solid red;
}
/* Year count 2021 */
header h2 {
	font-size: 24px; 
	color: #000;
	line-height: 26px;
	letter-spacing: normal;
	padding: 5px 30px;
	border-radius: 30px;
	outline: 0px solid red;
	display: inline-block;
	background-color: #fff;
	border: 5px solid #fff;
	color: #000;
	margin: 0 0 0 -218px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.1);	
	}
.introBlurb {
	font-family: Etelka Thin, sans-serif; 
	font-weight: 400;
	font-size: 40px; 
	line-height: 60px;
	outline: 0px solid red;
	margin: -50px 0 50px 0;
}
.introBlurb-bold {
	font-family: Etelka Medium, sans-serif; 
	font-weight: 700;
	color: #000;
}
.topAnchorlink {
	padding: 10px 20px 10px 50px;
	margin: 0 20px 20px 0;
	border-radius: 30px;
	color: #006AB3;
	display: inline-block;
	background-repeat: no-repeat;
	background-position: 20px center;
	transition: 0.3s;
	background-color: #F2F7FB;
	border: 3px solid #fff;
	background-image: url(../images/assets/arrows/arrow-down.svg);
}
.topAnchorlink:hover {
	background-color: #006AB3;
	border: 3px solid #006AB3;
	color: #fff;
	text-decoration: none;
	background-image: url(../images/assets/arrows/arrow-down-white.svg);
	transition: 0.3s;
}

/* **************************************/
/* **************************************  INTRO */
#intro {
	grid-column: 5 / 13;
	grid-row: auto;
	outline: 0px solid purple;
	text-align: left;
	padding: 0 100px 50px 150px;
	margin: 0 0 0 0;
	border: 0px solid pink;
	border-left: 5px solid #3F3F3F;
	background-color: #fff;
}

/* **************************************/
/* **************************************  MAP */
#mapIntro {
	grid-column: 5 / 13;
	grid-row: auto;
	outline: 0px solid purple;
	text-align: left;
	padding: 0 100px 150px 150px;
	margin: 0 0 0 0;
	outline: 0px solid pink;
	border-left: 5px solid #3F3F3F;
	background-color: #fff;
}
#map {
	grid-column: 1 / 13;
	grid-row: auto;
	outline: 0px solid purple;
	margin: 0 0 0 0;
	outline: 0px solid pink;
	border-left: 0px solid #3F3F3F;
	background-color: #999;
	height: 80vh;	
}
#map iframe {
	width: 100%;
	height: 100%;
	border: none;
}
#marker {
	background-image: url(../images/assets/map-marker.png);
	background-size: cover;
	background-color: #fff;
	border: 2px solid #fff;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.19);
	width: 35px;
	height: 35px;
	border-radius: 50%;
	cursor: pointer;
}
.mapboxgl-popup {
	max-width: 200px;
}
.mapMarkerContent {
	outline: 1px solid red;
}

/* **************************************/
/* **************************************  TIMELINE */
#timeline {
	grid-column: 1 / 13;
	grid-row: auto;
	margin: 0 0;
	padding:0;
	border: 0px solid red;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: auto ;
	grid-gap: 20px; 
	grid-row-gap: 0;
}
#timelineTitle {
	grid-column: 5 / 13;
	grid-row: auto;
	text-align: left;
	padding: 50px 100px 50px 150px;
	margin: 0 0 0 0;
	outline: 0px solid pink;
	border-left: 5px solid #3F3F3F;
	background-color: #fff;
	cursor: pointer;
}
#timelineTitle h2 {
	font-weight: 700;
	font-size: 45px; 
	line-height: 65px;
	padding: 50px 0 0 0;
}
.year {
	grid-column: 5 / 13;
	grid-row: auto;
	text-align: left;
	padding: 50px 100px 70px 150px;
	margin: 0 0 0 0;
	border: 0px solid pink;
	border-left: 5px solid #3F3F3F;
	background-color: rgba(0, 106, 179, 0.05);
	background-image: none;
	cursor: pointer;	
	}
.year:hover {
 	background-image: url(../images/assets/plus-grey.svg);
	background-repeat: no-repeat;
	background-position: 95% 60px;
}
/* Year count */
.year h2 {
	padding: 3px 20px;
	border-radius: 30px;
	outline: 0px solid red;
	display: inline-block;
	background-color: #3F3F3F;
	border: 5px solid #3F3F3F;
	color: #fff;
	position: relative;
	top: 0;
	left: -202px;
	}
.year:hover h2 {
	padding: 3px 30px;
	background-color: #fff;
	border: 5px solid #fff;
	color: #000;
	transition: 0.3s;
	position: relative;
	top: 0;
	left: -210px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
}
.active h2 {
	padding: 3px 30px;
	border-radius: 30px;
	outline: 0px solid red;
	display: inline-block;
	background-color: #fff;
	border: 5px solid #fff;
	color: #000;
	position: relative;
	top: 0;
	left: -210px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
	}
.year h3 {
	font-family: Etelka Light, sans-serif; 
	font-weight: 400;
	font-size: 22px; 
	outline: 0px solid red;
	background-image: url(../images/assets/year-dash.svg);
	background-repeat: no-repeat;
	background-position-x: 0;
	background-position-y: 13px;
	margin: 0 0 0 -70px;
	padding: 0 0 0 70px;
	}
.yearBody {
	margin: -35px 0 0 0;
}
.active, .year:hover {
  background-color: #fff;
}
.active {
 	background-image: url(../images/assets/close-grey.svg);
	background-repeat: no-repeat;
	background-position: 95% 60px;
	transition: 0.3s;
}
.active:hover {
 	background-image: url(../images/assets/close-grey.svg);
	background-repeat: no-repeat;
	background-position: 95% 60px;
	transition: 0.3s;
}
.yearContent {
  grid-column: 5 / 13;
  grid-row: auto;
  padding: 20px 100px 50px 150px;
  display: none;
  overflow: hidden;
  background-color: #fff;
  border-left: 5px solid #3F3F3F;
  transition: 0.3s;
}
.yearLeftCol {
	width: 60%;
	outline: 0px solid red;
	float: left;
}
.yearSideCol {
	float: right;
	width: 30%;
	outline: 0px solid red;
}
.yearSideCol h5 {
	text-transform: uppercase; 
	font-weight: 700;
	letter-spacing: 1px;
	font-size: 16px;
	margin: 0 0 10px 10px;
	border-bottom: 0px solid rgba(0, 0, 0, 0.1);
}
.yearSideCol a li {
	outline: 0px solid red;
	padding: 5px 15px;
	margin: 0 0 10px 0;
	background-color: #F2F7FB;;	
	border-radius: 20px;
	background-image: url(../images/assets/arrows/arrow-right.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position-y: center;
	background-position-x: calc(100% - 20px);
	transition: 0.3s;
}
.yearSideCol a:hover li {
	background-color: rgba(0, 106, 179, 1);
	color: #fff;
	background-image: url(../images/assets/arrows/arrow-right-white.svg);
	background-repeat: no-repeat;
	background-size: 15px;
	background-position-y: center;
	background-position-x: calc(100% - 15px);
	transition: 0.3s;
}

/* **************************************/
/* **************************************  TECHNOLOGY SLIDER  */
#technologySlider {
	grid-column: 5 / 13;
	grid-row: auto;
	outline: 0px solid purple;
	text-align: left;
	padding: 0 100px 150px 150px;
	margin: 0 0 0 0;
	border: 0px solid pink;
	border-left: 5px solid #3F3F3F;
	background-color: #fff;
}
.slideshow-container#techSlideshow-container {
	max-width: 100%; 
	position: relative; 
	margin: 0;
	outline: 0px solid black;
	background-color: #f2f2f2;
	min-height: 60vh;
	display: flex;
	flex-flow: column;
	justify-content: center;
}
.techSlide {
	display: grid;
	grid-template-columns: 220px auto ;
	grid-template-rows: auto ;
	grid-gap: 40px; 
	grid-row-gap: 0;
	outline: 0px solid red;
	padding: 50px 100px 50px 150px;	
	background-color: #f2f2f2;
 	min-height: 650px;
} 
.techIconContainer {
	grid-column: 1 ;
	outline: 0px solid red;
}
.techIcon {
	height: 220px; 
	outline: 0px solid orange;
	background-color: #000;
	border-radius: 20px;
}

/* **************************************  ICON BG COLOURS */
.techIcon#webtech {
	background-image: url(../images/icons/webtech.svg), linear-gradient(130deg, #E30617, #670164);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.techIcon#graphics {
	background-image: url(../images/icons/graphics.svg), linear-gradient(130deg, #A2C8D8, #3455A8);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.techIcon#languages {
	background-image: url(../images/icons/languages.svg), linear-gradient(130deg, #F28F00, #006AB3);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.techIcon#multimedia {
	background-image: url(../images/icons/multimedia.svg), linear-gradient(130deg, #EFE300, #E30617);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.techIcon#linux {
	background-image: url(../images/icons/linux.svg), linear-gradient(130deg, #EFE300, #670164);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.techIcon#accessibility {
	background-image: url(../images/icons/accessibility.svg), linear-gradient(130deg, #BEBE2C, #3455A8);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.techIcon#linux-kernel {
	background-image: url(../images/icons/linux-kernel.svg), linear-gradient(130deg, #006AB3, #6A2167);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}
.techIcon#virtualization-cloud {
	background-image: url(../images/icons/virtualization-cloud.svg), linear-gradient(130deg, #E30617, #97C21E);
	background-size: 60%, cover;
	background-repeat: no-repeat;
	background-position: center center;
}


.techSlideContent {
	grid-column: 2;
 	padding: 0 0 50px 0; /* the top padding comes form h3 */
	outline: 0px solid orange;
}

/* **************************************/
/* **************************************  SLIDESHOW */
.slideshow {
	text-align: left;
	background-color: #fff;
	outline: 0px solid black;
	margin: 0 -100px 50px -150px;
} 
.slideshow-container {
	max-width: 100%; 
	position: relative; 
	margin: 0;
	outline: 0px solid black;
}
.slideshow-container img {
	width: 100%;
}
/* Next & previous buttons */
.prev, .next {
	background-color: rgba(255, 255, 255, 1);
	cursor: pointer;
	position: absolute;
	top: 45%;
	width: 50px;
	height: 50px;
	background-image: url(../images/assets/arrows/arrow-left-blue.svg);
	background-repeat: no-repeat;
	background-position: center center;
	padding: 0;
	margin-left: 20px;
	margin-top: -22px;
	transition: 0.3s ease;
	border: none;
	border-radius: 50%;
	user-select: none;
}
/* Position the "next button" to the right */
.next {
	right: 20px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background-image: url(../images/assets/arrows/arrow-right-blue.svg);
	background-repeat: no-repeat;
	background-position: center center;
}
.prev:hover, .prev:focus{
  background-color: #006AB3;
  background-image: url(../images/assets/arrows/arrow-left-white.svg);
}
.next:hover, .next:focus {
  background-color: #006AB3;
  background-image: url(../images/assets/arrows/arrow-right-white.svg);
}

/* Caption text */
.text {
	color: #fff;
	font-size: 16px;
	padding: 30px 20px 10px 20px;
	position: absolute;
	bottom: 8px;
	width: calc(100% - 40px);
	text-align: center;
	background-image: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.8));
	border: 0px solid red;
}
/* Number text (1/3 etc) */
.numbertext {
	display: none;
	color: #f2f2f2;
	font-size: 12px;
	font-weight: 800;
	padding: 2px 12px;
	position: absolute;
	background-color: #000;
	border-radius: 5px;
	top: calc(94% - 4px);
	left: 20px;
	z-index: 1000;
}
/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}
@-webkit-keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}
@keyframes fade {
  from {opacity: .4} 
  to {opacity: 1}
}

/* **************************************/
/* **************************************  VIDEO */
.video {
  height: 0;
  padding-bottom: 75%; /* 4:3 */
	outline: 0px solid red;
  position: relative;	margin: 0 -100px 50px -150px;
} 
iframe {
	position: absolute;
	top: 0; left: 0;
	min-width: 100%; 
	min-height: 100%;
}

/* **************************************/
/* **************************************  FOOTER */

footer {
	grid-column: 1 / 13;
	outline: 1px solid purple;
	display: grid;
	grid-template-columns: repeat(12, 1fr);
	grid-template-rows: auto ;
	grid-gap: 20px; 
  padding: 100px 0 150px 0;
	color: #fff;
  font-size: 16px; 
	background-color: #3F3F3F;
}
footer a {
	color: #B6DEDF;
	border: none;
}
footer a:hover {
	color: #fff;
	text-decoration: underline;
	border: none;
}
footer li a {
	display: block;
	margin: 0 0 5px 0;
}
footer h4 {
	padding: 0 0 30px 0;
}
.footerLogo {
	grid-column: 1 / 4;
	grid-row: 1;
	outline: 0px solid red;
	padding: 0 0 0 100px;
}
.footerLogoImg {
	background-image: url(../images/assets/igalia-logo.svg);
	background-repeat: no-repeat;
	background-position: top left;
	background-size: 250px;
	height: 100px;
	outline: 0px solid black;
}
.footerNav {
	grid-column: 5 / 7;
	grid-row: auto;
	outline: 0px solid red;
	
}
.footerLegal {
	grid-column: 7 / 9;
	grid-row: auto;
	outline: 0px solid black;	
}
.footerContact {
	grid-column: 10 / 12;
	grid-row: auto;
	outline: 0px solid red;	
}
.footerContact p {
	outline: 0px solid red;
	margin: 0 0 0 0;
}

@media only screen and (max-width: 1450px) {
	
	
/* **************************************/
/* **************************************  LOGO  */
.logo {
	padding: 0 0 0 50px;
	outline: 0px solid red;
}
/* **************************************/
/* **************************************  HEADER  */
header {
	min-height: 900px;
}

	/* **************************************/
/* **************************************  TIMELINE */
.yearContent  .callout {
	width: calc(100% + 50px);
}
.yearLeftCol {
	width: calc(100% + 50px);
	float: none;
}
.yearSideCol {
	float: none;
	width: calc(100% + 50px);
}
.yearSideCol h5 {
	margin: 30px 0 20px 0;
	padding: 10px 0 0 0;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}
/* **************************************/
/* **************************************  FOOTER */
.footerLogoImg {
	background-size: 200px;
}

	
}

@media only screen and (max-width: 1260px) {

	/* **************************************/
/* **************************************  HEADER  */
header {
	min-height: 1100px;
}

/* **************************************/
/* **************************************  FOOTER */
.footerLogoImg {
	background-size: 150px;
}

	
}


@media only screen and (max-width: 1150px) {
	

 /* **************************************/
 /* ++++++++++++++++++++++++++++ TYPOGRAPHY */
h3 {
	font-size: 24px; 
	}
#intro h3,
#mapIntro h3,
.techSlide h3 {
	outline: 0px solid red;
	line-height: 30px;
	padding: 0 0 20px 0;
}
	#intro h3{
	padding: 20px 0 20px 0;		
	}
.callout {
	font-size: 24px; 
	line-height: 30px;
	padding: 0 0 0 0;
	margin: 0 0 30px 0;
	outline: 0px solid red;
}
	
/* **************************************/
/* **************************************  LOGO  */
.logo {
	padding: 0 0 0 20px;
}
.logoImg {
	height: 80px;
	outline: 0px solid black;
}

/* **************************************/
/* **************************************  HEADER  */
header {
	min-height: 800px;
}

	.introBlurb {
	font-size: 30px; 
	line-height: 40px;
	outline: 0px solid red;
	margin: -40px 0 50px 0;
}
.topAnchorlink {
	width: calc(100% - 100px);
	}

/* **************************************/
/* **************************************  TECHNOLOGY SLIDER  */
.techSlide {
	grid-template-columns: 150px auto ;
	grid-gap: 20px; 
	grid-row-gap: 0;
	outline: 0px solid red;
	 	min-height: 400px;
} 
.techIconContainer {
	grid-column: 1 ;
	outline: 0px solid red;
}
.techIcon {
	height: 150px; 
}
.techSlideContent {
 	padding: 0 0 30px 0; /* the top padding comes form h3 */
}

/* **************************************/
/* **************************************  TIMELINE */
.yearSideCol h5 {
	font-size: 14px;
}
	
	
/* **************************************/
/* **************************************  SLIDESHOW */
.slideshow {
	margin: 0 -100px 0 -150px;
} 
/* Next & previous buttons */
.prev, .next {
	top: 50%;
	width: 30px;
	height: 30px;
	background-size: 15px;
}
/* Position the "next button" to the right */
.next {
	width: 30px;
	height: 30px;
	background-size: 15px;
}


/* **************************************/
/* **************************************  FOOTER */
	.footerLogo {
		padding: 0 0 0 20px;
	}
	
}


@media only screen and (max-width: 950px) {
	
	
/* **************************************/
/* **************************************  LOGO  */
.logo {
	padding: 0 50px 0 50px;
	top: 0px;
	outline: 0px solid black;
	grid-column: 1 / 13;
	height: 80px;
}
.logoImg {
	background-image: url(../images/assets/logo-1.svg);
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 70% 70%;
	height: 60px;
	outline: 0px solid black;
	background-color: #fff;
	border-radius: 50px;
	box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2), 0 6px 20px 0 rgba(0, 0, 0, 0.1);
}
	
/* **************************************/
/* **************************************  HEADER  */
header {
	grid-column: 3 / 13;
	margin: -82px 0 0 0;
	min-height: 950px;
}

/* **************************************/
/* **************************************  INTRO */
#intro {
  grid-column: 3 / 13;
}

/* **************************************/
/* **************************************  TECHNOLOGY SLIDER  */
#technologySlider {
  grid-column: 3 / 13;
}
	
/* **************************************/
/* **************************************  MAP */
#mapIntro {
  grid-column: 3 / 13;
}

/* **************************************/
/* **************************************  TIMELINE */
#timelineTitle {
  grid-column: 3 / 13;
}
.year {
  grid-column: 3 / 13;
	}
.yearContent {
  grid-column: 3 / 13;
}

/* **************************************/
/* **************************************  FOOTER */
.footerNav {
	grid-column: 5 / 12;
	grid-row: auto;
	outline: 0px solid red;
	
}
.footerLegal {
	grid-column: 5 / 12;
	grid-row: auto;
	margin: 30px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	outline: 0px solid black;	
}
.footerContact {
	grid-column: 5 / 12;
	grid-row: auto;
	margin: 30px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	outline: 0px solid red;	
}
.footerContact p {
	outline: 0px solid red;
	margin: 0 0 0 0;
}
	
	
	
	
}



@media only screen and (max-width: 800px) {

	
	/* **************************************/
/* **************************************  LOGO  */
.logo {
/* 	padding: 0 30px 0 130px; */
	padding: 0 10px 0 10px;
}

/* **************************************/
/* **************************************  HEADER  */
header {
	grid-column: 2 / 13;
	padding: 50px 100px 50px 90px;
	min-height: 1150px;
}
/* Year count */
header h2 {
	font-size: 20px; 
	line-height: 20px;
	padding: 5px 15px;
	margin: 0 0 0 -135px;
}

/* **************************************/
/* **************************************  INTRO */
#intro {
	grid-column: 2 / 13;
	padding: 0 100px 50px 90px;
}

/* **************************************/
/* **************************************  TECHNOLOGY SLIDER  */
#technologySlider {
  grid-column: 2 / 13;
}
.techSlide {
	grid-template-columns: 100px auto ;
	grid-gap: 20px; 
	grid-row-gap: 0;
	padding: 50px 100px 50px 90px;	
	outline: 0px solid red;
} 
.techIconContainer {
	grid-column: 1 ;
	outline: 0px solid red;
}
.techIcon {
	height: 100px; 
}
.techSlideContent {
 	padding: 0 0 30px 0; /* the top padding comes form h3 */
}

/* **************************************/
/* **************************************  MAP */
#mapIntro {
	grid-column: 2 / 13;
	padding: 0 100px 150px 90px;
}

/* **************************************/
/* **************************************  TIMELINE */
#timelineTitle {
	grid-column: 2 / 13;
	padding: 50px 100px 50px 90px;
}	
.year {
  grid-column: 2 / 13;
	}
.yearContent {
	grid-column: 2 / 13;
	padding: 20px 100px 50px 90px;
}
.year h2 {
	padding: 3px 15px;
	border-radius: 30px;
	outline: 0px solid red;
	position: relative;
	top: 0;
	left: -197px;
	}
.year:hover h2 {
	padding: 3px 20px;
	position: relative;
	top: 0;
	left: -202px;
}
.active h2 {
	padding: 3px 20px;
	left: -202px;
	}
.year h3 {
	font-family: Etelka Light, sans-serif; 
	font-weight: 400;
	font-size: 20px; 
	background-image: url(../images/assets/year-dash.svg);
	background-repeat: no-repeat;
	background-position-x: 0px;
	background-position-y: 12px;
	background-size: 30px;
	margin: 0 0 0 -100px;
	padding: 0 0 0 40px;
	outline: 0px solid red;
	}

/* **************************************/
/* **************************************  VIDEO */
.video {
  margin: 0 -100px 50px -90px;
} 

/* **************************************/
/* **************************************  FOOTER */
footer {
  padding: 50px 0 150px 0;
}
.footerLogo {
	grid-column: 2 / 12;		
	padding: 0 0 0 0;
}
.footerLogoImg {
	height: 60px;
}	
.footerNav {
	grid-column: 2 / 12;
	grid-row: auto;
	margin: 30px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	outline: 0px solid red;
}
.footerLegal {
	grid-column: 2 / 12;
	grid-row: auto;
	margin: 30px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	outline: 0px solid black;	
}
.footerContact {
	grid-column: 2 / 12;
	grid-row: auto;
	margin: 30px 0 0 0;
	padding: 20px 0 0 0;
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	outline: 0px solid red;	
}
.footerContact p {
	outline: 0px solid red;
	margin: 0 0 0 0;
}

	
	
	
}


@media only screen and (max-width: 550px) {

body {
	font-size: 15px; 
	line-height: 24px;
	border: 0px solid red;
 }
h3 {
	font-size: 20px; 
}
#intro h3,
#mapIntro h3,
.techSlide h3 {
	line-height: 26px;
}
.callout {
	font-size: 20px; 
	line-height: 26px;
}

	/* **************************************/
/* **************************************  LOGO  */
.logoImg {
	background-size: 55% 55%;
}

/* **************************************/
/* **************************************  HEADER  */
header {
	grid-column: 2 / 13;
	padding: 50px 20px 50px 40px;
	min-height: 700px;
}	
/* Year count 2021 */
header h2 {
	font-size: 16px; 
	line-height: 20px;
	padding: 0px 5px 0px 30px;
	margin: 0 0 0 -100px;
	border-bottom-left-radius: 0;
	border-top-left-radius: 0;
}
.introBlurb {
	font-family: Etelka Thin, sans-serif; 
	font-weight: 400;
	font-size: 20px; 
	line-height: 26px;
	margin: -29px 0 50px 0;
}
.topAnchorlink {
	width: calc(100% - 70px);
	padding: 10px 20px 10px 40px;
	font-size: 16px; 
	line-height: 24px;
	background-position: 15px center;
	background-size: 15px;
}

/* **************************************/
/* **************************************  INTRO */
#intro {
	grid-column: 2 / 13;
	padding: 0 20px 50px 50px;
}

/* **************************************/
/* **************************************  TECHNOLOGY SLIDER  */
#technologySlider {
  grid-column: 2 / 13;
}
.techSlide {
	display: flex;
	flex-flow: column;
	padding: 50px 20px 50px 40px;	
	outline: 0px solid red;
 	min-height: 550px;
} 
.techIconContainer {
	grid-column: 1 ;
	outline: 0px solid red;
}
.techIcon {
	height: 100px; 
	width: 100px; 
	margin: 0 0 10px 0;
}
.techSlideContent {
 	padding: 0 0 30px 0; /* the top padding comes form h3 */
}
/* Next & previous buttons */
.prev, .next {
  top: 95%;
	margin-left: 20px;
}
/* Position the "next button" to the right */
.next {
	right: 20px;
  top: 95%;
}

/* **************************************/
/* **************************************  MAP */
#mapIntro {
	grid-column: 2 / 13;
	padding: 0 20px 20px 40px;
}
#map {
	grid-column: 1 / 13;
	grid-row: auto;
	margin: 0 0 0 0;
	outline: 0px solid pink;
	border-left: 0px solid #3F3F3F;
	background-color: #999;
	height: 80vh;	
	width: 100%;
}
#map iframe {
	width: 100%;
	height: 100%;
	border: none;
}
/* **************************************/
/* **************************************  TIMELINE */
#timelineTitle {
	grid-column: 2 / 13;
	padding: 50px 20px 50px 40px;	
}	
#timelineTitle h2 {
	font-size: 26px; 
	line-height: 32px;
	padding: 20px 0 0 0;
}
.year {
	grid-column: 2 / 13;
	padding: 50px 40px 20px 150px;
	}
.year:hover {
	background-position: 95% 55px;
}
.active {
	background-position: 95% 55px;
}

.yearContent {
	grid-column: 2 / 13;
	padding: 20px 20px 50px 40px;
}
.year h2 {
	font-size: 16px; 
	line-height: 20px;	
	padding: 0px 5px 0px 50px;
	border-radius: 30px;
	border-bottom-left-radius: 30px;
	border-top-left-radius: 30px;
	outline: 0px solid red;
	position: relative;
	top: 0;
	left: -228px;
	overflow: visible;
	}
.year:hover h2 {
	padding: 0px 10px 0px 50px;
	position: relative;
	top: 0;
	left: -228px;
}
.active h2 {
	padding: 0px 10px 0px 50px;
	position: relative;
	top: 0;
	left: -228px;
}
.year h3 {
	font-family: Etelka Light, sans-serif; 
	font-weight: 400;
	font-size: 20px; 
	background-image: url(../images/assets/year-dash.svg);
	background-repeat: no-repeat;
	background-position-x: -10px;
	background-position-y: 12px;
	background-size: 30px;
	margin: 7px 0 0 -100px;
	padding: 0 0 0 30px;
	outline: 0px solid red;
	}

.yearContent  .callout {
	width: 100%;
}
.yearLeftCol {
	width: 100%;
	float: none;
}
.yearSideCol {
	float: none;
	width: 100%;
}

/* **************************************/
/* **************************************  SLIDESHOW */
.slideshow#pics {
	margin: 0 -20px 0 -40px;
}
/* Caption text */
.text {
	bottom: 5px;
	padding: 30px 20px 12px 20px;
	font-size: 13px;
}
/* Next & previous buttons */
.prev#picsPrev, .next#picsNext {
	top: 90%;
	margin-left: 20px;
}
/* Position the "next button" to the right */
.next#picsNext {
	right: 20px;
	top: 90%;
}
/* **************************************/
/* **************************************  VIDEO */
.video {
	margin: 0 -20px 50px -40px;
} 

}


@media only screen and (max-width: 400px) {
/* **************************************/
/* **************************************  HEADER  */
header {
	min-height: 850px;
}	

/* **************************************/
/* **************************************  TIMELINE */
.year:hover {
	background-position: 95% 58px;
	background-size: 10px;
}
.active {
	background-position: 95% 58px;
	background-size: 10px;
}
.year h3 {
	font-size: 16px; 
	background-position-x: -10px;
	background-position-y: 10px;
	background-size: 30px;
	margin: 9px 0 0 -110px;
	padding: 0 0 0 25px;
	outline: 0px solid red;
	}

}

.mapboxgl-popup-content h5 {
	margin-top: 1rem;
	font-size: 1rem;
}
