/*
Theme Name: Tidemark Base
Author: Code Greene
Description: A neutral parent theme for custom Tidemark child themes.
Version: 1.0.0
Text Domain: code-greene-base
*/

/* STYLE RESET =================================================================================================================================================== */

:root{
	all:initial;
	font-family:Arial, Helvetica, sans-serif;
	--primary:64, 64, 64;
	--primary_light:128, 128, 128;
	--primary_tonal1:96, 96, 96;
	--primary_tonal2:144, 144, 144;
	--primary_tonal3:192, 192, 192;
	--primary_tonal4:240, 240, 240;
	--black:0, 0, 0;
	--gray:187, 189, 191;
	--white:255, 255, 255;
	--off_white:245, 245, 245;
	--primary_gradient:linear-gradient(to right, rgba(var(--primary_light),1) 0%, rgba(var(--primary),1) 100%);
	--cg-scroll-offset:0px;
}

*{padding:0; box-sizing:border-box; margin:0; text-rendering:geometricPrecision;}

/* BLANKET STYLES ================================================================================================================================================ */

/* Defaults */

.left-align{text-align:left;}
.center-align{text-align:center;}
.right-align{text-align:right;}

.hideScrollbar{scrollbar-width:none; -ms-overflow-style:none;}
.hideScrollbar::-webkit-scrollbar{display:none;}

/* body{} */
body.noscroll{overflow:hidden;}

.screen-reader-text{overflow:hidden; width:1px; height:1px; padding:0; margin:-1px; border:0; clip:rect(0, 0, 0, 0); white-space:nowrap; position:absolute !important;}
.screen-reader-text:focus, .skip-link:focus{overflow:visible; width:auto; height:auto; padding:12px 16px; margin:0; background-color:rgb(var(--white)); color:rgb(var(--black)); clip:auto; white-space:normal; top:15px; left:15px; z-index:10000;}

.page-wrapper{display:flex; flex-direction:column; width:100%; min-height:100vh;}
.page-content{flex-grow:1; display:flex; flex-direction:column; width:100%; position:relative; z-index:95;}
.site-header{position:relative; z-index:100;}
.site-footer{position:relative; z-index:90;}

.subpage{padding:75px 0;}
.subpage .container{display:flex;}
.subpage .left-side{width:100%; margin-right:50px;}
.subpage .left-side .wp-post-image{display:block; width:100%; margin-bottom:20px;}
.subpage .right-side{flex:0 0 360px; width:360px;}

@media screen and (max-width:850px){
	.subpage .container{flex-direction:column; align-items:center;}
	.subpage .left-side{margin:0 0 50px;}
	.subpage .right-side{flex:initial; width:100%; max-width:600px;}
}

section.default{padding:100px 0;}
section.default .page-title{max-width:600px; text-align:center;}

.flexible{display:flex; flex-direction:column; align-items:center; width:100%;}

section{display:flex; flex-direction:column; justify-content:center; align-items:center; width:100%; position:relative;}
section.content-top{justify-content:flex-start;}
section.content-bottom{justify-content:flex-end;}
section .main-text{width:100%; margin-bottom:30px;}

.white-text, .white-text *{color:rgb(var(--white));}

.cg-overlay{position:absolute; top:0; right:0; bottom:0; left:0;}

.background-top-left{background-position:top left;}
.background-top-center{background-position:top center;}
.background-top-right{background-position:top right;}
.background-center-left{background-position:center left;}
.background-center-center{background-position:center center;}
.background-center-right{background-position:center right;}
.background-bottom-left{background-position:bottom left;}
.background-bottom-center{background-position:bottom center;}
.background-bottom-right{background-position:bottom right;}

/* Headings */

h1, h2, h3, h4{width:100%; margin-bottom:15px; font-weight:700; line-height:1;}
h1 *, h2 *, h3 *, h4 *{color:inherit; font-family:inherit !important; font-size:inherit !important; font-weight:inherit !important; line-height:inherit !important;}
.white-text :is(h1, h2, h3, h4), .white-text :is(h1, h2, h3, h4) *{color:rgb(var(--white));}

h1:last-child, h2:last-child, h3:last-child, h4:last-child{margin-bottom:0;}

h1{font-size:65px; line-height:0.962;}
h2{font-size:52px; line-height:1.3;}
h3{font-size:40px; line-height:1.3;}
h4{font-size:22px; line-height:1.22;}

/* h1 + h1, h1 + h2, h1 + h3, h1 + h4,
h2 + h1, h2 + h2, h2 + h3, h2 + h4,
h3 + h1, h3 + h2, h3 + h3, h3 + h4,
h4 + h1, h4 + h2, h4 + h3, h4 + h4{margin-top:30px;} */

h1 + p, h2 + p, h3 + p, h4 + p,
h1 + ul, h2 + ul, h3 + ul, h4 + ul,
h1 + ol, h2 + ol, h3 + ol, h4 + ol,
h1 + blockquote, h2 + blockquote, h3 + blockquote, h4 + blockquote,
h1 + table, h2 + table, h3 + table, h4 + table{margin-top:0;}

@media screen and (max-width:600px){
	h1{font-size:45px;}
	h2{font-size:35px;}
	h3{font-size:30px;}
	/* h4{font-size:20px;} */
}

/* Basic Text */

strong, strong *,
b, b *{font-family:inherit; font-size:inherit; font-weight:700 !important; line-height:inherit; transition:all 0.25s;}

em{font-family:inherit; font-style:italic;}

span{font-family:inherit; font-size:inherit; font-weight:inherit;}

a{font-family:inherit; font-size:inherit; color:rgb(var(--primary)); text-decoration:none; transition:all 0.25s;}
a *{transition:all 0.25s;}
/* a:hover, a:focus, a:active,
a:hover *, a:focus *, a:active *{text-decoration:underline;} */

p{margin:30px 0;}
/* p a{text-decoration:underline;} */
p img{max-width:100%; height:auto;}
p img.alignright{float:right; margin:0 0 10px 10px;}
p img.alignleft{float:left; margin:0 10px 10px 0;}
p img.aligncenter{display:block; margin:20px auto;}
p + p{margin-top:-15px;}
p:first-child{margin-top:0;}
p:last-child{margin-bottom:0;}

img.alignleft{float:left; margin:15px 15px 15px 0;}
img.alignright{float:right; margin:15px 0 15px 15px;}
img.aligncenter{margin:15px auto;}

.wp-caption{max-width:100%;}
.wp-caption img{max-width:100%; height:auto; border-radius:30px;}
.wp-caption p{margin:15px 0;}
.wp-caption *{font-size:14px; font-style:italic;}

img{display:inline-block; width:initial; max-width:100%; height:auto;}
p img{display:inline-block;}
picture{display:flex; justify-content:center; align-items:center;}
picture img{width:100% !important;}

hr{display:block; width:100%; max-width:367px; height:2px; margin:30px auto; border:1px solid rgb(var(--gray));}
.white-text hr{border:1px solid rgb(var(--white));}

iframe{max-width:100%;}

@media screen and (max-width:600px){
	p img{width:100%; margin:20px 0 !important;}
	p img:first-child{margin-top:0 !important;}

	hr{max-width:300px;}
}

/* Lists */

ul{list-style-type:disc; width:100%; padding-left:30px; margin:30px 0;}
ol{list-style-type:decimal; width:100%; padding-left:30px; margin:30px 0;}
ul:first-child, ol:first-child{margin-top:0;}
ul:last-child, ol:last-child{margin-bottom:0;}

li{margin-bottom:15px;}
li:last-of-type{margin-bottom:0 !important;}

@media screen and (max-width:600px){
	ul{padding-left:15px;}
}

/* Nav */
nav ul{padding:0; margin:0; list-style:none;}
nav li{padding-left:0;}
nav a{text-decoration:none !important;}

/* Blockquote */

blockquote{padding:41px 34px; margin:30px 0; background-color:rgb(var(--primary_tonal4));}
blockquote:first-child{margin-top:0;}
blockquote:last-child{margin-bottom:0;}

/* Tables */

table{width:100%; margin:30px 0;}
table:first-child{margin-top:0;}
table:last-child{margin-bottom:0;}
tr{background-color:rgb(var(--white));}
tr:nth-child(even){background-color:rgb(var(--gray));}
th{padding:10px 15px; background-color:rgb(var(--primary)); text-align:left; outline:1px solid rgb(var(--primary));}
th *{color:rgb(var(--white));}
td{padding:10px 15px; outline:1px solid rgb(var(--primary));}

/* Buttons ========================================== */

a.btn,
span.btn,
.btn input,
input.btn{cursor:pointer; display:inline-flex; justify-content:center; align-items:center; padding:11px 31px !important; font-size:18px !important; font-weight:700 !important; text-align:center; text-transform:uppercase !important; text-decoration:none !important; line-height:1.1 !important; background:none; border:none; position:relative; transition:all 0.25s !important;}

a.small-btn,
span.small-btn,
.small-btn input,
input.small-btn{padding:7px 17px !important; font-size:14px !important; line-height:initial !important;}

a.primary-btn,
span.primary-btn,
.primary-btn input,
input.primary-btn,
a.primary-hvr:hover,
span.primary-hvr:hover,
.primary-hvr input:hover,
input.primary-hvr:hover{color:rgb(var(--white)) !important; background:rgb(var(--primary)) !important;}

a.black-btn,
span.black-btn,
.black-btn input,
input.black-btn,
a.black-hvr:hover,
span.black-hvr:hover,
.black-hvr input:hover,
input.black-hvr:hover{color:rgb(var(--white)) !important; background:rgb(var(--black)) !important;}

a.white-btn,
span.white-btn,
.white-btn input,
input.white-btn,
a.white-hvr:hover,
span.white-hvr:hover,
.white-hvr input:hover,
input.white-hvr:hover{color:rgb(var(--primary)) !important; background:rgb(var(--white)) !important;}

/* Button Shortcode */
span.btnshrtcd{display:inline-block; margin:8px;}
p:has(span.btnshrtcd){margin:0;}

@media screen and (max-width:600px){
	span.btnshrtcd{display:flex; justify-content:center;}
}

/* Containers ========================================== */

.container{width:100%; max-width:1360px; padding-block:50px; padding-inline:40px; margin:0 auto; position:relative; z-index:2;}
.container.small{max-width:848px;}
.container.medium{max-width:1104px;}
.container.large{max-width:1520px;}
.container.full{max-width:initial;}

.container.noPad{padding-inline:0 !important;}

@media screen and (max-width:850px){
	.container{padding-inline:30px;}
}

@media screen and (max-width:600px){
	.container{padding-block:30px; padding-inline:20px;}
	.container:has(.mobileContainer){padding:0;}
	.mobileContainer{padding-inline:20px !important;}

	.container.noPad .mobileContainer{padding-inline:0 !important;}
}

/* Pagination ========================================== */

.pagination{display:flex; flex-wrap:wrap; justify-content:center; align-items:center; width:100%; margin-bottom:50px;}
.page-numbers{display:flex; justify-content:center; align-items:center; padding:20px; color:rgb(var(--black)); background-color:transparent; font-weight:700; transition:all 0.25s;}
.page-numbers:first-child{margin-left:0;}
.page-numbers:hover, .page-numbers.current{color:rgb(var(--primary));}
/* .page-numbers.current:hover{color:rgb(var(--primary));} */

@media screen and (max-width:767px){
	.pagination{margin-bottom:40px;}
}

/* Social Icons ========================================== */

.social-icons{display:flex; flex-wrap:wrap; justify-content:flex-start;}
.social-icons .social-link{display:flex; flex-direction:column; align-items:center; margin-right:15px;}
.social-icons a{display:flex; justify-content:center; align-items:center; width:26px; height:26px; text-decoration:none !important;}
.social-icons i{display:block; margin-bottom:-2px; color:inherit; font-size:26px; font-family:"Font Awesome 6 Free"; transition:all 0.25s;}
.social-icons .fa-brands,
.social-icons .fab{font-family:"Font Awesome 6 Brands" !important;}

/* Widgets ========================================== */

.sidebar .widget + .widget{margin-top:20px;}
.sidebar .widget_text .widget-title{font-size:20px;}

/* Text */

.sidebar .widget_text{padding-block:28px; padding-inline:33px; background-color:rgb(var(--black));}
.sidebar .widget_text .widget-title{color:rgb(var(--white)); text-align:center;}
.sidebar .widget_text .textwidget{color:rgb(var(--white)); text-align:center;}

/* Accordions ========================================== */

.accordion-initial:hover{cursor:pointer;}
.accordion-reveal{display:none;}
