/*--------------------------------------------------------------
# RESET
--------------------------------------------------------------*/
/* Modern CSS Reset */

/* Box sizing border-box reset */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
dl,
dd,
figure,
blockquote,
fieldset,
legend {
  margin: 0;
}

/* Remove default padding */
ul,
ol,
dl,
figure,
p,
blockquote {
  padding: 0;
}

/* Remove list styles (bullet points and numbering) */
ul,
ol {
  list-style: none;
}

/* Remove default styles for form elements */
button,
input,
select,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

/* Remove outline on focused elements */
:focus {
  outline: none;
}

/* Remove default styles for table */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* HTML5 display-role reset for older browsers */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}

/* Reset anchor styles */
a {
  text-decoration: none;
  color: inherit;
}

/* Reset image border styles */
img {
  border-style: none;
}

/*--------------------------------------------------------------
# GLOBAL
--------------------------------------------------------------*/
*, html {  }
html {  }
body { background-color:#fff; color:#000; font-family: sofia-pro,sans-serif; font-weight:400; font-style:normal; font-size:16px; }
@media (min-width: 1200px) {
	body { background-color:#fff; color:#000; font-family: sofia-pro,sans-serif; font-weight:400; font-style:normal; font-size:19px;}
}
/*--------------------------------------------------------------
# TYPOGRAPHY
--------------------------------------------------------------*/
h1,h2 { font-family: sofia-pro,sans-serif; font-weight:900; font-style:normal; font-size:2rem; text-transform:uppercase; line-height:1.5; white-space: nowrap;}
h3,h4,h5,h6 {}
@media (min-width: 1200px) {
	h1,h2 { font-size:4rem }
}

/*--------------------------------------------------------------
# COLORS
--------------------------------------------------------------*/
.black { background-color:#000; }
.blue { background-color:#1F5BFD; }
.text-blue { color:#1F5BFD; }
.text-white { color:#fff; }

/*--------------------------------------------------------------
# HELPER
--------------------------------------------------------------*/
.text-center {text-align:center;}
.list-inline { list-style: none; display:inline; }

/*--------------------------------------------------------------
# NAVIGATION
--------------------------------------------------------------*/
a, a:visited { color:inherit; text-decoration:none; transition:all .5s ease; }
a:hover, a:active { color:inherit; text-decoration:underline; }
a.button-cta, a.button-cta:visited { display:block; color:#fff; text-decoration:none; font-weight:600; font-size:1.5rem; margin-top:1em; padding-left:0; background-image:url(../img/pointing-right.svg); background-position:-50px center; background-size:30px; background-repeat:no-repeat; transition: .5s ease;}
a.button-cta:hover, a.button-cta:active { display:block; color:#fff; text-decoration:none; padding-left:40px; background-position:3px center;  }

/*--------------------------------------------------------------
# CONTENT
--------------------------------------------------------------*/
#layout { position:relative; overflow-x:hidden;}
.panel { min-height:100vh; width:100%; display:flex; align-items:center; justify-content: center; position:relative; padding:2em;}
.section-2,.section-4 { height:70vh; }
.section-3 { height:auto; }
@media (min-width: 1200px) {
	.section-3 { min-height:100vh; }
}

.rect { width:10px; height:10px; border-radius:100%; background-color:#000; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:-1;}
.bio-1 { width:60%; max-width:768px; color:#fff; font-size:2rem; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:1;}
.bio-2 { width:60%; max-width:768px; color:#fff; font-size:2rem; position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); z-index:2;}
.book { max-width:1000px; position:absolute; left:0; top:-20%; z-index:1;}
.book-title { font-size:27rem; position:absolute; right:-20%; top:20%; z-index:2; color:#1F5BFD;}
.cover { max-width:350px; }
.signature { width:100%; max-width:180px; }

.container {
	display: flex;
  	align-content: center;
  	justify-content: center;
  	max-width: 1200px;
}

.grid {
  display: flex;
  flex-wrap: wrap;
}

.grid-item {
  flex: 1;
  min-width: 0; /* To prevent overflow issues */
  padding: 15px;
  box-sizing: border-box;
}

/* Responsive Breakpoints */
@media screen and (min-width: 600px) {
  .item {
    flex: 1 0 48%; /* Two columns on screens wider than 600px */
  }
}

@media screen and (min-width: 900px) {
  .item {
    flex: 1 0 30%; /* Three columns on screens wider than 900px */
  }
}

@media screen and (min-width: 1200px) {
  .item {
    flex: 1 0 23%; /* Four columns on screens wider than 1200px */
  }
}


/*--------------------------------------------------------------
# FOOTER
--------------------------------------------------------------*/
.footer { margin: 1em 0 1em 0; }