/*
  Theme Name:        WBS BlankSlate
  Theme URI:         https://willowbrookstables.net
  Author:            Ray W. Johnson
  Author URI:        https://willowbrookstables.net
  Description:       Custom theme for Willow Brook Stables - child theme of BlankSlate
  Version:           1.0.3
  Requires at least: 6.0
  Tested up to:      7.0
  Requires PHP:      8.0
  License:           GPLv3
  License URI:       http://www.gnu.org/licenses/gpl-3.0.html
  Text Domain:       wbs-blankslate
  Tags:              BlankSlate, Willow Brooks Stables
*/

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,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}html{scroll-behavior:smooth}body{line-height:1}a{text-decoration-skip-ink:auto}a[href^="tel"]{color:inherit;text-decoration:none}button{outline:0}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none}q{display:inline;font-style:italic}q:before{content:'"';font-style:normal}q:after{content:'"';font-style:normal}textarea,input[type="text"],input[type="button"],input[type="submit"],input[type="reset"],input[type="search"],input[type="password"]{appearance:none;border-radius:0}input[type="search"]{appearance:textfield}table{border-collapse:collapse;border-spacing:0}th,td{padding:2px}big{font-size:120%}small,sup,sub{font-size:80%}sup{vertical-align:super}sub{vertical-align:sub}dd{margin-left:20px}kbd,tt{font-family:courier;font-size:12px}ins{text-decoration:underline}del,strike,s{text-decoration:line-through}dt{font-weight:bold}address,cite,var{font-style:italic}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
.sticky{}.bypostauthor{}.wp-caption{}.wp-caption-text{}.gallery-caption{}.alignright{}.alignleft{}.aligncenter{}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important;word-break:normal}
.screen-reader-text:focus{background-color:#f7f7f7;border-radius:3px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#007acc;display:block;font-size:14px;font-size:.875rem;font-weight:700;height:auto;right:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}
.skip-link{left:-9999rem;top:2.5rem;z-index:999999999;text-decoration:underline}
.skip-link:focus{display:block;left:6px;top:7px;font-size:14px;font-weight:600;text-decoration:none;line-height:normal;padding:15px 23px 14px;z-index:100000;right:auto}
.visually-hidden:not(:focus):not(:active), .form-allowed-tags:not(:focus):not(:active){position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}

* {
  box-sizing: border-box;
}

.the-content::after {
  content: "";
  display: table;
  clear: both;
}

.wbs-meta {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}
.wbs-meta .entry-date {
  padding-left: 1rem;
  background: url(pub/icons/date.png) no-repeat left center;
  font-size: 0.80rem;
}
:root {
  --bg-color: #15133F;

  --page-width: 960px;
  --page-bg: #FFF;

  --other-bg: #3D1B4D;
  --other-hov: #843CA6;
}

html, body {
  padding: 0;
  border: 0;
  margin: 0;
}

body {
  background-color: var(--bg-color);
  font-family: Arial, Helvetica, Garuda, sans-serif;
  font-size: 13px/1.231 sans-serif;
  color: #888;
  line-height: 1.5;
}

a {
  text-decoration: none;
}

b, strong {
  font-weight: bold;
}

i, em {
  font-style: oblique;
}

#wrapper {
  max-width: var(--page-width);
  margin: 0 auto;
  background-color: var(--page-bg);
}

/* Apply spacing to your top-most wrapper element if it is static */
body#wpadminbar #wrapper {
    margin-top: var(--wp-admin--admin-bar--height, 32px);
}

h1, h2, h3, h4, h5, h6 {
  font-weight: 400;
  font-style: normal;
  line-height: 1.4;
  margin: 1em 0 .9em;
  margin-top: 1em;
  margin-bottom: 0.9em;
  padding: 0;

}
h1 {
  color: #3a1e52;
  font-size: 22px;
  margin-bottom: .8em;
}
h2 {
  font-size: 20px;
  margin-bottom: .8em;
}
p {
  padding: 0;
  margin: 0 0 1.2em 0;
}

#header {

}

#header-slider-wrap {
  position: relative;
}

.header-logo {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 10;
}

#featured {
  width: 100%;
  height: 480px;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

#container {

}

#content {
  padding: 2rem;
}

#sidebar {

}

#footer {
  background-color: var(--other-bg);
}

#copyright {
  display: grid;
  gap: 0;
  grid-template-columns: 1fr 1fr;
  padding: 1rem 2rem;
}
#copyright > div {
  font-size: 0.80rem;
  color: #FFF;
  line-height: 1.6;
}
#copyright > div:first-child {
  text-align: left;
}
#copyright > div:last-child {
  text-align: right;
}
#copyright > div a {
  color: #E5E5E5;
}
#copyright > div a:hover {
  color: #FFF;
}

#copyright > div > span {
  color: rgba(255,255,255,.5);
}

@media screen and (max-width: 800px) {

}

@media screen and (max-width: 640px) {

}

@media screen and (max-width: 380px) {

}

/* razor theme elements */

.col-1-1 { border: 1px solid red; }
.col-1-2 { border: 1px solid red; }
.col-1-3 { border: 1px solid red; }
.col-2-3 { border: 1px solid red; }
.col-1-4 { border: 1px solid red; }
.col-3-4 { border: 1px solid red; }

/* */
/* ==========================================================================
   1. Main/Top-Level Navigation Menu Container
   ========================================================================== */
.main-navigation ul.menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex; /* Aligns top-level items horizontally */
    background-color: var(--other-bg);
}

/* Style top-level list items */
.main-navigation ul.menu > li {
    position: relative; /* Crucial: Serves as an anchor point for the absolute sub-menu */
}

/* Style links for top-level menu items */
.main-navigation ul.menu > li > a {
    display: block;
    padding: 15px 20px;
    color: #fff;
    font-family: sans-serif;
    transition: background-color 0.3s ease;
}

/* Top-level hover effect */
.main-navigation ul.menu > li:hover > a {
    background-color: var(--other-hov);
}

/* ==========================================================================
   2. Second-Level (Dropdown) Menu Styling
 ========================================================================== */
.main-navigation ul.menu ul.sub-menu {
  position: absolute; /* Positions dropdown right beneath the parent item */
  top: 100%;
  left: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  width: 200px; /* Set a standard width for the dropdown menu */
  background-color: var(--other-bg);
  box-shadow: 0px 4px 6px rgba(0,0,0,0.15);

  /* Hide the submenu by default */
  display: none;
  z-index: 9999;
}

/* Style second-level list items */
.main-navigation ul.menu ul.sub-menu li {
  width: 100%; /* Forces second-level links to stack vertically */
}

/* Style links for second-level menu items */
.main-navigation ul.menu ul.sub-menu li a {
  display: block;
  padding: 12px 15px;
  color: #fff;
  font-size: 14px;
  transition: background-color 0.3s ease;
}

/* Second-level hover effect */
.main-navigation ul.menu ul.sub-menu li:hover > a {
  background-color: var(--other-hov);
}

/* ==========================================================================
   3. Trigger: Show second level on parent hover
   ========================================================================== */
.main-navigation ul.menu li:hover > ul.sub-menu {
  display: block;
}

/* footer menu */
.footer-menu {
  list-style: none;
  margin: 0;
  padding: 0.50rem 0;
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  align-items: center;
  color: #FFF;
}

/* Menu items */
.footer-menu li {
  display: flex;
  align-items: center;
}

/* Add lines BETWEEN items only */
.footer-menu li:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 12px; /* Adjust height of the dividing line */
  background-color: #CCC; /* Line color */
  margin: 0 0.50rem; /* Spacing on left and right of the line */
}

/* Link styling */
.footer-menu a {
  color: #FFF;
  transition: color 0.2s ease;
}

/* Hover state */
.footer-menu a:hover {
  color: #CCC;
}

/* header sliders */

/* Main Slider Container */
.header-slider {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: #000;
}

/* Base Heights via Modifiers */
.header-slider--large {
  height: 600px;
}
.header-slider--small {
  height: 400px;
}

/* Slider Track & Slide Configuration */
.slider-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}

.slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  opacity: 0;
  z-index: 1;
  transition: opacity 0.8s ease-in-out;
}

.slide.active {
  opacity: 1;
  z-index: 2;
}

/* Circular Navigation Arrow Styling */
.slider-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 18px;
  transition: background 0.3s ease;

  /* Perfect Circle Properties */
  width: 50px;
  height: 50px;
  border-radius: 50%;

  /* Center the arrow text inside the circle */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}

.slider-arrow:hover {
  background: rgba(0, 0, 0, 0.8);
}

.prev-arrow { left: 15px; }
.next-arrow { right: 15px; }


/* Responsive adjustments for mobile screens */
@media (max-width: 768px) {
  .header-slider--large,
  .header-slider--small {
    height: 300px; /* Adapts nicely on small viewports */
  }
}

/* posts navigation */

footer.footer nav.navigation.posts-navigation div.nav-links,
footer.footer nav.navigation.post-navigation div.nav-links {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  padding: 0.50rem 0;
  border-top: 2px solid var(--bg-color);
  margin: 0.50rem 0;
}

/* Style the buttons */
footer.footer nav.navigation.posts-navigation div.nav-links .nav-previous a,
footer.footer nav.navigation.posts-navigation div.nav-links .nav-next a {
  display: inline-block;
  padding: 0.75rem 1.5rem;
  background-color: var(--other-bg); /* Change to your primary brand color */
  color: #ffffff;
  text-decoration: none;
  font-weight: 600;
  border-radius: 4px;
  transition: background-color 0.2s ease-in-out;
}

/* Hover and Focus States */
footer.footer nav.navigation.posts-navigation div.nav-links .nav-previous a:hover,
footer.footer nav.navigation.posts-navigation div.nav-links .nav-next a:hover,
footer.footer nav.navigation.posts-navigation div.nav-links .nav-previous a:focus,
footer.footer nav.navigation.posts-navigation div.nav-links .nav-next a:focus {
  background-color: var(--other-hov); /* A slightly darker shade for hover */
  color: #ffffff;
}

/* Style the arrow spans if you want them spaced out */
footer.footer nav.navigation.posts-navigation div.nav-links .nav-links .meta-nav {
  display: inline-block;
  transition: transform 0.2s ease;
}

/* Fun micro-interaction: arrows slide slightly on hover */
footer.footer nav.navigation.posts-navigation div.nav-links .nav-previous a:hover .meta-nav {
  transform: translateX(-4px);
}
footer.footer nav.navigation.posts-navigation div.nav-links .nav-next a:hover .meta-nav {
  transform: translateX(4px);
}
footer.footer nav.navigation.posts-navigation div.nav-links .nav-next {
  margin-left: auto;
}


/* */
