
/* ****************** */
/* Columns Formatting */
/* ****************** */

@media screen and (min-width: 47.5em) and (orientation: landscape) {
    /* 1. The Wrapper Frame */
    /* If you have a div that wraps EVERYTHING, use that class here. 
       Otherwise, we can style the body to act as the frame. */
 
     body {
        border: 1px solid #ccc;
        margin: 8px;        /* This creates your tiny white space around the edge */
        padding: 0;          /* Keeps header/footer touching the frame edges */
    }

    header, footer {
        margin: 0;
        border-bottom: 1px solid #ccc; /* Separates header from content */
    }

    footer {
        border-bottom: none;
        border-top: 1px solid #ccc;    /* Separates footer from content */
    }

    /* 2. The Column Layout */
    .columnsContainer {
        display: flex;
        align-items: flex-end; /* This is what makes it stick to the bottom */
        gap: 0.5em;              /* Tightened the gap between columns */
        padding: 0.5em;          /* Space inside the frame so text doesn't hit the line */
    }

    .leftColumn {
        flex: 1;
        margin-right: 0;
        border: 1px solid #eee; /* Light internal border */
        padding: 1em;
    }

    .rightColumn {
        width: 18.75em;
        position: -webkit-sticky;
        position: sticky;
        bottom: 10px;          /* Sticks once the user sees the bottom of the sidebar */
        height: fit-content;
        border: 1px solid #eee;
    }
}


/* Show larger images in listings on larger screens  */
@media screen and (min-width: 47.5em) and (orientation: landscape) {
    display_on_mobile {
        display: none;
    }
    .mobile_position {
        display: none;
    }
}

/* Mobile phone held vertically */
@media not screen and (min-width: 47.5em) and (orientation: landscape) {
    display_if_room {
        display: none;
    }
    fill-if-needed {
        display: none;
    }

/* Don't show images in listings for landscape mobile */
    .landscape_position { 
        display: none;
    }
}


/* ***************** */
/* Header Formatting */
/* ***************** */

header {
    border: 1px solid black;
    padding: 0;
	margin: 0;
}

.header-banner {
  background-color: lightgreen; /* This lightgreen matches the banner's background to fill edges */
  display: flex;
  justify-content: center;
  position: relative;
  width: 100%;
  overflow: hidden;
}

/* Inner container limits how large the banner can get */
.header-banner-inner {
  position: relative;
  width: 100%;
  max-width: 900px;  /* <-- controls max banner width */
}

/* Keeps the entire 1200x400 image visible at all sizes */
.header-banner-image {
  width: 100%;
  height: auto;
  display: block;
}

/* Links sit along the bottom of the banner */
.header-banner-links {
  position: absolute;
  bottom: 16px;    /* adjust spacing from bottom */
  width: 100%;
  justify-content: center; /* center the links horizontally */
  display: flex;
  gap: 30px;
}

/* White letters with black shadow */
.header-banner-links a {
  color: white;
  font-size: 1.2rem;
  font-family: Verdana, Arial, sans-serif;	
  font-style: italic;
  font-weight: bold;
  text-decoration: none;
/*  text-shadow: 0 2px 4px rgba(0, 0, 0, 5); */
  text-shadow: 2px 4px 5px black, -2px -4px 5px black; 
}

.header-banner-links a:visited {
  color: white;
  font-size: 1.2rem;
  font-family: Verdana, Arial, sans-serif;	
  font-style: italic;
  font-weight: bold;
  text-decoration: none;
/*  text-shadow: 0 2px 4px rgba(0, 0, 0, 5); */
  text-shadow: 2px 4px 5px black, -2px -4px 5px black; 
}

/* Increase blur and underline when hovering */
.header-banner-links a:hover {
	color: white;
    text-shadow: 2px 4px 10px black, -2px -4px 10px black; 
	text-decoration: underline;
}

/* Mobile: smaller links and smaller gap */
@media (max-width: 600px) {
  .header-banner-links a {
     font-size: 1rem;
  }
  .header-banner-links {
     gap: 20px;
	 bottom: 6px;    /* adjust spacing from bottom */
  }
}

/* ********************* */
/* End Header Formatting */
/* ********************* */


footer {
    color: #000080;
    background-color: #C8FFB0; /* Very Light Green */
/*    background: lightgreen; */
    border: 1px solid #000000;
    padding: .5em;
    font-family: Verdana, Arial, sans-serif;
    text-align: center;
    font-size: 18px;
    line-height: 26px;
    font-style: italic;
    font-weight: normal;
    text-shadow: 2px 2px 5px white, -2px -2px 5px white; 
}

/*  nav and inline-items are used only in the footer navigation list */

.nav {
    list-style: none;
    padding: 0; 
}

.nav > li {
    display: inline-block;
}
.inline-items {
    margin: 0;
}
.inline-items li {
    border-left: 1px solid black;
    padding-left: 8px;
    padding-right: 0;
}
.inline-items li:first-child {
    border: none;
    padding-left: 0;
    padding-right: 0;
}
.inline-items li:last-child {
    padding-left: 8px;
    padding-right: 0;
}

/* Make each kicker a link to the topic listing */
a.kicker {
    color: #555;
    font-family: Arial, Verdana, sans-serif;
    font-size: 14px;
    font-weight: bold;
}

.declaration {
    background: #f0f8ff;
    border-left: 5px solid grey;
    border-radius: 20px; 
    margin: 0;
    padding: 0.7em 1.2em 0.7em 1em;
    color: #555;
    font-family: Arial, Verdana;
    font-size: 18px;
    font-style: italic;
    line-height: 26px;
}

.showVideo {
  overflow: hidden;
  position: relative;
  padding-bottom: 56.25%; 
  height: 0;
}
.showVideo iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 99%;
  height: 99%;
}

/* Table Formatting */
table {
	border-collapse: collapse;
	margin-left: auto;
	margin-right: auto;
}
th, td {
	border: 1px solid black;
	padding: 8px;
	text-align: left;
    color: #555;
    font-family: Arial, Verdana;
    font-size: 18px;
}
th {
	background-color: #f2f2f2;
}
/* End table formatting */

breadcrumb {
    padding: 0 0 10px 0;
    margin: 0 0 0 0;
    color: #486828;
    font-size: 12px;
    font-family: Arial;
    text-decoration: none;
}

/* - - - - link styles - normal hover and visited - - - - - - - - - - - - */

a {
    color: #228B22;               /* Darker green */
    text-decoration: underline;   /* Show underline by default */
    transition: color 0.3s ease, text-decoration-color 0.3s ease; /* Smooth color transition makes it feel modern. */
}

a:hover {
    color: #32CD32;               /* Light green (LimeGreen) */
    text-decoration: none;        /* No underline on hover */
    text-decoration-color: #228B22;
}

a:visited {
    color: #2E8B57;               /* Slightly muted green for visited links */
}

/* Focus outline ensures keyboard accessibility with Light green outline */
a:focus {
    outline: 2px solid #90EE90;    
    outline-offset: 2px;
}

/* - - - - - - - - - - - - - - - - - - - - */


h1 {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 5); 
	font-family: Verdana, Arial, sans-serif;
	font-weight: normal;
    font-size: 32px;
    padding: 0 0 0 0;
    margin: 10px 0 35px 0;
    text-decoration: none;
    line-height: 120%;
    text-align: center;
}

/* h2 used for Subtitles in Articles */
h2 {
	font-family: Verdana, Arial, sans-serif;
    font-size: 26px;
    margin: 25px 0 15px 0;
    padding: 0 0 0 0;
    text-decoration: none;
    font-weight: normal;
    text-align: left;
}

/* h2 used for Cookie Policy Page */
.CookiePolicy h2 {
	font-family: Verdana, Arial, sans-serif;
    font-size: 22px;
    margin: 25px 0 15px 0;
    padding: 0 0 0 0;
    text-decoration: none;
    font-weight: normal;
    text-align: left;
}

/* h2 used for Subtitles in Poetry */
h2.poetry {
    text-shadow: 0 2px 4px rgba(0, 0, 0, 5); 
	font-family: Verdana, Arial, sans-serif;
    font-size: 28px;
    font-style: italic;
    text-decoration: none;
    font-weight: normal;
    text-align: center;
	border: 3px solid #a6a6a6; 
    border-radius: 11px;
    padding: 10px 20px; 
    margin: 50px 0 30px 0;     
}

/* h3 used for article titles in topic_listings  */
h3 {
	font-family: Verdana, Arial, sans-serif;
    font-size: 20px;
    font-weight: bold;
    margin: 10px 0 10px 0;
    padding: 0 0 0 0;
    text-decoration: none;
    text-align: left;
    color: #444;
}

/* Used only for introductions with lightgreen background  */
p.intro {
    font-family: Arial, Verdana, sans-serif;
    font-size: 18px;
    line-height: 26px;
    color: black;
    margin: 30px 0 30px 0;
    padding: 12px 20px 12px 20px;
    text-decoration: none;
    font-weight: normal;
    text-align: left; 
    background-color: #C8FFB0;  /* Very Light Green */
	/* background-color:lightgreen; */
    text-shadow: 3px 3px 5px white, -3px -3px 5px white; 
	border: 1px solid #a6a6a6; 
    border-radius: 11px; 
}


/* h4 used only for h4 headings with lightgreen background  */
h4 {
    font-family: Verdana, Arial, sans-serif;
    color: black;    
    font-size: 22px;
    margin: 0 0 10px 0;
    padding: 10px 5px 10px 5px;
    text-decoration: none;
    font-weight: normal;
    text-align: center; 
    background-color: #C8FFB0; /* Very Light Green */
    text-shadow: 3px 3px 5px white, -3px -3px 5px white; 
	border: 1px solid #a6a6a6; 
    border-radius: 11px; 
}

div.platform_list {
    font-family: Verdana, Arial, sans-serif;
    font-size: 26px;
    padding: 1rem 0 1rem 0;
    margin: 0;
    text-decoration: none;
    font-weight: bold;
    text-align: center; 
	align-items: center;
	background-color:lightgreen;  /* Light Green */
    text-shadow: 3px 3px 5px white, -3px -3px 5px white; 
	border: 4px solid #a6a6a6; 
}

.platform-links { 
	display: flex;
	flex-direction: column; /* stack links vertically */ 
    gap: 0.5rem;
}

/* Used for share buttons */
div.sharebuttons {
    font-family: Verdana, Arial, sans-serif;
    font-size: 21px;
    margin: 0 0 0 0;
    padding: 10px 0 10px 0;
    text-decoration: none;
    font-weight: normal;
    text-align: center; 
    background-color: #C8FFB0; /* Very Light Green */
	border: 1px solid #a6a6a6; 
    /* border-radius: 14px; */
}


blockquote {
	quotes: "“" "”" "‘" "’";
    background: #f0f8ff;
/*     border-left: 6px solid #0077b6; */
    border-left: 6px solid grey;
    margin: 1.5em 10px 1.5em 0;
    padding: 0.5em 10px;
    color: #555;
    font-family: Arial, Verdana, sans-serif;
    line-height: 1.6em;
    font-size: 18px;
    font-style: italic;
}

blockquote:before {
	color: grey;
    content: open-quote; 
    font-size: 3em;
    line-height: 0.1em;
    margin-right: 0.15em;
    vertical-align: -0.4em;
}

blockquote:after {
	color: grey;
    content: close-quote; 
    font-size: 3em;
    line-height: 0.1em;
    margin-left: 0.15em;
    vertical-align: -0.4em;
}

highlight-quote p {
    display: inline;
}

p {
    color: #555;
    font-family: Arial, Verdana, sans-serif;
    font-size: 18px;
    line-height: 26px;
}

/* Same font as p for lists */

.leftColumn li {
    color: #555;
    font-family: Arial, Verdana, sans-serif;
    font-size: 18px;
    line-height: 26px;
    margin: 5px 0;
}

/* Same font but with extra margin space */
.items-spaced-list li {
    color: #555;
    font-family: Arial, Verdana, sans-serif;
    font-size: 18px;
    margin: 10px 0;
}

/* "p.my_quotes" used for quotes in glenn-stok-quotes.php */
p.my_quotes {
    font-family: "Andale Mono", Verdana, sans-serif;
    font-size: 18px;
    font-style: italic;
    text-decoration: none;
    font-weight: normal;
    text-align: left;
    padding: 10px 20px; 
    margin: 30px 0 40px 0; 
	border: 2px solid #a6a6a6; 
    border-radius: 11px;
}

section.my_quotes {
    font-family: "Andale Mono", Arial, Verdana, sans-serif;
    color: #111; 
    font-size: 18px;
    line-height: 26px;
    font-style: italic;
    text-decoration: none;
    font-weight: normal;
    text-align: left;
    padding: 10px 20px; 
    margin: 30px 0 40px 0; 
	border: 2px solid #a6a6a6; 
	border-radius: 11px;
}
    
/* "p.imgcaption" used for avitar subheadings */
p.imgcaption {
    font-family: "Andale Mono", Arial, Verdana, sans-serif;
    font-size: 14px;
    color: #111;
    margin: 10px 0 10px 0;
    padding: 0 0 0 0;
    list-style: none;
}

/* "div.imgcaption" for image captions  */
div.imgcaption {
    font-family: "Andale Mono", Arial, Verdana, sans-serif;
    font-size: 14px;
    color: #111;
    margin: 10px 0 10px 0;
    padding: 0 0 0 0;
    list-style: none;
    text-align: center;
}

/* "div.adcaption" used for Ad banner captions */

div.adcaption {
	display: flex;
	flex-direction: row;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-family: Helvetica, Arial, Sans-serif;
	font-size: 13px;
	color: #262626;
	margin: 30px 10px 15px 10px;
}

div.adcaption:after {
	margin: 0 0 0 0.625rem;
}

div.adcaption:before {
	margin: 0 0.625rem 0 0;
}

div.adcaption:before, div.adcaption:after {
    background-color: #E5E5E5;
    position: relative;
    height: 0.12rem;
    flex-grow: 1;
    content: "";
}
/* END "div.adcaption" used for Ad banner captions */


div.codetext {
	font-family: 'Andale Mono', Arial, sans-serif;
    font-size: 15px;
    line-height: 26px;
    color: #000000;
    background: #f0f8ff;
    margin: 0;
    padding: 0.7em 1.2em 0.7em 2em;
}

.topic_listing {
    margin: 0;
    padding: 0;
    text-align: center;
}

.home_page_topic_listing {
    margin: 0;
    padding: 0;
    text-align: center;
}

/* p.dotted-framed is used to include information in frame with rounded boarder */

p.dotted_framed {
    text-align: center; 
    font-family: Arial, Verdana, sans-serif;
    padding: 15px; 
    margin: 15px 0 15x 0; 
	border: 2px solid #a6a6a6; 
	border-radius: 11px;    
}

h2.dotted_framed {
    text-align: center; 
    font-weight: bold;  
    padding: 15px; 
    margin: 15px 0 15x 0; 
    border: 2px dotted #000000;
}

.center_img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* h2 in topic_listing is used to include dotted-framed sub-heading to separate major categories. */

h2.topic_listing {
    text-align: center; 
    font-weight: bold;  
    padding: 10px 0 10px 0; 
    margin: 30px 0 20px 0; 
	border: 2px solid #a6a6a6; 
	border-radius: 11px;
	background-color: #f0f0f0;
}

  .topic_listing li:first-child {
    float: left;
    text-align: left;
    margin: 0;
    padding: 0;
    display: block;
    border-top: 2px dotted #adb1a9;
    border-bottom: 2px dotted #adb1a9;
    width: 100%;
  }
  .topic_listing li {
    float: left;
    text-align: left;
    margin: 0;
    padding: 0;
    display: block;
    border-bottom: 2px dotted #adb1a9;
    width: 100%;
  }
  .topic_listing li:last-child {
    float: left;
    text-align: left;
    margin: 0;
    padding: 0;
    display: block;
    width: 100%;
    border: none;
  }
  .topic_listing li .padding {
     padding: 15px 6px 0 6px;
  }
  
  .quote_listing li:first-child {
    float: left;
    text-align: left;
    margin: 0;
    padding: 25px 6px 25px 0px;
    font-family: Arial, Verdana, sans-serif;
    font-style: italic;
    font-size: 22px;
    line-height: 34px;
    display: block;
    border-top: 2px dotted #adb1a9;
    border-bottom: 2px dotted #adb1a9;
    width: 100%;
  }
  .quote_listing li {
    float: left;
    text-align: left;
    margin: 0;
    padding: 25px 6px 25px 0px;
    font-family: Arial, Verdana, sans-serif;
    font-style: italic;
    font-size: 22px;
    line-height: 34px;
    display: block;
    border-bottom: 2px dotted #adb1a9;
    width: 100%;
  }
  .quote_listing li:last-child {
    float: left;
    text-align: left;
    margin: 0;
    padding: 25px 6px 25px 0px;
    font-family: Arial, Verdana, sans-serif;
    font-style: italic;
    font-size: 22px;
    line-height: 34px;
    display: block;
    width: 100%;
    border: none;
  }

/* Same on Mobile and Desktop */
  .leftColumn h1.home_intro {
    font-family: georgia, "Times New Roman", serif;
    font-weight: bold;
    margin: 30px 0 30px 0;
    color: #111;
    font-size: 30px;
    font-style: italic;
    text-align: center;
  }

/* fit and ad_banner work for both listings and articles to center by using block display and auto left and right margins */
.fit {
    max-width: 99%;
    max-height: 99vh;
    height: auto; 
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.ad_banner {
    max-width: 99%;
    max-height: 99vh;
    height: auto; 
	display: block;
	margin-left: auto;
	margin-right: auto;
}


/* *************************** */
/* Display image next to text  */
/* *************************** */

.container {
 display: grid;
 align-items: center; 
 grid-template-columns: 1fr 1fr;
 column-gap: 20px;
}

.image img {
  max-width: 100%;
  max-height:100%;
}

/* .imagetext is only used in TurboTax review */
.imagetext {
    color: #555;
    font-family: Arial, Verdana, sans-serif;
    font-size: 18px;
    line-height: 26px;
}

.topic_listing li img {
    display: block;
    margin: 1em 0 1em 0;
 }
.topic_listing li p.summary {
    color: #555;
    font-family: Arial, Verdana, sans-serif;
    font-size: 18px;
    line-height: 26px;
}

.mouse_pointer {
	max-width: 150px;
}

.poem_mouse_pointer {
	max-width: 150px;
}

