/*
* Tombo Today Ver. 1.0
*/


/* Table of contents
––––––––––––––––––––––––––––––––––––––––––––––––––
- Grid
- Base Styles
- Typography
- Links
- Buttons
- Header
- Navigation
- Posts
- Pagination
- Tag Clouds
- Categories
- Footer
- Forms
- Lists
- Code
- Tables
- Spacing
- Utilities
- Clearing
- Media Queries
*/


/* Grid
–––––––––––––––––––––––––––––––––––––––––––––––––– */

html, body {
  overflow-x: hidden;
}

body {
  position: relative;
}

.container {
  position: relative;
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box; }
.column,
.columns {
  width: 100%;
  float: left;
  box-sizing: border-box; }

/* For devices larger than 400px */
@media (min-width: 400px) {
  .container {
    width: 95%;
    padding: 0; }
}

/* For devices larger than 550px */
@media (min-width: 550px) {
  .container {
    width: 95%; }
  .column,
  .columns {
    margin-left: 4%; }
  .column:first-child,
  .columns:first-child {
    margin-left: 0; }

  .one.column,
  .one.columns                    { width: 4.66666666667%; }
  .two.columns                    { width: 13.3333333333%; }
  .three.columns                  { width: 22%;            }
  .four.columns                   { width: 30.6666666667%; }
  .five.columns                   { width: 39.3333333333%; }
  .six.columns                    { width: 48%;            }
  .seven.columns                  { width: 56.6666666667%; }
  .eight.columns                  { width: 65.3333333333%; }
  .nine.columns                   { width: 74.0%;          }
  .ten.columns                    { width: 82.6666666667%; }
  .eleven.columns                 { width: 91.3333333333%; }
  .twelve.columns                 { width: 100%; margin-left: 0; }

  .one-third.column               { width: 30.6666666667%; }
  .two-thirds.column              { width: 65.3333333333%; }

  .one-half.column                { width: 48%; }

  /* Offsets */
  .offset-by-one.column,
  .offset-by-one.columns          { margin-left: 8.66666666667%; }
  .offset-by-two.column,
  .offset-by-two.columns          { margin-left: 17.3333333333%; }
  .offset-by-three.column,
  .offset-by-three.columns        { margin-left: 26%;            }
  .offset-by-four.column,
  .offset-by-four.columns         { margin-left: 34.6666666667%; }
  .offset-by-five.column,
  .offset-by-five.columns         { margin-left: 43.3333333333%; }
  .offset-by-six.column,
  .offset-by-six.columns          { margin-left: 52%;            }
  .offset-by-seven.column,
  .offset-by-seven.columns        { margin-left: 60.6666666667%; }
  .offset-by-eight.column,
  .offset-by-eight.columns        { margin-left: 69.3333333333%; }
  .offset-by-nine.column,
  .offset-by-nine.columns         { margin-left: 78.0%;          }
  .offset-by-ten.column,
  .offset-by-ten.columns          { margin-left: 86.6666666667%; }
  .offset-by-eleven.column,
  .offset-by-eleven.columns       { margin-left: 95.3333333333%; }

  .offset-by-one-third.column,
  .offset-by-one-third.columns    { margin-left: 34.6666666667%; }
  .offset-by-two-thirds.column,
  .offset-by-two-thirds.columns   { margin-left: 69.3333333333%; }

  .offset-by-one-half.column,
  .offset-by-one-half.columns     { margin-left: 52%; }

}


/* Base Styles
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/* NOTE
html is set to 62.5% so that all the REM measurements throughout Skeleton
are based on 10px sizing. So basically 1.5rem = 15px :) */
html {
  font-size: 62.5%; }
body {
  font-size: 2.1em; /* currently ems cause chrome bug misinterpreting rems on body element */
  line-height: 1.6;
  font-weight: 400;
  font-family: "Crimson Pro", serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: #fff; }


/* Links
–––––––––––––––––––––––––––––––––––––––––––––––––– */
a {
  color: #eda04e;
  text-decoration: none;
}

a:hover {
  color: #fff;
}


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: 400;
  display: block;
  margin-top: 0;
  margin-bottom: 2.5rem;
  text-decoration: none !important;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  color: #eda04e;
  text-decoration: none !important;   
}
h1 { font-size: 4.0rem; line-height: 1.2;  letter-spacing: -.1rem;}
h2 { font-size: 3.6rem; line-height: 1.25; letter-spacing: -.1rem; }
h3 { font-size: 3.0rem; line-height: 1.3;  letter-spacing: -.1rem; }
h4 { font-size: 2.4rem; line-height: 1.35; letter-spacing: -.08rem; }
h5 { font-size: 1.8rem; line-height: 1.5;  letter-spacing: -.05rem; }
h6 { font-size: 1.5rem; line-height: 1.6;  letter-spacing: 0; }

/* Larger than phablet */
@media (min-width: 550px) {
  h1 { font-size: 5.0rem; }
  h2 { font-size: 4.2rem; }
  h3 { font-size: 3.6rem; }
  h4 { font-size: 3.0rem; }
  h5 { font-size: 2.4rem; }
  h6 { font-size: 1.5rem; }
}

p {
  margin-top: 0; }

h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  text-decoration: none;
  color: inherit;
  transition: color 0.3s;
}

h1 a:hover, h2 a:hover, h3 a:hover, h4 a:hover, h5 a:hover, h6 a:hover {
  color: #eda04e;
}


/* Buttons
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  height: 38px;
  padding: 0 30px;
  color: #555;
  text-align: center;
  font-size: 11px;
  font-weight: 600;
  line-height: 38px;
  letter-spacing: .1rem;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  background-color: transparent;
  border-radius: 4px;
  border: 1px solid #bbb;
  cursor: pointer;
  box-sizing: border-box; }
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  color: #333;
  border-color: #888;
  outline: 0; }
.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  color: #FFF;
  background-color: #33C3F0;
  border-color: #33C3F0; }
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  color: #FFF;
  background-color: #1EAEDB;
  border-color: #1EAEDB; }

/* Header
–––––––––––––––––––––––––––––––––––––––––––––––––– */

header {
  margin: 0 auto;
  margin-top: 2em;
  text-align: center;
}

#masthead img{
  margin-bottom: 1em;
}

@media (max-width: 767px) {
	header {
  margin: 0 auto;
  margin-top: 1em;
  text-align: center;
}
	
	#masthead img{
  margin-bottom: 0em;
}
	
  .site-branding img {
    width: 100vw; /* full viewport width */
    height: auto;    /* maintain aspect ratio */
    object-fit: contain; /* maintain proportions if container restricts size */
  }
}


/* Navigation
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.main-navigation ul {
  list-style-type: none;
  list-style: none;
  overflow: hidden;
  padding-top: 0.5em;
  padding-bottom: 1em;
}

.main-navigation li {
  display: inline;
  padding: 0px 30px;
  word-wrap: normal;
}

.main-navigation a {
  text-decoration: none;
  font-style: italic;
  color: #eda04e;
}

.main-navigation a:hover {
  color: #ffff;
}

.current-menu-item > a {
  color: #ba6912; 
  text-decoration: none;
}

.current-menu-item > a:hover,{
	color: #fff;
}


@media (max-width: 767px) {
  .main-navigation ul {
    list-style: none;
    padding: 0 0 0.5em;
    margin: 0;
    display: flex;
    flex-wrap: wrap; /* Allows items to wrap to the next line */
    justify-content: center; /* Centers items horizontally */
    gap: 5px; /* Adds spacing between items (optional) */
  }
  
  .main-navigation li {
    padding: 5px;
    margin: 0; /* Remove default margins */
    flex-basis: calc(33.333% - 10px); /* Forces 3 items per row */
    text-align: center; /* Centers text inside each item */
    box-sizing: border-box; /* Ensures padding doesn't break layout */
  }
}

/* Posts
–––––––––––––––––––––––––––––––––––––––––––––––––– */

article {
  margin-bottom: 3em;
}

@media (max-width: 767px) {
  article {
    margin-bottom: 3em;
  }
}

.entry-header {
  text-align: center;
	display:none;
}

.entry-header a {
  text-decoration: none;
}

.entry-content img {
  max-width: 100%;
  height: auto;
  display: block;
}

figure, .wp-block-image {
  max-width: 100%;
  overflow: hidden;
}

.entry-content,
.post-content {
  overflow: hidden;
}

.entry-content iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
}

.page-header {
	display: none;
}

blockquote, .wp-block-quote {
  font-size: 1.2em;
}

caption, figcaption, .wp-caption-text .wp-element-caption .wp-element-caption a {
	color: #bdbdbd !important;
	text-decoration: none !important;
	transition: color 0.3s;
	text-align: center;
}

.wp-element-caption a:hover {
  color: #eda04e;
  text-decoration: none !important;
}

.wp-element-caption a {
  text-decoration: none;
  color: #bdbdbd;
  transition: color 0.3s;
}

.wp-element-caption a:hover {
  color: #eda04e;
}

.lightbox-caption {
  color: #bdbdbd;
  font-size: 0.9em;
  margin-top: 10px;
  text-align: center;
  max-width: 90%;
}

/* Pagination
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.pagination {
     width: 100% !important;
     text-align: center !important;
     margin-bottom: 2rem !important;
     text-transform: lowercase;
     font-size: 1em;
     margin: 0 auto;
}

.pagination a {
  padding: 10px;
  display: inline-block;
}

@media (max-width: 767px) {
  .pagination {
    margin-bottom: 1rem;
  }
}

/* Tag Clouds
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.tag-cloud-footer {
  margin-top: 0;
  padding-top: 3em;
}

.tag-cloud {
  font-size: 1em; 
  text-align: center;
}

.tag-cloud .tag-link {
  margin-right: 12px;
  text-decoration: none; /* no underline */
  font-style: italic;
  color: #eda04e; /* base text color */
  transition: color 0.3s ease;
}

.tag-cloud .tag-link:hover {
  color: #ffff; /* hover color */
}


/* Categories
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.writing-grid {
  display: grid;
  grid-template-columns: 1fr; /* default to 1 column */
  gap: 2rem;
  padding: 0rem 0rem;
}

@media (min-width: 600px) {
  .writing-grid {
    grid-template-columns: repeat(2, 1fr); /* two columns on wider screens */
  }
}

.writing-entry {
  border-bottom: 0px solid #ddd;
  padding-bottom: 0rem;
}

.writing-title a {
  font-size: 1em;
  text-transform: uppercase;
  text-decoration: none;
  color: #fff;
  line-height: 1;
  margin-bottom: 0;
}

body.category-writing h3.writing-title {
  line-height: 1 !important;
  margin: 0 0 0.3em 0 !important;
}

.writing-title a:hover {
  text-decoration: underline;
}

.writing-blurb {
  margin-top: 0.5em;
  font-size: 0.95em;
  line-height: 1.5;
}

.writing-blurb blockquote {
    font-style: italic;
	font-weight: 100;
    padding-left: 0em;
    margin-left: 0em;
    margin-right: 0em;
}

/* Video Grid Layout */
.video-category-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0px;
}

.video-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.video-grid-item {
    position: relative;
    border-radius: 0px;
    overflow: hidden;
}

.video-grid-item:hover {
    transform: scale(1.03);
	transition: all 0.3s ease;
    box-shadowa: 0 5px 15px rgba(0,0,0,0.1);
}

/* Thumbnail Styles */
.video-thumbnail-link {
    display: block;
    position: relative;
    aspect-ratio: 16/9;
    background: #f0f0f0;
}

.video-thumbnail-link.thumbnail-error {
    background: #f0f0f0 url('<?php echo esc_url(get_template_directory_uri()); ?>/assets/images/video-fallback.jpg') no-repeat center center;
    background-size: cover;
}

.video-thumbnail-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Play Button Overlay */
.play-button-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(1.03);
    width: 60px;
    height: 60px;
    background: rgba(0, 0, 0, 0);
    border-radius: 20%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
}

.video-thumbnail-link:hover .play-button-overlay {
    background: 0;
    transform: translate(-50%, -50%) scale(1.02);
}

.play-button-overlay svg {
    width: 60px;
    height: 60px;
    margin-left: 0px;
}

/* Fallback Thumbnail */
.video-thumbnail-fallback {
    width: 100%;
    height: 0;
    padding-bottom: 56.25%; /* 16:9 aspect ratio */
    background-color: #f0f0f0;
    position: relative;
}

.fallback-play-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ff0000;
    font-size: 40px;
    background: rgba(255, 255, 255, 0.9);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Title Styles */
.video-title {
    margin: 0;
    font-size: 1.2em;
	line-height: 1.5;
    text-align: center;
    font-weight: 500;
	margin-bottom: 5px;
}

.video-title a {
    text-decoration: none;
    color: #fff;
    transition: color 0.3s ease;
}

.video-title a:hover {
    color: #eda04e;
}

/* Mobile Responsiveness */
@media (max-width: 768px) {
  .video-grid {
    grid-template-columns: 1fr; /* one column */
  }
  
  /* Ensure thumbnail container keeps relative positioning and aspect ratio */
  .video-thumbnail-link {
    position: relative !important;
    aspect-ratio: 16 / 9 !important;
  }
  
  /* Force play button overlay to stay absolutely positioned and size */
  .play-button-overlay {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) scale(1.03) !important;
    width: 60px !important;
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(0, 0, 0, 0) !important;
    border-radius: 20% !important;
    z-index: 10 !important;
  }
  
  /* Prevent the play button from shrinking */
  .play-button-overlay svg {
    width: 60px !important;
    height: 60px !important;
    margin-left: 0 !important;
  }
}


/* CSS Grid Masonry Alternative */
.category-references .site-main {
    max-width: 700px;
    margin: 0 auto;
    padding: 0px 0px;
}

.category-references .tumblr-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    grid-auto-flow: dense;
    align-items: start;
}

.category-references .grid-item {
    position: relative;
    overflow: hidden;
    background-color: #f5f5f5;
	margin-bottom: 0px;
}

/* Make some items span multiple rows */
.category-references .grid-item:nth-child(3n+1) {
    grid-row: span 2;
}

.category-references .grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}

@media (max-width: 700px) {
    .category-references .tumblr-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 480px) {
    .category-references .tumblr-grid {
        grid-template-columns: 1fr;
    }
}




/* Footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.footer {
  margin: 0 auto;
  text-align: center;
  padding-bottom: 1rem;
  line-height: 1.5;
}

.footer img {
  max-width: 550px;
}

@media (max-width: 767px) {
  .footer img {
    max-width: 300px;
    overflow: hidden;
  }
}

/* Forms
–––––––––––––––––––––––––––––––––––––––––––––––––– */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  height: 38px;
  padding: 6px 10px; /* The 6px vertically centers text on FF, ignored by Webkit */
  background-color: #fff;
  border: 1px solid #D1D1D1;
  border-radius: 4px;
  box-shadow: none;
  box-sizing: border-box; }
/* Removes awkward default styles on some inputs for iOS */
input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
textarea {
  min-height: 65px;
  padding-top: 6px;
  padding-bottom: 6px; }
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  border: 1px solid #33C3F0;
  outline: 0; }
label,
legend {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600; }
fieldset {
  padding: 0;
  border-width: 0; }
input[type="checkbox"],
input[type="radio"] {
  display: inline; }
label > .label-body {
  display: inline-block;
  margin-left: .5rem;
  font-weight: normal; }


/* Lists
–––––––––––––––––––––––––––––––––––––––––––––––––– */
ul {
  list-style: circle inside; }
ol {
  list-style: decimal inside; }
ol, ul {
  padding-left: 0;
  margin-top: 0; }
ul ul,
ul ol,
ol ol,
ol ul {
  margin: 1.5rem 0 1.5rem 3rem;
  font-size: 90%; }
li {
  margin-bottom: 1rem; }


/* Code
–––––––––––––––––––––––––––––––––––––––––––––––––– */
code {
  padding: .2rem .5rem;
  margin: 0 .2rem;
  font-size: 90%;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 4px; }
pre > code {
  display: block;
  padding: 1rem 1.5rem;
  white-space: pre; }


/* Tables
–––––––––––––––––––––––––––––––––––––––––––––––––– */
th,
td {
  padding: 12px 15px;
  text-align: left;
  border-bottom: 1px solid #E1E1E1; }
th:first-child,
td:first-child {
  padding-left: 0; }
th:last-child,
td:last-child {
  padding-right: 0; }


/* Spacing
–––––––––––––––––––––––––––––––––––––––––––––––––– */
button,
.button {
  margin-bottom: 1rem; }
input,
textarea,
select,
fieldset {
  margin-bottom: 1.5rem; }
pre,
blockquote,
dl,
figure,
table,
p,
ul,
ol,
form {
  margin-bottom: 2.5rem; }


/* Utilities
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.u-full-width {
  width: 100%;
  box-sizing: border-box; }
.u-max-full-width {
  max-width: 100%;
  box-sizing: border-box; }
.u-pull-right {
  float: right; }
.u-pull-left {
  float: left; }


/* Misc
–––––––––––––––––––––––––––––––––––––––––––––––––– */
hr {
  margin-top: 3rem;
  margin-bottom: 3.5rem;
  border-width: 0;
  border-top: 1px solid #E1E1E1; }


/* Clearing
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* Self Clearing Goodness */
.container:after,
.row:after,
.u-cf {
  content: "";
  display: table;
  clear: both; }


/* Media Queries
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
Note: The best way to structure the use of media queries is to create the queries
near the relevant code. For example, if you wanted to change the styles for buttons
on small devices, paste the mobile query code up in the buttons section and style it
there.
*/


/* Larger than mobile */
@media (min-width: 400px) {}

/* Larger than phablet (also point when grid becomes active) */
@media (min-width: 550px) {}

/* Larger than tablet */
@media (min-width: 750px) {}

/* Larger than desktop */
@media (min-width: 1000px) {}

/* Larger than Desktop HD */
@media (min-width: 1200px) {}
