/*! normalize.css v3.0.3jb | MIT License | github.com/necolas/normalize.css
    The x.x.xjb version is the (non-?)opinionated Jeffrey Barke fork.
    reset-jb.css v0.1.0 | MIT license | github.com/jeffreybarke/reset-jb.css
    This normalize block is a mashup of both. */

html{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box;font-size:100%;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}*,*:before,*:after{-moz-box-sizing:inherit;-webkit-box-sizing:inherit;box-sizing:inherit;margin-top:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:0 0 0.67em}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0 40px 1em}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}

/*! END normalize.css v3.0.3jb  */

body {
    display: flex;
    flex-direction: column;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1.6;
    margin: 0;
    min-height: 100vh;
}

main {
    flex: 1 0 auto;
    margin: auto;
    max-width: 1400px;
    padding: 50px 30px;
}

.page-id-25 main {
	max-width: 1000px;
}

section {
    margin-bottom: 70px;
}

main p {
    font-size: 18px;
}

header {
    padding: 20px 30px;
	text-align: center;
}

footer {
    background: #ebebeb;
    flex-shrink: 0;
    border-bottom: 10px solid #fff;
    padding: 30px;
}

footer p {
    font-size: 11px;
    margin: 0;
    text-align: center;
}

nav {
    background: #3763A1;
    padding: 10px;
    position: sticky;
    top: 0;
	z-index: 10;
}

nav a {
    color: #fff;
    text-decoration: none;
}

h1,
h2,
h3 {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
}

h1 {
    font-size: 35px;
}

h2 {
    font-size: 30px;
}

h3 {
    font-size: clamp(20px, 2.5vw, 26px);
}

img {
    width: 100%;
}

blockquote {
    background: #eee;
    padding: 30px;
    margin: 0 0 40px;
}

blockquote p {
    margin: 0;
}

a.site-title {
    color: #000;
    display: inline-block;
    text-decoration: none;
}

.site-title span {
    display: inline-block;
    text-align: center;
}

.site-name {
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(31px, 10.8vw, 50px);
    line-height: 1.3;
}

.site-description {
    font-size: clamp(12px, 4.5vw, 18px);
}

nav div {
    background: #333;
    display: none;
    left: 0;
    position: absolute;
    top: 52px;
    width: 100%;
}

.nav-toggle .menu-main-navigation-container {
    display: block;
}

nav ul,
.menu-container ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.menu-container ul {
    display: flex;
	flex-wrap: wrap;
    gap: 20px;
}

nav a {
    display: block;
    font-size: 14px;
    padding: 10px 20px;
    text-transform: uppercase;
}

nav a:hover {
    background: #eee;
    color: #333;
}

.navbar-toggle {
  background: none;
  border: 0;
  padding: 9px 10px;
  position: relative;
}

.navbar-toggle .icon-bar {
  background-color: #fff;
  border-radius: 1px;
  display: block;
  height: 2px;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  width: 22px;
}

.navbar-toggle .icon-bar+.icon-bar {
  margin-top: 4px;
}

.nav-toggle .navbar-toggle .top-bar {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  -webkit-transform-origin: 10% 10%;
  transform-origin: 10% 10%;
}

.nav-toggle .navbar-toggle .middle-bar {
  opacity: 0;
}

.nav-toggle .navbar-toggle .bottom-bar {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
  -webkit-transform-origin: 10% 90%;
  transform-origin: 10% 90%;
}

nav .cta a,
.menu-container a,
.cta {
    background: #F2CB00;
    border: 0;
    color: #333;
    display: inline-block;
    font-size: 14px;
    padding: 10px;
    text-decoration: none;
    text-transform: uppercase;

    &:hover {
        background: #000;
        color: #fff;
    }
}

nav .cta a:hover {
    background: #fff;
    color: #333;

}

nav li.cta {
    background: none;
    padding: 10px 20px;

    &:hover {
        background: none;
    }
}

a.cta.cta-view-more {
    background: #333;
    color: #fff;
    float: right;
}

a.cta.cta-view-more:hover {
    background: #666;
}

.home-intro img {
    display: block;
    margin-bottom: 30px;
}

.home-authors {
    background: #eee;
    padding: 30px;
}

.post-list div a {
    color: #333;
    display: block;
    margin-bottom: 30px;
    text-decoration: none;
}

.main img {
    margin-bottom: 30px;
}

.author {
    margin-bottom: 50px;
}

.author a {
    color: #000;
    display: block;
    text-decoration: none;

    &:hover {

        button,
        button:hover {
            background: #000;
            color: #fff;
        }
    }
}

.book-title {
    font-size: clamp(31px, 10.8vw, 50px);
    text-align: center;
}

.book-title span {
    display: block;
    font-family: Arial, Helvetica, sans-serif;
    font-size: clamp(14px, 4.5vw, 18px);
	line-height: 1.7;
	margin-top: 10px;
}

.buy-book {
    margin: 50px 0;
}

.book-info {
    list-style: none;
    padding: 0;
}

/* The Modal */
.modal {
  display: none;
  position: fixed;
  z-index: 999;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: auto;
  justify-content: center;
  align-items: center;
	
  &.modal-toggle {
	display: flex;
  }
}

.modal-bkgd {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgb(0, 0, 0);
    background-color: rgba(0, 0, 0, 0.4);
}

.modal-content {
  background-color: #3763A1;
  border: 3px solid #fff;
  color: #fff;
  margin: auto;
  max-width: 500px;
  padding: 50px;
  position: relative;
  text-align: center;
  width: 80%;
}

.close {
  color: #fff;
  font-size: 28px;
  font-weight: bold;
  position: absolute;
  right: 25px;
  top: 10px;
}

.close:hover,
.close:focus {
  color: #ccc;
  text-decoration: none;
  cursor: pointer;
}

@media (min-width: 400px) {

    .authors {
        display: flex;
        gap: 10%;
    }
    
    .author {
        width: 45%;
        margin: 0;
    }
}

@media (min-width: 450px) {
    
    .main {
        display: flex;
        gap: 20px;
        justify-content: space-between;
        resize: both;
    }

    .main img {
        display: block;
        flex: 1 1 50%;
        height: auto;
        max-width: 30%;
        object-fit: contain;
        object-position: top;
    }

    .main > div {
        max-width: 60%;
    }
}

@media (min-width: 600px) {

    .post-list div {
        display: grid;
        gap: 5%;
        grid-template-columns: repeat(3, minmax(30%, 400px));
        margin-bottom: 50px;
    }

    .post-list div a {
        margin: 0;
    }

}

@media (min-width: 700px) {

    header {
        padding: 20px 0 30px;
    }

    main {
        padding: 100px;
    }

    main p {
        font-size: 16px;
    }
    
    nav {
        padding: 0;
    }

    h1 {
        font-size: 45px;
    }

    h2 {
        font-size: 35px;
    }
    
    .navbar-toggle {
        display: none;
    }

    nav div,
    .nav-toggle nav div {
        align-items: center;
        background: none;
        display: flex;
        left: auto;
        justify-content: center;
        position: relative;
        top: auto;
    }

    nav ul {
        align-items: center;
        display: flex;
    }

    nav li {
        display: inline-block;
    }

    nav a {
        padding: 17px 20px;
    }

    nav li.cta {
        padding: 7px 0;
    }

    .book-info {
        display: flex;
        flex-wrap: wrap;
        gap: 4%;
    }

    .book-info li {
        width: 48%;
    }
}

@media (min-width: 800px) {

    nav ul {
        gap: 3.5vw;
    }
}