/*
 * These styles are outputted both of the frontend and backend of the site
 * Please note any changes you do make may also make changes to the WP backend default styles.
 * Edit with caution
 */

/* Root Variables */
:root { --border-radius: 1rem; --grid-gap: 4rem; }

/* Presets */
* { box-sizing: border-box; }
img { max-width: 100%; vertical-align: middle; height: auto; }
.block-overlay-color { position: absolute; top: 0; left: 0; right: 0; bottom: 0; }

/* Grid */
.grid { display: grid; grid-gap: 4rem; }
@media screen and (max-width: 768px) {
	.grid { grid-template-columns: 1fr !important; }
}
/* Sections */
section { background-size: cover; background-position: center; position: relative; overflow-x: clip; }
section.full-width .container,
.container.full-width { max-width: 100%; width: 100%; padding-left: 0rem; padding-right: 0rem; }
.container .container { padding: 0; }

/* Container */
section.narrow .container .grid { width: 80%; max-width: 80%; }
.container { width: 85%; max-width: 130rem; margin: 0 auto; padding: 0rem; position: relative; }
.wp-admin .container { width: 97%; }
.container .container { padding: 0; margin: 0; }
@media screen and (max-width: 1024px) {
	.container { max-width: 85%; }
}

/* Container widths (when using the override in Section settings on a block)*/
.container.width-20 { width: 20%; max-width: 20%; }
.container.width-25 { width: 25%; max-width: 25%; }
.container.width-30 { width: 30%; max-width: 30%; }
.container.width-33 { width: 33%; max-width: 33%; }
.container.width-40 { width: 40%; max-width: 40%; }
.container.width-50 { width: 50%; max-width: 50%; }
.container.width-60 { width: 60%; max-width: 60%; }
.container.width-66 { width: 66%; max-width: 66%; }
.container.width-70 { width: 70%; max-width: 70%; }
.container.width-75 { width: 75%; max-width: 75%; }
.container.width-80 { width: 80%; max-width: 80%; }
.container.width-85 { width: 85%; max-width: 85%; }
.container.width-90 { width: 90%; max-width: 90%; }
.container.width-100 { width: 100%; max-width: 100%; }

/* Block shapes */
.block-shape { position: relative; width: 100%; box-sizing: border-box; overflow: hidden; height: 10rem; }
.block-shape .triangle-shape { background-color: transparent !important; width: 0; height: 0; border-left: 50vw solid transparent; border-right: 50vw solid transparent; border-bottom: 10rem solid;  }
.block-shape .triangle-shape-bottom { background-color: transparent !important; width: 0; height: 0; border-left: 50vw solid transparent; border-right: 50vw solid transparent; border-top: 10rem solid;  }
.block-shape .curve-shape { height: 5rem; border: 0; width: 100%;  border-radius: 50% 50% 0 0; margin-top: 5rem;  }	 
.block-shape .curve-shape-bottom { height: 5rem; border: 0; width: 100%;  border-radius: 0 0 50% 50%; margin-bottom: 5rem;  }	 
.block-shape .tilt-shape { height: 10rem; border: 0; width: 120%; transform: rotate(2deg); margin-top: 5rem; position: relative; left: -5%; }	 
.block-shape .tilt-shape-bottom { height: 10rem; border: 0; width: 120%; transform: rotate(2deg); margin-bottom: 5rem; position: relative; top: -5rem; left: -5%;  }

.block-shape .small-triangle-shape { background-color: transparent !important; width: 0; height: 0; border-left: 10rem solid transparent; border-right: 10rem solid transparent; border-bottom: 5rem solid; position: absolute; bottom: 0; transform: translateX(-50%); left: 50%; }
.block-shape .small-triangle-shape-bottom { background-color: transparent !important; width: 0; height: 0; border-left: 10rem solid transparent; border-right: 10rem solid transparent; border-top: 5rem solid; position: absolute; top: 0; transform: translateX(-50%); left: 50%;   }

/* Section Titles */
.section-title-area { margin-bottom: 5rem; }
.section-title-area .section-title {max-width: 50%;}

.section-title-area.fw-title .section-title {max-width: 100%;}

@media(max-width: 768px) {
    .section-title-area .section-title {max-width: 100%;}
}

/* Broken Links */
.broken-link { position: relative; }
.broken-link:after { content: "HASH LINK"; float: left; width: 6rem; color: #fff; background: red; border-radius: 100rem; padding: 0rem 1rem; font-size: 1rem; position: absolute; left: 3.5rem; text-align: left; line-height: 3rem; }

/* Post Listings */
.post-listings { grid-template-columns: repeat(3, 1fr); }
.post-listing { position: relative; border-radius: 2rem; border: 2px solid var(--brand-3); overflow: hidden;}
.post-listing .post-listing-link { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.post-listing .post-listing-title{min-height: 15rem;}
.post-listing .post-listing-title a svg {fill: var(--brand-1); display: inline; width: 25px;}
.post-listing .post-listing-title a:hover svg{fill: var(--brand-2);}
.post-listing .post-listing-content { padding: 2rem; }
.post-listing .post-listing-image img{height: 200px; object-position: center;}

/* Resources */
.resources{grid-template-columns: 1fr 1fr 1fr;}
.resources .resource{position: relative; border-radius: 1.5rem; background-color: var(--brand-4); color: #fff;}
.resources .resource h5{min-height: 15rem;}
.resources .resource h5 a{color: #fff;}
.resources .resource .resource-image img{width:100%;}
.resources .resource .resource-content{padding: 4rem 4rem;}
.resources .resource .resource-content.horizontal {padding: 2rem;}

.resources .resource .resource-image{height: 200px;}
.resources .resource .resource-image img{height: 100%}

.resources.accents .resource.accent-positioner{padding-top: 13px;}

@media(max-width: 768px){
    .resources .resource .resource-image{height: auto; padding: 2rem 0;}
    .resources .resource .resource-image img{height: auto;}
}

/* Generic Hero */
.generic-hero {position: relative; background-color: var(--brand-5); padding: 10rem 0 8rem; margin-bottom: 8rem;}
.generic-hero h1{color: var(--brand-1);}
.generic-hero p{font-size: clamp(1.5rem, 2vw, 2rem); font-weight: bold;} 
.generic-hero .post-meta{margin-bottom: 0.5rem;}

/* Pagination */
.page-navigation { margin-top: 2rem; text-align: center; }

/* WYSIWYG Formats */
ul.toast-boxed-list { background: var(--brand-8); padding: 2rem 2rem 1rem 2rem; list-style: inside; border-radius: var(--border-radius); }
p.toast-alert-paragraph { display: flex; align-items: top; background: var(--brand-1); color: #fff; padding: 2rem; margin: 4rem 0; position: relative; border-radius: var(--border-radius); }
p.toast-alert-paragraph:before { content: ""; display: block; background: transparent url('/wp-content/themes/toast/assets/images/warning.svg') center center no-repeat; background-size: contain; height: 5rem; width: 10rem; margin-right: 2rem; border-radius: var(--border-radius); animation: shake 2.5s ease-in-out infinite; }
@keyframes shake {
    0%, 20%, 100% { transform: translateX(0); }
    2%, 6% { transform: translateX(-3px); }
    4%, 8% { transform: translateX(3px); }
}

img.toast-round-image { border-radius: 100%; }
img.toast-image-shadow { box-shadow: rgba(0, 0, 0, 0.25) 0px 20px 25px -5px, rgba(0, 0, 0, 0.04) 0px 10px 10px -5px; }

/* Captions */
p.wp-caption-text { background: var(--brand-2); padding: 1rem 2rem; box-sizing: border-box; display: inline-block; color: #fff; width: 100%; border-radius: var(--border-radius); }
div[id^="attachment_"] { max-width: 100% !important; width: 100% !important; }
div[id^="attachment_"] img { width: 100%; }
.alignleft .wp-caption-text,
.alignright .wp-caption-text { margin-bottom: 0 !important; }

/* Never Remove */
.wp-block { font-family: -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Oxygen-Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif; }

/* Podcast Links */
p:has(.podcast-links){display: flex; align-items: center; gap: 1rem;}
.podcast-links{display: inline-flex; gap: 1rem;}
.podcast-links a svg{height: 40px; width: auto; display: flex; cursor: pointer; overflow: visible;}
.podcast-links a svg:hover{opacity: 0.8;}