/*
Theme Name: Jeff Shiring
Author: Danny Moore
Author URI: http://www.amplifypublishinggroup.com
Description: This theme is a basic blog based book website.
Version: 1.0
License: ©2025 Danny Moore
Text Domain: jeffshiring
*/

/* =Reset default browser CSS. Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

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, font, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	border: 0;
	font-family: inherit;
	font-size: 100%;
	font-style: inherit;
	font-weight: inherit;
	margin: 0;
	outline: 0;
	padding: 0;
	vertical-align: baseline;
}
:focus {/* remember to define focus styles! */
	outline: 0;
}
body {
	background: #fff;
	line-height: 1;
}
ol, ul {
	list-style: none;
}
table {/* tables still need 'cellspacing="0"' in the markup */
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	font-weight: normal;
	text-align: left;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}
a img {
	border: 0;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

/******************** body *******************/

html{ font-size:19px; }

body{
	margin:0px;
	padding:0px;
	width:100%;
	height:100%;
	border:0px;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-size:19px;
	line-height:1.5;
	background:#fff;
	color:#000;
	font-family: "freight-text-pro", serif;
}

img{ border:0px; }

#loader{
    width:100%;
    height:100%;
    z-index:1000000;
    position:fixed;
    top:0;
    left:0;
    background:#014178;
}

#loaderin{
    width:4vw;
    min-width:80px;
    height:auto;
    position:absolute;
    line-height:0;
    top:50%;
    left:50%;
}

#loader svg{
    transform:translate(-50%, -50%);
    position:absolute;
    stroke:#ce0808;
    fill:none;
    stroke-width:2;
    stroke-linecap:square;
    stroke-dasharray:180 180;
    animation-duration:2s; 
    animation-iteration-count:infinite; 
    transform-origin:center;
    animation-timing-function:linear;
    animation-name:fr0;
}

@keyframes fr0 { 
  0% { stroke-dashoffset:0; } 
  50% { stroke-dashoffset:180;  }
  100% { stroke-dashoffset:360;  }
}

hr{
	height:1px;
	border:0px;
	background:rgba(0,0,0,0.1);
	margin:2.2em 0 2.3em 0;
	clear:both;
}

h1, .h1{
	font-size:1.61em;
	margin:0 0 1em 0;  
    color:#014178;
    line-height:1.18;
    text-align:center;
	font-family: "nexa", sans-serif;
	text-transform:uppercase;
	letter-spacing:.2em;
}

h2, .h2{
	margin:4em 0 1em 0;  
    text-align:center;
	font-family: "nexa", sans-serif;
	text-transform:uppercase;
	letter-spacing:.2em;
}

h3, .h3{
	font-size:1.2em;
	margin-bottom:1em;
	letter-spacing:.2em;
    text-align:center;
    line-height:1.2;
	font-family: "nexa", sans-serif;
	text-transform:uppercase;
}

h4, .h4{ 
    margin:0 0 1.3em 0;
	text-align:center;
	font-family: "nexa", sans-serif;
	text-transform:uppercase;
	letter-spacing:.1em;
}

.endpage h4{ color:#fff; }

.h5, h5{
    margin:0 0 .4em;
    font-size:1.27em;
    text-align:center;
    line-height:1.3;
    font-weight:bold;
}

.h6, h6, .h7, h7{
    font-size:1.9em;
    margin:0 0 .6em;
    text-align:center;
}

.h7, h7{
    font-size:1.6em;
    color:#ce0808;
    margin-left:7%;
    margin-right:7%;
}

p{ margin:0 0 1em 0; }
em, i{ font-style:italic; }
strong, b{ font-weight:bold; }

a{
	text-decoration:none;
	color:#ce0808;
	transition:.4s color;
}

a:hover{ color:#014178; }

#outside{
	width:100%;
	height:100%;
	display:block;
	position:relative;
	margin:0px;
	padding:0px;
    overflow:hidden;
}

#inside{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0;
}

#top{
	width:100%;
	height:auto;
	position:fixed;
	z-index:10000;
	clear:both;
	float:left;
}

#navMenuSm{
    z-index:200000;
    position:fixed;
    width:auto;
	display:none;
	height:100%;
	padding:0;
    top:0;
    right:0;
    background:#1a2127;
}

#content{
	width:100%;
	height:auto;
	padding:0;
	margin:0 auto 0 auto;
	clear:both;
	float:left;
	position:relative;
	z-index:150;
    line-height:0;
}

/******************** insides ********************/

#topinside{
	position:relative;
    display:table;
    padding:1.25em 1.75em;
    width:100%;
    transition:.3s padding, .3s width, .3s background;
    line-height:1;
    box-sizing:border-box;
}

.slid{ 
	background:#b0b7d4; 
	padding:.65em 1em !important; 
}

/********************* Top ************************/

#title{
	position:relative;
	width:11em;
    display:table-cell;
    vertical-align:middle;
	font-family: "nexa", sans-serif;
	font-size:1.5em;
	text-transform:uppercase;
	color:#1a2127;
	letter-spacing:.2em;
	font-weight:bold;
	transform:scale(1);
	transform-origin:center left;
	transition:.3s transform;
}

#title a{ color:#1a2127; }
#title a:hover{ color:#ce0808; }

.slid #title{ transform:scale(.9); }

.spacer{
    position:absolute;
    z-index:200;
    top:0;
    left:0;
    width:100%;
    height:100%;
}

#navMenu{
    display:table-cell;
    text-align:right;
    position:relative;
    vertical-align:middle;
}

#navMenu div{ display:inline-block; }

.social{
    top:.1em;
	position:relative;
	display:inline-block;
	pointer-events:all;
}

.wp-block-group__inner-container .social{ margin-left:0; }

.social a{
	position:absolute;
	width:100%;
	height:100%;
	z-index:1000;
    top:0;
    left:0;
}

.iconDiv{
	width:1.5em;
	height:1.5em;
	margin:0 0 0 .5em;
	position:relative;
	display:inline-block;
	text-align:center;
	cursor:pointer;
}

.iconDiv svg{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100% !important;
}


.iconDiv svg{
	fill:#fff;
	transition:.3s fill;
}

.iconDiv:hover svg{
	fill:#b6d2ea;
}

/******************** Nav **************************/

#smNavShow{ display:none !important; }

#navMenu .menu, #navMenu ul, #navMenuSm .menu, #navMenuSm ul{
	list-style:none;
	padding:0;
	position:relative;
	z-index:900;
	margin:0 0 0 0;
	display:inline-block;
}

#navMenuSm .menu, #navMenuSm ul{
	width:100%;
	margin:0 0 1em;
	padding:0;
}

#navMenu ul li, #navMenuSm ul li{
	display:inline-block;
	float:none;
	padding:0;
	margin:0;
}

#navMenuSm ul li{
    clear:both;
    float:left;
	height:auto;
}

#navMenu ul li a, #navMenuSm ul li a{
	text-decoration:none;
    color:#000;
	display:inline-block;
	margin:0 0 0 4vw;
	position:relative;
	line-height:1;
	font-size:.92em;
	transition:.5s color;
    cursor:pointer;
	font-family: "nexa", sans-serif;
	text-transform:uppercase;
	letter-spacing:.15em;
}

#navMenu ul li a:hover, #navMenuSm ul li a:hover, .pove{ color:#ce0808; }

#navMenu .active a, #navMenuSm .active a{ color:#ce0808 !important; }

#menucloser{
    width:100%;
    height:.75em;
    margin:1em 0 .8em 1.5em;
    fill:#fff;
    cursor:pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    transition:.5s fill;
}

#menucloser svg{
    height:100%;
    width:auto;
}

#menucloser:hover{ fill:#ce0808; }

/******************** Main Content *******************/

#mainContent{
	width:100%;
	height:auto;
	margin:0 auto;
	position:relative;
}

#mainText{
	width:100%;
	float:left;
	margin-left:0;
}

.pages{
    background-size:cover;
    background-position:center top;
    display:inline-block;
    width:100%;
}

.pageinside{
    max-width:1000px;
    margin:0 auto;
    padding:0;
    text-align:left;
    position:relative;
    line-height:1.5;
    width:84%;
}

#mainContent ul, #mainContent ol{
	list-style:none;
	margin:1em 0;
}

#mainContent ol{ list-style:decimal; }

#mainContent ol ol{ list-style:lower-latin; }

#mainContent ul li, #mainContent ol li{
	padding:0 0 0 1.75em;
	margin-left:1em;
}

#mainContent ul li{
	text-indent:-1.2em;
	line-height:1.3;
}

#mainContent ul li:before{
	color:inherit;
	content:'•';
	margin-right:.4em;
	font-size:1.25em;
}

.endpage{
    text-align:center;
	background:#ce0808;
	position:relative;
	font-size:.93em;
}

.endpage > div{
    line-height:1.5;
    padding:2em 0 2.5em;
    margin:0 auto;
    max-width:1100px;
    width:84%;
}

.endpage > div p:last-child{ margin-bottom:0; }

/******************* Bottom **********************/

#bottom{
	width:100%;
	height:auto;
	clear:both;
	float:left;
	padding:1.5rem 2rem 5rem;
	position:relative;
    bottom:0;
	background:#00234a;
	color:#fff;
	font-family: "nexa", sans-serif;
	font-size:.75em;
	box-sizing:border-box;
}

#copyright{
	line-height:1;
	text-align:left;
	color:#fff;
	margin:0;
	width:50%;
	float:left;
}

#bsoc{
	width:50%;
	margin:0;
	float:right;
	text-align:right;
}

/******************* Blog Posts *************************/

.blogposts{
    width:100%;
    clear:both;
    font-size:0;
    text-align:center;
}

.blogpost{
    font-size:1rem;
    display:inline-block;
    vertical-align:top;
    width:33%;
    padding:.75em 1.25em;
    margin:.25em;
    background:#f5f4ee;
    text-align:center;
    transition:.5s background;
    box-sizing:border-box;
}

.blogpost:hover{ background:#ded8c5; }

.blogpost .h3{ 
    text-align:center;
    color:#ce0808 !important;
}

.blogpost .descr{
    color:#000;
    text-align:left;
}

.postInfo, .postInfo2{
	display:block;
	margin:0 0 .5em 0;
	color:rgba(0,0,0,.45);
	font-size:.85em;
}

.postInfo2{
	margin:0 0 1em 0;
}

#pagination{
	width:80%;
	text-align:center;
	font-size:1.05em;
	margin:1em auto 0;
	font-family: "nexa", sans-serif;
	color:#000;
}

.pagination, .paginationp, .paginationn{
    display:inline-block;
    margin:0 .15em;
    width:1em;
    cursor:pointer;
}
.paginationp{ margin-right:.2em; display:none; }
.paginationn{ margin-left:.2em; }
.pove{ color:#000; }

/***************** reset styles for contat form ****************/

.wpcf7{
    max-width:500px;
    margin-left:auto;
    margin-right:auto;
}

.endpage .wpcf7{ 
	max-width:none;
	margin-bottom:.25em;
}

label{
	font-size:1em;
	vertical-align:baseline;
    width:100%;
    display:inline-block;
    margin:.8em 0 .1em;
	position:relative;
}

input, textarea{
	font-family:inherit;
	font-size:1rem;
    border:.15em solid #014178;
    padding:.7em 1em .8em;
    width:100%;
	margin:0 0 .5em;
    box-sizing:border-box;
	background:none;
}

::placeholder{ font-style:italic; }
.endpage ::placeholder{ color:rgba(0,0,0,0.4); }

textarea{ height:8em; }

.wpcf7-spinner{ position:absolute; }

.wpcf7-not-valid-tip{ font-size:1rem; }

input[type="submit"], .backToBlog a, .button, input[type="button"], .wp-block-button__link{
	cursor:pointer;
	width:auto !important;
	clear:both;
	border:0px;
	margin:0;
	border-radius:0;
	padding:.85em 1.2em;
	line-height:1;
	display:inline-block;
	font-size:1.1em;
	transition:.5s color, .5s background;
	color:#fff;
	background:#ce0808;
    text-align:center;
	font-family: "nexa", sans-serif;
	text-transform:uppercase;
	letter-spacing:.2em;
}

.wp-block-button__link svg, .button svg{
	height:1.8em;
	width:auto;
	margin:.35em 0 0;
}

.backToBlog a{
	margin:3em 0 35px 0;
	font-size:1.4em;
	transition:.5s background;
}

#pagination .next, #pagination .prev, .read-more{
	padding:.2em .4em .2em .4em;
	margin:0 .3em;
	font-size:.9em;
	display:inline-block;
	transition:.5s color, .5s background;
	color:#fff;
	background:#ce0808;
}

.read-more{
	font-size:.85em;
	padding:.25em .8em .25em .8em;
}

#pagination .next:hover, #pagination .prev:hover, .read-more:hover, .wp-block-button__link:hover{
	color:#fff;
	background:#014178;
}

input[type="submit"]:hover, .backToBlog a:hover, .button:hover, input[type="button"]:hover{
	color:#fff;
	background:#014178;
}

.endpage input{
	display:inline-block;
	margin:0 .15em .25em;
	vertical-align:top;
	width:23%;
	padding-top:0;
	padding-bottom:0;
	height:3em;
}

.endpage input[type="submit"]{
	background:#014178;
}

.endpage input[type="submit"]:hover{
	background:#fff;
	color:#014178;
}


/********************** Press *********************************/

.pressb{
	width:100%;
	background:#cc0023;
	transition:.5s background;
	display:table;
	margin:0 auto .3em;
    box-sizing:border-box;
	color:#fff;
	max-width:600px;
}

.pressb:hover{ background:#014178; }

.pressl{
	width:25%;
	height:100%;
	display:table-cell;
	vertical-align:middle;
	position:relative;
	border-right:.2em solid #fff;
	box-sizing:border-box;
	padding:.5em;
	text-align:center;
}

.pressl img{
	width:85%;
	height:auto;
    max-height:75px;
    object-fit:contain;
}

.presst{
	padding:1em 1.5em 1.2em;
	height:100%;
	display:table-cell;
	vertical-align:middle;
	color:#fff;
    box-sizing:border-box;
}

.presst p{ margin-bottom:0; }

/********************************** 404 *********************************/

.lost{
	margin:0;
	padding:0;
}

.lostH{
	font-size:6em;
	margin:0 0 0 0;
	line-height:1;
}

.lostP{
	margin:0;
}

/********************************* Events Calendar **********************/

.mbecout{ 
	border-width:3px;
	margin:2em 0 2.75em 0;
}
.mbecout, .edate{ border-color:#eee; }
.mbectop, .calendar-day-np, .elocation{ background:#eee; }
.npbut, .mbecbutton, .mbecout .h3, a.mbeca{ color:black; }
.mbeccloseButton svg{ fill:black; }
table.mbeccalendar, .mbeccalendar td{ border-color:#ddd; }
.calendar-day-head th{
	border-bottom-color:#ddd;
	background:#123;
	color:#fff;
}
.calendar-day-head th:last-child{ border-right-color:#ddd; }
.mbcalevent{ background:white; }
.mbeccloseButton{ top:-30px; }

/*************************** Book Covers *************************/

.bookcover{
	width:100%;
	height:auto;
	margin:3% auto -4% auto;
	padding:0 0 7% 0;
	position:relative;
	background:url("images/bookshadow.png") no-repeat;
	background-size:93% 100%;
	background-position:80% top;
}

.coverdiv{
	position:relative;
	width:77%;
	height:auto;
	z-index:1;
	top:0;
	left:10%;
	line-height:0;
	border-radius:3px;
	overflow:hidden;
	border-top:1px solid rgba(0,0,0,0.13);
	border-bottom:1px solid rgba(0,0,0,0.4);
}

.cover{
	position:relative;
	z-index:1;
	width:100%;
	top:0;
	left:0;
	height:100%;
}

.overcover{
	position:absolute;
	top:0;
	left:0;
	z-index:30;
	width:100%;
	height:100%;
	pointer-events:none;
	box-shadow:inset 0 0 2px rgba(0,0,0,0.1);
}

.coverhover{
	position:absolute;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:rgba(1,2,3,0);
	z-index:10000;
	transition:.5s background;
}

.coverhover:hover{ background:rgba(1,2,3,0.4); }

/*************************** Testimonials ************************/

.testimonials{
	width:100%;
	margin:0;
	padding:2.5em 0;
	clear:both;
	float:left;
    background-color:#014178;
    display:block;
    text-align:center;
	color:#fff;
}

.testimonials h2{
	margin:0 0 1em;
	font-size:1.61em;
	font-weight:normal;
}

.testimonialsin{ 
    position:relative; 
    height:100%;
    width:86%;
    margin:0 auto;
}

.testimonial{
	position:absolute;
    top:46%;
    -ms-transform:translateY(-50%);
    transform:translateY(-50%);
    left:0;
    width:100%;
    display:none;
    font-size:1.17em;
}

.testimonial:first-child{ display:block; }

.testbuttons{
    width:100%;
    clear:both;
    text-align:center;
    position:relative;
    margin:.5em auto 0;
}

.testbutton{
    width:.5em;
    height:.5em;
    margin:0 .35em;
    display:inline-block;
    line-height:1;
    position:relative;
    cursor:pointer;
    overflow:hidden;
    border-radius:1em;
	background:rgba(255,255,255,.3);
}

.testbutton:first-child { opacity:1; }

.tbl{ opacity:0; }
.testbutton:first-child .tbl{ opacity:1; }

.square{
    background:#fff;
    width:100%;
    height:100%;
    position:absolute;
    left:0;
    top:0;
}

/******************************* Extras *******************************/

.intext, .is-style-intext{
	width:40%;
	height:auto;
	margin:0 0 .5em 1em;
	float:right;
	box-shadow:.13em .18em .35em rgba(0,0,0,0.3);
}

.shadowFrame{
	border:10px solid #fff;
	background:#fff;
	margin-bottom:20px;
	box-shadow:0px 2px 6px rgba(0,0,0,0.3);
}

.wide{
	width:100%;
	margin:0;
	padding:0;
	clear:both;
	float:left;
}

.inpad{ padding:0 0 2.5em; }
.firstP .inpad{ padding:0; }

.bcolor{ 
	background:#b6d2ea;
}
.wide{ padding-top:2.5em; }

.table{ display:table; }

.left, .right, .lft, .rgt{ 
	display:table-cell;
	vertical-align:middle;
}

.rgt{
	width:45%;
    max-width:480px;
	padding-left:5%;
}

.right{
	width:40%;
    max-width:380px;
	padding-left:5%;
}

.clear{
	clear:both;
	height:30px;
}

.firstP{
    width:100%;
	background-color:#b0b7d4;
    background-size:cover;
    background-position:center top;
    position:relative;
    overflow:hidden;
}

.firstP .pageinside{
    position:relative;
    text-align:center;
    width:94%;
	max-width:none;
    z-index:5;
    padding:19vw 38vw 26vw 0;
    height:100%;
	font-family: "nexa", sans-serif;
	text-transform:uppercase;
	font-size:1.8vw;
	color:#ce0808;
	letter-spacing:.1em;
	box-sizing:border-box;
}

.firstP h1{
	font-weight:bold;
	margin:0;
	font-size:2.6em;
	letter-spacing:.1em;
}

.logolink{
    height:2em;
    width:auto;
    display:inline-block;
    margin:0 .2em;
    vertical-align:middle;
}

hr.wp-block-separator{
    max-width:13em;
    margin:2em auto;
    background:none;
    height:1px;
    border-top:0;
    border-bottom:2px solid #eee;
}

.text{
    padding-right:5%;
    display:table-cell;
    vertical-align:middle;
}

.sidetext{
    width:35%;
    display:table-cell;
    vertical-align:middle;
    box-shadow:3px 4px 6px rgba(0,0,0,0.3);
    background-size:cover;
    background-position:center;
}

#line1, #line2, #line3{ transition:.3s transform; }
#line1{ transform:translateY(15%); }
#line2{ transform:translateY(0); }
#line3{ transform:translateY(-15%); }

.grecaptcha-badge{ 
    z-index:1000;
    transform:scale(.8);
}

.cent{ 
	text-align:center;
	margin:0 auto 2em;
	max-width:700px;
}

/********************************** Resized CSS *************************/

@media all and (max-width: 1475px){
    #navMenu ul li a, #navMenuSm ul li a{
        font-size:1.15vw;
		margin-left:2.8vw;
    }
}

@media all and (max-width:1150px){
	#navMenu .menu{ display:none; }
	#navMenu{ padding-right:0; }
	#smNavShow{ 
		display:inline-block !important; 
		width:1.4em;
        fill:none;
        stroke:#000;
        stroke-width:3;
		margin:0;
		cursor:pointer;
		position:relative;
		z-index:1100;
        transition:.5s fill;
	}
    #smNavShow:hover #line1, #smNavShow:hover #line3{ transform:translateY(0); }
    #smNavShow svg{
        width:100%;
        height:auto;
    }
	#navMenuSm ul li a{
		padding:.6em 1.2em;
		margin:0;
		font-size:1.25em;
		height:auto;
		top:0;
		text-align:left;
        color:#fff;
	}
}

@media all and (max-width:950px){
    .firstP .pageinside{ 
        width:100%;
        font-size:.9rem;
		padding:20vw 36vw 23vw 1vw;
        display:block;
    }
    .left, .right, .firstP .right, .firstP .left{
		display:block;
		clear:both;
		width:100%;
		padding:0;
		margin:0 auto 1em;
	}
}

@media all and (max-width:880px){
	.firstP{ background-position:top right; }
	.firstP .pageinside{
		padding:20vw 10vw 60vw 10vw;
		font-size:2.9vw;
	}
    .text, .sidetext{
        display:block;
        clear:both;
        width:90%;
        padding:0;
        margin:0 auto;
    }
    .text{ margin-bottom:1.6em; }
    .sidetext{ 
        min-height:23em;
        max-width:19em;
    }
    .lft, .rgt{ 
        display:block;
        clear:both;
        float:none;
        width:90%;
        padding:0;
        margin:0 auto 1em;
    }
	.endpage input{
		width:100%;
		margin:0 0 .5em;
	}
}

@media all and (max-width:700px){
	.intext, .is-style-intext{
		width:60%;
	}
}

@media all and (max-width:600px){
	.intext, .is-style-intext{
		width:100%;
		float:left;
		margin:0 auto 1em;
	}
}

@media all and (max-width:500px){
	#title{
		font-size:5.5vw;
	}
}