/* Universal styles */

body {
	background:#f9f7f3;
	color:#0d1b2a;
}

html, body {
  max-width: 100%;
  overflow-x: hidden;
  background-color:#f9f7f3;
  color:#0d1b2a;
}

p {
	font-family: 'Space Grotesk';
	font-style: normal;
	font-weight: 400;
	font-size: 1em;
	line-height: 1.3em;
}

a {
	color: #222D3D;
	text-decoration: none;
  background-image: linear-gradient(#cbd4de, #cbd4de), linear-gradient(#a7b5c7, #a7b5c7);
  background-size: 100% 7px, 0 7px;
  background-position: 100% 100%, 0 100%;
  background-repeat: no-repeat;
  transition: background-size .15s linear;
  cursor:pointer;
}

a:hover {
	color: #222D3D;
  background-size: 0 7px, 100% 7px;
  text-decoration: none;
}

.veuve a {
	color:#fff5eb;
	background-image: linear-gradient(#9c6f3e, #9c6f3e), linear-gradient(#ffa300, #ffa300);
}

.veuve a:hover {
	color:#fff5eb;
}

.matrix a {
	background-image: linear-gradient(#d1e3d2, #d1e3d2), linear-gradient(#b6ccb7, #b6ccb7);
}

.footer a {
	background-image: linear-gradient(#cbd4de, #cbd4de), linear-gradient(#ffffff, #ffffff);
}

img {
	width:100%;
	height:auto;
	border-radius:10px;
}

::selection {
  background: #e5e5e5; /* WebKit/Blink Browsers */
}
::-moz-selection {
  background: #e5e5e5; /* Gecko Browsers */
}


.container {
	max-width:1000px;
	margin-left:auto;
	margin-right:auto;
	padding-left:15px;
	padding-right:15px;
}

/* Menu styles  */

.menu-btn {
	position: fixed;
  top: 10px;
  right: 10px;
  height: 46px;
  width: 46px;
  z-index:1002;
  background-color:#0d1b2a;
  border-radius:100%;
  transition: transform 0.3s ease-in-out;
}

.menu-btn:hover {
	transform:scale(1.3);
}
	
.menu {
  text-align:center;
  font-size:26px;
  color:#f9f7f3;
}

#overlay {
  position: fixed;
  top: 0;
  z-index: 1001;
  display: none;
  overflow: auto;
  width: 100%;
  height: 100%;
  background: #e0e1dd;
  transition: display 0.3s ease-in-out;
}

.nav-big {
	margin-bottom:40px;
}

.nav-big p {
	font-family:'Tenor Sans', sans-serif !important;
	font-weight:400;
	font-size:2em;
	line-height:1.2em;
	letter-spacing:-.025em;
	border-top:1px solid #0d1b2a;
	padding-top:15px;
}

.nav-big p:last-child {
	border-bottom:1px solid #0d1b2a;
	padding-bottom:15px;
}

.invisible-link {
	background:none;
	visibility:hidden;
}

.nav-number {
	display:inline-block;
	width:25px;
	height:25px;
	border-radius:100%;
	/*border:1px solid black;*/
	font-size:15px;
	line-height:15px;
	text-align:center;
	font-family: 'Space Grotesk';
	font-style: normal;
	font-weight: 400;
	vertical-align:middle;
	padding-top:4px;
	background-color:#f9f7f3;
}


/* Homepage styles */

.homepage-hero {
	padding-top:100px;
	padding-bottom:100px;
	height:100vh;
	position:relative;
	background: linear-gradient(153deg, rgba(34,34,59,1) 0%, rgba(74,78,105,1) 100%);
	color:#e0e1dd;
	text-align:center;
	overflow:hidden;
}

.eating-divider {
	height:100vh;
	position:relative;
	background-image: url('images/eating.gif');
	background-position:center center;
	background-size:cover;
}

.culture-divider {
	height:100vh;
	position:relative;
	background-image: url('images/bourse.jpg');
	background-position:center center;
	background-size:cover;
}

.bar-divider {
	height:100vh;
	position:relative;
	background-image: url('images/prescription.jpg');
	background-position:center center;
	background-size:cover;
}

.church-divider {
	height:100vh;
	position:relative;
	background-image: url('images/hero.jpg');
	background-position:center center;
	background-size:cover;
}

.poi-divider {
	height:100vh;
	position:relative;
	background-image: url('images/eiffel.jpg');
	background-position:center center;
	background-size:cover;
}

.veuve-divider {
	height:100vh;
	position:relative;
	background-image: url('images/veuve-steps.jpg');
	background-position:center center;
	background-size:cover;
}

.by-the-numbers, .matrix, .books, .superlatives {
	background-color:#415a77;
	color:#e0e1dd;
	text-align:center;
}

.matrix {
	background-color:#4a5759;
}

.veuve {
	background-color:#463f38;
}

.veuve p {
	color:#fff5eb !important;
}

.veuve .translation-para p {
	color:#df9f59 !important;
}

.veuve p.image-caption {
	color:#df9f59 !important;
}

.books {
	background-color:#542944;
}

.books img {
	max-height:180px;
	width:auto;
}

.superlatives {
	background-color:#778da9;
}

.footer {
	background-color:#ffc300;
	padding-top:45px;
	padding-bottom:30px;
	text-align:center;
}

p.super-category {
	margin-bottom:0px;
}

p.super-winner {
	font-family:'Tenor Sans', sans-serif;
	font-size:2.5em;
	color:#0d1b2a;
	line-height:1em;
}

.super-block {
	margin-bottom:40px;
}

.number-feature {
	font-family:'Tenor Sans', sans-serif;
	font-weight:400;
	font-size:7.5em;
	line-height:.9em;
	letter-spacing:-2px;
	display:block;
	color:#e9edc9;
}

.number-feature-pad {
	padding-bottom:60px;
}

.homepage-hero-headline {
	margin: 0;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index:990;
}

.homepage-hero h1 {
	color:#e0e1dd;
	font-family:'Tenor Sans', sans-serif;
	font-weight:400;
	font-size:7em;
	line-height:.9em;
	letter-spacing:-.025em;
	margin-left:5vw;
	margin-right:5vw;
}

.hero-1 {
	width:60vw;
	height:auto;
	position:absolute;
	top:-10vw;
	right:5vw;
	z-index:20;
	filter: brightness(75%);
}

.hero-3 {
	width:35vw;
	height:auto;
	position:absolute;
	bottom:-15vw;
	left:5vw;
	z-index:20;
	filter: brightness(75%);
}

.vertical-divider {
	height:150px;
	width:2px;
	background-color:#e0e1dd;
	margin-left:auto;
	margin-right:auto;
	margin-top:20px;
	margin-bottom:20px;
}

.big-para {
	margin-bottom:50px;
}

.big-para p {
	font-family:'Tenor Sans', sans-serif;
	font-weight:400;
	font-size:2em;
	line-height:1.2em;
	letter-spacing:-.025em;
	color:#0d1b2a;
}

.translation-para p {
	color:#415a77;
}

.caps-title {
	font-family:'Titillium Web', sans-serif;
	font-weight:800;
	text-transform:uppercase;
	border-bottom:5px solid;
	color:#0d1b2a;
	font-size:1.2em;
	line-height:1.4em;
	letter-spacing:2.5px;
	display:inline-block;
	margin-bottom:60px;
}

.hero-eyebrow {
	font-family:'Titillium Web', sans-serif;
	font-weight:700;
	text-transform:uppercase;
	font-size:1.2em;
	line-height:1.4em;
	letter-spacing:2.5px;
}

.image-caption {
	padding-top:10px;
	color:#778da9;
	font-size:.8em;
}

.divider-image-caption {
	color:#ffffff;
	font-size:.8em;
	position:absolute;
	right:15px;
	bottom:0px;
	background-color:#1b263b;
	margin-left:15px;
}

.place-card {
	width:100%;
	height:auto;
	background-color:#fefdfd;
	border-radius:10px;
	padding:15px;
	margin-bottom:30px;
	transition: all .25s;
}

.place-card:hover {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}

.book-card {
	transition: all .25s;
}

.book-card:hover {
  -webkit-transform: translateY(-5px);
  transform: translateY(-5px);
}

.place-card p {
	padding-bottom:0;
	margin-bottom:0;
}

.div-link {
	background:none;
}

.matrix-wrapper {
	background-color:#fff;
	background-image:url('images/matrix-bg.jpg');
	background-size:cover;
	background-position:center center;
	border-radius:10px;
	width:100%;
	height:98vh;
	position:relative;
}

.matrix-label-right {
	font-family:'Titillium Web', sans-serif;
	font-weight:700;
	text-transform:uppercase;
	font-size:.8em;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #1b263b;
  background-color:#b0c4b1;
  padding:7px 15px;
  border-radius:10px;
  transform: rotate(90deg) translate(-15%, -100%);
  transform-origin: center;
  position: absolute;
  right: -20px;
  top: 50%;
  display: block;
}

.matrix-label-left {
	font-family:'Titillium Web', sans-serif;
	font-weight:700;
	text-transform:uppercase;
	font-size:.8em;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #1b263b;
  background-color:#b0c4b1;
  padding:7px 15px;
  border-radius:10px;
  transform: rotate(-90deg) translate(10%, -100%);
  transform-origin: center;
  position: absolute;
  left: -25px;
  top: 50%;
  display: block;
}

.matrix-label-top {
	font-family:'Titillium Web', sans-serif;
	font-weight:700;
	text-transform:uppercase;
	font-size:.8em;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #1b263b;
  background-color:#b0c4b1;
  padding:7px 15px;
  border-radius:10px;
  transform: translate(-50%, 0);
  transform-origin: center;
  position: absolute;
  left: 50%;
  top: -15px;
  display: block;
}

.matrix-label-bottom {
	font-family:'Titillium Web', sans-serif;
	font-weight:700;
	text-transform:uppercase;
	font-size:.8em;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: #1b263b;
  background-color:#b0c4b1;
  padding:7px 15px;
  border-radius:10px;
  transform: translate(-50%, 0);
  transform-origin: center;
  position: absolute;
  left: 50%;
  bottom: -15px;
  display: block;
}

.matrix-item {
	font-size:.8em;
	line-height:1em;
	color:#1b263b;
	position:absolute;
	display:block;
}

.matrix-dot {
	font-size:1.6em;
	display:block;
}

.hat {
	background-image:url('images/hat.webp');
	background-size:contain;
	background-position:center center;
	background-repeat:no-repeat;
	width:60px;
	height:60px;
	position:absolute;
	top:-30px;
	right:0;
	transform:rotate(25deg);
	z-index:990;
}


.badge {
	font-family:'Space Grotesk', sans-serif;
	font-weight:600;
	font-size:10px;
	width:100px;
	height:100px;
	position:absolute;
	top:20px;
	right:40px;
	transition: all .2s ease-in-out;
}

.badge-starburst path {
	fill:#ffc300;
}

.badge-starburst {
	animation: starburst 35s linear infinite;
}

.badge-text {
	width:100px;
	height:100px;
	position:absolute;
	text-align:center;
	display:block;
	z-index:1000;
	margin-top:-63px;
	margin-left:-4px;
}

.homepage-section {
	padding-top:100px;
	padding-bottom:100px;
	position:relative;
	overflow:hidden;
}

.navigation-interior {
  margin: 0;
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.homepage-section-header {
	position:relative;
}



/* Media calls */

@media (max-width: 725px) {
	
	.homepage-hero h1 {
		font-size:4em;
		line-height:.9em;
		letter-spacing:-.025em;
	}

	.hero-1 {
		width:80vw;
		height:auto;
		position:absolute;
		top:-10vw;
		right:5vw;
		z-index:20;
		filter: brightness(75%);
	}

	.hero-3 {
		width:60vw;
		height:auto;
		position:absolute;
		bottom:-15vw;
		left:5vw;
		z-index:20;
		filter: brightness(75%);
	}

	.number-feature {
		font-size:4.5em;
		line-height:.9em;
		letter-spacing:-2px;
	}

	.nav-small {
		text-align:center;
	}

	.matrix-dot {
		font-size:1em;
	}

	.matrix-item {
		font-size:.6em;
	}

}



/* Animations */

@keyframes starburst {
 0%{
    transform: rotate(0deg);
   }
100%{
    transform: rotate(360deg);
   }
}