/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
body {
  margin: 0;
}

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block;
}

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px;
}

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */
}

/**
 * 1. Remove the bottom border in Chrome 57- and Firefox 39-.
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
}

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic;
}

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000;
}

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */
img {
  border-style: none;
}

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden;
}

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers (opinionated).
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: sans-serif;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */
}

/**
 * Remove the default vertical scrollbar in IE.
 */
textarea {
  overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10-.
 * 2. Remove the padding in IE 10-.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */
}

/**
 * Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-cancel-button,
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item;
}

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */
template {
  display: none;
}

/* Hidden
   ========================================================================== */
/**
 * Add the correct display in IE 10-.
 */
[hidden] {
  display: none;
}

.highlight {
  background-color: #faf9f9;
  -webkit-border-radius: 3px;
          border-radius: 3px;
  margin: 0;
}

.highlighter-rouge {
  color: #ce887b;
  font-weight: 400;
  border: 1px solid #607D8B;
  -webkit-border-radius: 3px;
          border-radius: 3px;
  padding: 0.1rem 0.5rem;
}

.highlight .hll {
  background-color: #ffc;
}

.highlight .c {
  color: #999;
}

/* Comment */
.highlight .err {
  color: #a00;
  background-color: #faa;
}

/* Error */
.highlight .k {
  color: #069;
}

/* Keyword */
.highlight .o {
  color: #555;
}

/* Operator */
.highlight .cm {
  color: #09f;
  font-style: italic;
}

/* Comment.Multiline */
.highlight .cp {
  color: #099;
}

/* Comment.Preproc */
.highlight .c1 {
  color: #999;
}

/* Comment.Single */
.highlight .cs {
  color: #999;
}

/* Comment.Special */
.highlight .gd {
  background-color: #fcc;
  border: 1px solid #c00;
}

/* Generic.Deleted */
.highlight .ge {
  font-style: italic;
}

/* Generic.Emph */
.highlight .gr {
  color: #f00;
}

/* Generic.Error */
.highlight .gh {
  color: #030;
}

/* Generic.Heading */
.highlight .gi {
  background-color: #cfc;
  border: 1px solid #0c0;
}

/* Generic.Inserted */
.highlight .go {
  color: #aaa;
}

/* Generic.Output */
.highlight .gp {
  color: #009;
}

/* Generic.Prompt */
/* Generic.Strong */
.highlight .gu {
  color: #030;
}

/* Generic.Subheading */
.highlight .gt {
  color: #9c6;
}

/* Generic.Traceback */
.highlight .kc {
  color: #069;
}

/* Keyword.Constant */
.highlight .kd {
  color: #069;
}

/* Keyword.Declaration */
.highlight .kn {
  color: #069;
}

/* Keyword.Namespace */
.highlight .kp {
  color: #069;
}

/* Keyword.Pseudo */
.highlight .kr {
  color: #069;
}

/* Keyword.Reserved */
.highlight .kt {
  color: #078;
}

/* Keyword.Type */
.highlight .m {
  color: #f60;
}

/* Literal.Number */
.highlight .s {
  color: #d44950;
}

/* Literal.String */
.highlight .na {
  color: #4f9fcf;
}

/* Name.Attribute */
.highlight .nb {
  color: #366;
}

/* Name.Builtin */
.highlight .nc {
  color: #0a8;
}

/* Name.Class */
.highlight .no {
  color: #360;
}

/* Name.Constant */
.highlight .nd {
  color: #99f;
}

/* Name.Decorator */
.highlight .ni {
  color: #999;
}

/* Name.Entity */
.highlight .ne {
  color: #c00;
}

/* Name.Exception */
.highlight .nf {
  color: #c0f;
}

/* Name.Function */
.highlight .nl {
  color: #99f;
}

/* Name.Label */
.highlight .nn {
  color: #0cf;
}

/* Name.Namespace */
.highlight .nt {
  color: #2f6f9f;
}

/* Name.Tag */
.highlight .nv {
  color: #033;
}

/* Name.Variable */
.highlight .ow {
  color: #000;
}

/* Operator.Word */
.highlight .w {
  color: #bbb;
}

/* Text.Whitespace */
.highlight .mf {
  color: #f60;
}

/* Literal.Number.Float */
.highlight .mh {
  color: #f60;
}

/* Literal.Number.Hex */
.highlight .mi {
  color: #f60;
}

/* Literal.Number.Integer */
.highlight .mo {
  color: #f60;
}

/* Literal.Number.Oct */
.highlight .sb {
  color: #c30;
}

/* Literal.String.Backtick */
.highlight .sc {
  color: #c30;
}

/* Literal.String.Char */
.highlight .sd {
  color: #c30;
  font-style: italic;
}

/* Literal.String.Doc */
.highlight .s2 {
  color: #c30;
}

/* Literal.String.Double */
.highlight .se {
  color: #c30;
}

/* Literal.String.Escape */
.highlight .sh {
  color: #c30;
}

/* Literal.String.Heredoc */
.highlight .si {
  color: #a00;
}

/* Literal.String.Interpol */
.highlight .sx {
  color: #c30;
}

/* Literal.String.Other */
.highlight .sr {
  color: #3aa;
}

/* Literal.String.Regex */
.highlight .s1 {
  color: #c30;
}

/* Literal.String.Single */
.highlight .ss {
  color: #fc3;
}

/* Literal.String.Symbol */
.highlight .bp {
  color: #366;
}

/* Name.Builtin.Pseudo */
.highlight .vc {
  color: #033;
}

/* Name.Variable.Class */
.highlight .vg {
  color: #033;
}

/* Name.Variable.Global */
.highlight .vi {
  color: #033;
}

/* Name.Variable.Instance */
.highlight .il {
  color: #f60;
}

/* Literal.Number.Integer.Long */
.css .o,
.css .o + .nt,
.css .nt + .nt {
  color: #999;
}

*, *::after, *::before {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

html {
  line-height: 1.5;
}

body {
  font-family: 'Lato', sans-serif;
  color: #515151;
  background-color: #fbfbfb;
  margin: 0;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1 {
  font-weight: 400;
}

img {
  max-width: 100%;
  vertical-align: middle;
  display: inline-block;
}

img + em {
  text-align: center;
  display: block;
  margin-top: 10px;
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
}

blockquote {
  border-left: 5px solid #000;
  padding-left: 1.1rem;
  margin-left: 1rem;
  font-style: italic;
  color: #ada8a8;
}

pre {
  padding: 1rem 2rem;
  overflow: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
  word-break: break-all;
}

pre code {
  border: 0;
  padding-right: 0;
  padding-left: 0;
  overflow: auto;
  white-space: pre-wrap;
  word-wrap: break-word;
  word-break: break-all;
}

table {
  border: 1px solid #aaa;
  background-color: #eee;
  width: 100%;
  text-align: left;
  border-collapse: collapse;
}

table td, table.blueTable th {
  border: 1px solid #aaa;
  padding: 3px 2px;
}

table tbody td {
  font-size: 13px;
}

table tr:nth-child(even) {
  background: #adbecc;
}

table thead {
  background: #a9c4d1;
  background: -webkit-gradient(linear, left top, left bottom, from(#bed3dc), color-stop(66%, #b1cad5), to(#A9C4D1));
  background: -webkit-linear-gradient(top, #bed3dc 0%, #b1cad5 66%, #A9C4D1 100%);
  background: -o-linear-gradient(top, #bed3dc 0%, #b1cad5 66%, #A9C4D1 100%);
  background: linear-gradient(to bottom, #bed3dc 0%, #b1cad5 66%, #A9C4D1 100%);
  border-bottom: 1px solid #8c8c8c;
}

table thead th {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  border-left: 1px solid #d0e4f5;
}

table thead th:first-child {
  border-left: none;
}

table tfoot {
  font-size: 14px;
  font-weight: bold;
  color: #fff;
  background: #d0e4f5;
  background: -webkit-gradient(linear, left top, left bottom, from(#dcebf7), color-stop(66%, #d4e6f6), to(#D0E4F5));
  background: -webkit-linear-gradient(top, #dcebf7 0%, #d4e6f6 66%, #D0E4F5 100%);
  background: -o-linear-gradient(top, #dcebf7 0%, #d4e6f6 66%, #D0E4F5 100%);
  background: linear-gradient(to bottom, #dcebf7 0%, #d4e6f6 66%, #D0E4F5 100%);
  border-top: 2px solid #444;
}

table tfoot td {
  font-size: 14px;
}

.wrapper {
  max-width: 1250px;
  position: relative;
  margin: auto;
  
}

.post, .article-page {
  background-color: #fff;
}

::-moz-selection {
  background: rgba(38, 57, 89, 0.8);
  color: #ffffff;
}

::selection {
  background: rgba(38, 57, 89, 0.8);
  color: #ffffff;
}

.clearfix::before, .clearfix::after {
  content: "";
  display: table;
}

.clearfix::after {
  clear: both;
}

.about-title {
  display: block;
  width: 100%;      /* forces flex item to take full width */
  flex: 0 0 100%;   /* absolutely forces a line break inside flexbox */
  margin-bottom: 0.5em;
}

.about-gallery {
  width: fit-content;      /* shrink to the width of the grid rows */
  margin: 0 auto;          /* center the whole block */
  margin-top: 2rem;
  margin-bottom: 6rem;
  display: flex;
  flex-direction: column;
  align-items: center;   /* center both rows horizontally */
  gap: 1rem;
}

.gallery-row {
  display: grid;
  grid-template-columns: repeat(4, auto); /* always 4 per row */
  gap: 12px;
  justify-content: center;  /* center the 4 images within the row */
}

.about-img {
  background-color: #2b2b2b;
  border-radius: 12px;
  padding: 6px;
  width: 6rem;    /* your chosen size */
  height: 6rem;   /* enforce square shape */
  object-fit: cover;
  display: block;
}

/* CSS */
.button-6 {
  align-items: center;
  background-color: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.1);
  border-radius: .25rem;
  box-shadow: rgba(0, 0, 0, 0.02) 0 1px 3px 0;
  box-sizing: border-box;
  color: rgba(0, 0, 0, 0.85);
  cursor: pointer;
  display: inline-flex;
  font-family: system-ui,-apple-system,system-ui,"Helvetica Neue",Helvetica,Arial,sans-serif;
  font-size: 16px;
  font-weight: 400;
  justify-content: center;
  line-height: 1.25;
  margin: 0;
  min-height: 2rem;
  padding-left: 1rem;
  padding-right: 1rem;
  position: relative;
  text-decoration: none;
  transition: all 250ms;
  user-select: none;
  -webkit-user-select: none;
  touch-action: manipulation;
  vertical-align: baseline;
  width: auto;
}

.button-6:hover,
.button-6:focus {
  border-color: rgba(0, 0, 0, 0.15);
  box-shadow: rgba(0, 0, 0, 0.1) 0 4px 12px;
  color: rgba(0, 0, 0, 0.65);
}

.button-6:hover {
  transform: translateY(-1px);
}

.button-6:active {
  background-color: #F0F0F1;
  border-color: rgba(0, 0, 0, 0.15);
  box-shadow: rgba(0, 0, 0, 0.06) 0 2px 4px;
  color: rgba(0, 0, 0, 0.65);
  transform: translateY(0);
}

/* - - - - - - - - - - Carousel Styles - - - - - - - - - - -*/

.carousel {
  display: flex; /* Or grid for multi-item */
  width: 100%;
  height: auto; /* Adjust as needed */
  overflow-x: hidden;
  overscroll-behavior-x: contain; /* Prevent overscroll navigation */
  scroll-snap-type: x mandatory; /* Snap to each slide */
  padding: 20px;
  gap: 4vw; /* Space between slides */
  list-style-type: none; /* Remove bullets */
  margin: 0;
  anchor-name: --carousel; /* For positioning buttons/markers */
  margin-bottom: 8%;
}

.carousel li {
  flex: 0 0 100%; /* Full width per slide */
  scroll-snap-align: center; /* Snap each item to center */
  background-color: #eeeeee; /* Optional: Fallback background */

  text-align: center; /* Center content */
  box-shadow: 5px 5px 5px lightblue;
}

.carousel img {
  width: 100%;
  height: auto;
  object-fit: cover; /* Ensure images fill without distortion */
}

/* Navigation Arrows (::scroll-button) */
.carousel::scroll-button(*) {
  position: absolute;
  border: 0;
  font-size: 2rem;
  background: none;
  color: black;
  opacity: 0.7;
  cursor: pointer;
  position-anchor: --carousel;
  justify-self: center; /* NEW: Center horizontally */
  bottom: calc(anchor(bottom) - 30px);
}

.carousel::scroll-button(*):hover,
.carousel::scroll-button(*):focus {
  opacity: 1;
}

.carousel::scroll-button(*):active {
  translate: 1px 1px;
}

.carousel::scroll-button(*):disabled {
  opacity: 0.2;
  cursor: unset;
}

.carousel::scroll-button(inline-start) {
  content: "◄";
  left: calc(anchor(center) - 140px); 
}

.carousel::scroll-button(inline-end) {
  content: "►";
  left: calc(anchor(center) + 100px);
}

/* Pagination Dots (::scroll-marker) */
.carousel {
  scroll-marker-group: after;
}

.carousel::scroll-marker-group {
  display: grid;
  grid-auto-columns: 15px;
  grid-auto-flow: column;
  gap: 20px;
  position: absolute;
  position-anchor: --carousel;
  top: calc(anchor(bottom));
  justify-self: anchor-center;
}

.carousel li::scroll-marker {
  content: "";
  width: 16px;
  height: 16px;
  background-color: transparent;
  border: 2px solid black;
  border-radius: 50%;
  cursor: pointer;
}

.carousel li::scroll-marker:target-current {
  background-color: black;
}

.carousel-video{
  width: 100%;
  height: auto;
}

#opera-button{
  background-color: #333333;
  color: #e1204a;
  font-weight: bold;
}

/* - - - - - - - - - - Home Page Styles - - - - - - - - - - */
.sidebar {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 240px;
  height: 100%;
  padding: 20px 10px;
  background-color: #ffffff;
}

.about {
  margin: 0 0 40px;
  text-align: center;
  background-color: #fff;
}

.about .cover-author-image {
  width: 150px;
  height: 150px;
  margin: 0 auto 10px;
  -webkit-border-radius: 0;
          border-radius: 0;
  overflow: hidden;
  background-color: #fff;
}

.about img {
  width: 100%;
  height: auto;
  -webkit-border-radius: 0;
          border-radius: 0;
  -webkit-transition: -webkit-transform 0.35s;
  transition: -webkit-transform 0.35s;
  -o-transition: transform 0.35s;
  transition: transform 0.35s;
  transition: transform 0.35s, -webkit-transform 0.35s;
}

.about img:hover {
  -webkit-transform: scale3d(1.1, 1.1, 1);
          transform: scale3d(1.1, 1.1, 1);
}

.about .author-name {
  font-family: "Roboto", sans-serif;
  margin: 0 0 10px;
  position: relative;
  padding-bottom: 15px;
  font-size: 16px;
  text-transform: uppercase;
  color: #333030;
  font-weight: 700;
}

.about .author-name::after {
  content: "";
  position: absolute;
  left: 50%;
  -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
          transform: translateX(-50%);
  bottom: 0;
  display: block;
  width: 7px;
  height: 7px;
  -webkit-border-radius: 100%;
          border-radius: 100%;
  background-color: #515151;
}

.about p {
  font-size: 16px;
  margin: 0 0 10px;
}

.content-box {
  padding: 20px;
  padding-left: 260px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
}

.contact .contact-title {
  position: relative;
  color: #333030;
  font-weight: 400;
  font-size: 12px;
  margin: 0 0 5px;
  text-transform: uppercase;
  text-align: center;
}

.contact .contact-title::before {
  content: "";
  display: block;
  height: 2px;
  width: -webkit-calc(50% - 48px);
  width: calc(50% - 48px);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  top: 50%;
  left: 0;
  background-color: #515151;
}

.contact .contact-title::after {
  content: "";
  display: block;
  height: 2px;
  width: -webkit-calc(50% - 48px);
  width: calc(50% - 48px);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0;
  background-color: #515151;
}

.contact ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: center;
}

.contact ul li {
  display: inline-block;
  margin-left: 10px;
}

.contact ul li:first-child {
  margin-left: 0;
}

.contact ul li a {
  color: #515151;
  display: block;
  padding: 5px;
  font-size: 18px;
  -webkit-transition: all 350ms cubic-bezier(0.13, 0.43, 0.54, 1.82);
  -o-transition: all 350ms cubic-bezier(0.13, 0.43, 0.54, 1.82);
  transition: all 350ms cubic-bezier(0.13, 0.43, 0.54, 1.82);
}

.contact ul li a:hover {
  color: #333030;
  -webkit-transform: scale(1.2);
      -ms-transform: scale(1.2);
          transform: scale(1.2);
}

footer .copyright {
  font-size: 14px;
  text-align: center;
  margin: 0;
}

.post {
  width: 100%;
  max-width: 100%;
  margin-bottom: 1.5rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -webkit-flex-direction: row;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: stretch;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  min-height: 11rem;
  -webkit-border-radius: 10px;
          border-radius: 10px;
  overflow: hidden;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
  -webkit-box-shadow: 0 1px 1px 0 rgba(31, 35, 46, 0.15);
          box-shadow: 0 1px 1px 0 rgba(31, 35, 46, 0.15);
}

.post:hover {
  -webkit-transform: translate(0px, -2px);
      -ms-transform: translate(0px, -2px);
          transform: translate(0px, -2px);
  -webkit-box-shadow: 0 15px 45px -10px rgba(10, 16, 34, 0.2);
          box-shadow: 0 15px 45px -10px rgba(10, 16, 34, 0.2);
}

.post .post-thumbnail {
  width: 30%;
  max-width: 100%;
  min-height: 11rem;
  -webkit-background-size: cover;
          background-size: cover;
  background-position: 50% 50%;
}

.post .post-content {
  padding: 1rem;
  width: 70%;
}

.post .post-content .post-date,
.post .post-content .post-words {
  font-size: 12px;
}

.post .post-content .post-title {
  margin: 0 0 10px;
  font-size: 30px;
  font-weight: 400;
}

.post .post-content .post-title a {
  font-family: "Roboto", sans-serif;
  text-decoration: none;
  color: #263959;
}

.post .post-content p {
  margin-top: 0;
}

a.older-posts, a.newer-posts {
  font-size: 18px;
  display: inline-block;
  color: #515151;
  -webkit-transition: -webkit-transform .2s;
  transition: -webkit-transform .2s;
  -o-transition: transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;
}

a.older-posts:hover {
  -webkit-transform: translateX(5px);
      -ms-transform: translateX(5px);
          transform: translateX(5px);
}

a.newer-posts:hover {
  -webkit-transform: translateX(-5px);
      -ms-transform: translateX(-5px);
          transform: translateX(-5px);
}

/* - - - - - - - - - - Post Page Styles - - - - - - - - - - */
.wrap-content {
  padding: 20px;
}

.header-page {
  text-align: center;
  margin: 10px 0;
}

.header-page .page-title {
  font-weight: 400;
  margin: 0 0 10px;
  line-height: 1.3;
}

.header-page .page-date {
  color: #a0a0a0;
  font-weight: 300;
  font-size: 12px;
  text-transform: uppercase;
}

.page-cover-image {
  position: relative;
  padding: 0;
  margin: 0;
  max-height: 500px;
  background-color: #fafafa;
  overflow: hidden;
}

.page-cover-image figure {
  position: relative;
  margin: 0;
}

.page-cover-image figcaption {
  position: absolute;
  top: 20px;
  right: 20px;
  padding-left: 20px;
  color: rgba(255, 255, 255, 0.7);
  text-shadow: 0 1px 5px rgba(0, 0, 0, 0.2);
  font-weight: 700;
  text-transform: uppercase;
  font-size: 10px;
}

.page-cover-image .page-image {
  width: 100%;
  height: 100%;
}

.page-footer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  padding-bottom: 30px;
  margin: 30px 0;
  border-bottom: 1px solid #a0a0a0;
}

.page-footer .page-share {
  margin-bottom: 10px;
  text-align: left;
}

.page-footer .page-share a {
  display: inline-block;
  text-decoration: none;
  background-color: #fafafa;
  border: 1px solid #ecf0f1;
  padding: 5px 10px;
  margin-left: 5px;
  color: #263959;
  font-size: 12px;
  -webkit-transition: background-color .3s;
  -o-transition: background-color .3s;
  transition: background-color .3s;
}

.page-footer .page-share a:first-child {
  margin-left: 0;
}

.page-footer .page-share a:hover {
  background-color: #ecf0f1;
}

.page-tag {
  display: inline;
}

.tag {
  display: inline-block;
  max-width: fit-content;
  font-size: 10px;
  font-weight: bold;
  padding: 5px 10px;
  margin: auto;
  text-transform: uppercase;
  border: 1px solid #263959;
  -webkit-border-radius: 4px;
          border-radius: 4px;
}

.tag-early-access {
  background-color: #94ffb0;
}

.tag-pc {
 background-color: #94f8ff;
}

.tag-unity {
  background-color: #ee80ff;
  color: white;
}

.tag-mobile {
  background-color: #ffa64d;
  color: white;
}

.tag-released {
  background-color: #ff8080;
  color: white;
}

.tag-steam {
  background-color: #314d63;
  color: white;
}

.tag-aseprite {
  background-color: #5c5059;
  color: white;
}

.tag-github {
  background-color: #5968ba;
  color: white;
}

.tag-blender {
  background-color: #ff9100;
  color: white;
}

/* - - - - - - - - - - Tag Styles - - - - - - - - - - */
.blog-tags {
  width: 100%;
  background-color: #ffffff;
  padding: 0 20px 20px;
}

.blog-tags h1 {
  font-size: 30px;
  text-align: center;
  line-height: 1.3;
  color: #263959;
}

.blog-tags h2 {
  color: #263959;
  margin: 10px 0;
}

.tags {
  margin: 0;
  padding: 10px;
}

.tags li {
  display: inline-block;
  margin: 5px;
  list-style: none;
}

.tags li a {
  text-decoration: none;
  color: #263959;
  display: inline-block;
  padding: 5px 10px;
  border: 1px solid #ecf0f1;
  background-color: #fafafa;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s;
}

.tags li a:hover {
  background-color: #ecf0f1;
}

.tag-list span a {
  text-decoration: none;
  color: #263959;
}

.tag-list span a:hover {
  text-decoration: underline;
  opacity: .8;
}

.embed-responsive {
  position: relative;
  height: 0;
  padding-bottom: 24%;
  overflow: hidden;
  display: block;
  max-width: 646px;  
  margin: 20px auto; 
}
.embed-responsive iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;  
  height: auto !important; 
  border: none;
}

.carousel-ui {
  display: none;
}

.emoji-title { 
  display:flex;
  vertical-align:baseline;
}

.emoji{
  
  height:1em; width:1em;
  line-height:1.2;      
  margin-right:.35ch;
}

.steam-embed{
  position: relative;
  width: 100%;
  max-width: 646px;
  margin: 20px auto;
  overflow: hidden;
}

/* modern: intrinsic ratio */
@supports (aspect-ratio: 1) {
  .steam-embed{ aspect-ratio: 646 / 190; }
  .steam-embed iframe{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
}

/* fallback: padding-bottom hack (≈29.4%) */
@supports not (aspect-ratio: 1) {
  .steam-embed{ height: 0; padding-bottom: 29.4%; }
  .steam-embed iframe{
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
}


/* - - - - - - - - - - Media Styles - - - - - - - - - - */
/* Medium Devices, Desktops */
@media only screen and (max-width: 992px) {
  .post {
    width: 48%;
    max-width: 100%;
    margin: 0 0.9% 1.5%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .post .post-thumbnail {
    width: 100%;
  }
  .post .post-content {
    width: 100%;
  }
  .post .post-content .post-title {
    margin: 0 0 5px;
  }
  .post .post-content .post-title a {
    font-size: 21px;
  }
  .embed-responsive {
    padding-bottom: 40%;
  }

  /* Fallback controls for browsers without ::scroll-button/::scroll-marker */
  .carousel::scroll-button(*),
  .carousel::scroll-marker-group {
    display: none !important;
  }

  .carousel-wrap { position: relative; }

  .carousel-ui {
    position: absolute;
    left: 0; right: 0;
    bottom: -30px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    pointer-events: none; /* lets clicks pass unless explicitly enabled below */
    z-index: 2;
  }

  .carousel-ui .dots button {
    border: 1px solid #000;
    background: rgba(255,255,255,0.9);
    border-radius: 999px;
    pointer-events: auto;
    cursor: pointer;
  }

  .carousel-ui .arrow {
    width: 36px; 
    height: 36px;
    line-height: 34px;
    font-size: 22px;
    pointer-events: auto;
    cursor: pointer;
    background: none;
    border: none;
  }

  .carousel-ui .dots { 
    display: flex; 
    gap: 10px; 
  }

  .carousel-ui .dots button {
    width: 15px; 
    height: 15px;
    padding: 0;
  }

  .carousel-ui .dots button[aria-current] {
    background: #000; border-color: #000;
  }
}

/* Small Devices, Tablets */
@media only screen and (max-width: 768px) {
  .wrap-content {
    padding: 10px; /* MODIFIED: Reduced from 20px to match .content-box on mobile */
    width: 100%;
    max-width: 100%;
    box-sizing: border-box; /* NEW: Includes padding in width calc */
    overflow-x: hidden; /* NEW: Hides any minor overflow */
    margin: 0 auto; /* NEW: Centers the content container */
  }

  .article-page .page-content {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .wrap-content table {
    font-size: 12px;
    margin: 0 -10px;
  }

  .wrap-content iframe {
    max-width: 100%;
    width: 100%;
    height: auto;
  }

  .sidebar {
    position: relative;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%;
    padding: 10px;
    background-color: #ffffff;
    -webkit-box-shadow: 0 1px 1px 0 rgba(31, 35, 46, 0.15);
            box-shadow: 0 1px 1px 0 rgba(31, 35, 46, 0.15);
    margin: 0 auto;
    max-width: 480px;
  }

  .sidebar footer {
    margin-bottom: 10px;
  }

  .about {
    text-align: center;
    max-width: 480px;
    margin: 10px auto auto;
  }

  .content-box {
    padding: 20px 10px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -webkit-flex-direction: row;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap;
    -webkit-box-align: stretch;
    -webkit-align-items: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
  }

  .contact-title, .copyright {
    display: none;
  }

  .embed-responsive {
    position: relative;
    height: 0;
    padding-bottom: 20%;
    padding-top: 30px;
    overflow: hidden;
    display:block;
  }

  .embed-responsive iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important; 
    height: 100% !important;
  }

  .carousel {
    gap: 8vw;
    margin-bottom: 15%;
  }

  .carousel li {
    flex: 0 0 100%;
  }

  .carousel::scroll-button(*) {
    font-size: 1.5rem; /* Smaller arrows */
  }

  .carousel::scroll-marker-group {
    gap: 10px;
  }

  .carousel li::scroll-marker {
    width: 12px;
    height: 12px;
  }

  .carousel::scroll-marker-group {
    top: calc(anchor(bottom) + 7px);
  }

  .carousel::scroll-button(inline-start) {
    content: "◄";
    left: calc(anchor(center) - 120px); 
  }
  
  .carousel::scroll-button(inline-end) {
    content: "►";
    left: calc(anchor(center) + 80px);
  }
}

/* Extra Small Devices, Phones */
@media only screen and (max-width: 480px) {
  .content-box {
    padding: 10px;
  }

  .post {
    width: 98%;
    max-width: 100%;
    margin: 2%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
  }

  .post .post-thumbnail {
    width: 100%;
  }

  .post .post-content {
    width: 100%;
  }

  .post .post-content .post-title {
    margin: 0 0 5px;
  }

  .post .post-content .post-title a {
    font-size: 21px;
  }

  .embed-responsive {
    padding-bottom: 45%;
  }

  .carousel::scroll-button(inline-start) {
    content: "◄";
    left: calc(anchor(center) - 110px); 
  }
  
  .carousel::scroll-button(inline-end) {
    content: "►";
    left: calc(anchor(center) + 70px);
  }

}
