@charset "UTF-8";

@import url('css/roboto.css');

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    color: #222222;
    line-height: 1.4;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #e5e5e5;
  margin: 1em 0;
  padding: 0;
}

body {
    letter-spacing: 0.5px;
    margin: 0;
    padding: 0;
    font-size: 14px;
    font-weight: normal;
    font-family: 'Roboto', Verdana, Tahoma, Arial, sans-serif;
    line-height: 1.6;
    background: #f5f7f5;
    color: #2f3b3a;
}

.clearfix {
    content: ' ';
    height: 0;
    width: 100%;
    overflow: hidden;
    clear: both;
    display: block;
}

.clearfix:before,
.clearfix:after,
.clearfix-after:after,
.clearfix-before:after {
    content: ' ';
    height: 0;
    width: 100%;
    overflow: hidden;
    clear: both;
    display: block;
}

h1, h2, h3, h4, h5, h6 {
    font-weight: bold !important;
    margin: 0;
    padding: 0;
}

h1 {
    font-size: 18px;
    line-height: 40px;
    padding: 0;
    margin: 0 0 10px;
    color: #2d3a39;
    background-color: inherit;
    border-bottom: 1px solid #EFF0F1;
}

hr {
    margin:2 0px 0;
    border: 0;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
}

p {
    margin: 0;
    padding: 0;
}

ul, ol {
    margin: 10px 20px;
    padding: 0 20px;
}

/* links */
a {
    color: #6f8f1f; 
    background-color: inherit;
    text-decoration: none;
    outline: none;
    transition: color 0.2s ease;
}

a:hover {
    color: #2d3a39;
    background-color: inherit;
    text-decoration: underline;
}

a:focus-visible {
    outline: 2px solid #6f8f1f;
    outline-offset: 2px;
    text-decoration: underline;
}

.text-center { text-align: center; }

/* images */
img {
    border: 3px solid #D5D5D5;
}
img.float-right {
  margin: 5px 0px 5px 10px;  
}
img.float-left {
  margin: 5px 10px 5px 0px;
}


/*code {
  margin: 5px 0;
  padding: 10px;
  text-align: left;
  display: block;
  overflow: auto;  
  font: 500 1em/1.5em 'Lucida Console', 'courier new', monospace;
  white-space: pre;
  background: #FAFAFA;
  border: 1px solid #f2f2f2;  
  border-left: 4px solid #6f8f1f;
}*/
acronym {
  cursor: help;
  border-bottom: 1px solid #777;
}
blockquote {
    margin: 10px;
    padding: 0 0 0 32px;    
    background: #FAFAFA url('images/quote.gif') no-repeat 5px 10px !important; 
    background-position: 8px 10px;
    border: 1px solid #f2f2f2; 
    border-left: 4px solid #6f8f1f;   
}

/* form elements */
label {
    display:block;
    font-weight:bold;
    margin:5px 0;
}
input {
    padding: 3px;
    border:1px solid #eee;
    font: normal 1em Verdana, sans-serif;
    color:#777;
}
textarea {
    width:350px;
    padding:3px;
    font: normal 1em Verdana, sans-serif;
    border:1px solid #eee;
    height:100px;
    display:block;
    color:#777;
}
input.button { 
    margin: 0; 
    font: bolder 12px Verdana, Sans-serif; 
    border: 1px solid #CCC; 
    padding: 2px 3px; 
    background: #FFF;
    color: #2d3a39;
}
/* search form */
form.search {
    position: absolute;
    top: 15px; right: 5px;
    padding: 0; margin: 0;
    border: none;
    background-color: transparent;
    display: flex;
    gap: 6px;
    align-items: center;
}
form.search input.textbox { 
    margin: 0; 
    width: 170px;
    border: 1px solid #d2dad6;
    background: #ffffff;
    color: #2d3a39;
    border-radius: 999px;
    padding: 6px 12px;
    box-shadow: 0 2px 8px rgba(45, 58, 57, 0.08);
    font-size: 13px;
}
form.search input.button {
    width: auto;
    vertical-align: top;
    border-radius: 999px;
    padding: 6px 12px;
    border: none;
    background: #557016;
    color: #ffffff;
    font-weight: bold;
    cursor: pointer;
}
form.search input.button:hover {
    background: #46600f;
}

/**********************************************************/
/* WRAPPER */
/**********************************************************/    
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 5px;
}

.wrapper {
    margin: 0;
    padding: 0;
}

.row {
    display: flex;
    display: -webkit-flex;
    flex-direction: row;
    position: relative;
    margin-right: auto;
    margin-left: auto;
}

.col-50 {
    width: 50%;
}

.col-1,.col-10, .col-11, .col-12, .col-2, .col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9 {
    float: left;
}
.col-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
}
.col-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
}
.col-4 {
    flex: 0 0 auto;
    width: 33.333333%;
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
}
.col-5 {
    width: 41.66666667%;
}
.col-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
}
.col-7 {
    width: 58.33333333%
}
.col-8 {
    width: 66.66666667%;
}
.col-9 {
    width: 75%;
}
.col-10 {
    width: 83.33333333%;
}
.col-11 {
    width: 91.66666667%
}
.col-12 {
    width: 100%;
}

.flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}
.flex .center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.flex .space-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.site-wrap {
    margin: 0 auto; 
    padding: 0; 
    width: 850px;
    text-align: left;       
}

/* =============================================== */
/* HEADER
/* =============================================== */
.site-header {
    position: relative;
    height: 70px;
    margin: 0; padding: 0;
    color: #666666;
}

.site-header #logo {
    position: absolute;
    font: bold 39px "trebuchet MS", Arial, Tahoma, Sans-Serif;
    margin: 0;
    padding: 0;
    color: #2d3a39;
    letter-spacing: -2px;
    border: none;
    top: 5px;
    left: 2px;
}

.site-header #logo span { color: #557016; }

.site-header #slogan {
    position: absolute;
    margin: 0;
    padding: 0;
    font: bold 12px Arial, Tahoma, Sans-Serif;
    text-transform: none;
    top: 43px;
    left: 138px;
}

/* =============================================== */
/* MENU
/* =============================================== */
.site-menu {
    clear: both;
    background: #b9cf2e;
    height: auto;
    margin: 0 0 12px 0;
    font: 700 14px/1.4 Tahoma, Verdana, Arial, Sans-Serif;
    border-radius: 6px;
    overflow: hidden;
}
.site-menu:after {
    content: "";
    display: block;
    clear: both;
}
.site-menu ul{
    margin: 0; padding: 0 0 0 10px;
}
.site-menu ul li {
    float: left;
    list-style: none;       
    border-right: 1px solid #a6bd27;
}
.site-menu ul li a {
    display: block;
    text-decoration: none;  
    padding: 8px 14px;
    color: #1f2b2a;    
}
.site-menu ul li a:hover {
    color: #333;    
    background: rgba(255, 255, 255, 0.35);
}
.site-menu ul li.current a {
    color: #333;
    background: rgba(255, 255, 255, 0.6);  
}

/* =============================================== */
/* MENU
/* =============================================== */
.site-sidebar {
    float: left;
    width: 21%; 
    margin: 0;  padding: 0; 
    display: inline;
}
.site-sidebar .sidebar-box {
    background: transparent;
    border: none;
    padding: 0 0 8px;
    margin: 0 0 14px;
}
.site-sidebar .box-title {
    font-weight: bold !important;
    font-size: 18px;
    line-height: 40px;
    margin: 0 0 10px;
    color: #2d3a39;
    background-color: inherit;
    border-bottom: 1px solid #EFF0F1;
}
.site-sidebar ul.sidemenu {
    list-style: none;
    text-align: left;
    margin: 0 0 7px 0; padding: 0;
    text-decoration: none;  
}

.site-sidebar ul.sidemenu li {
    border-bottom: 1px solid #EFF0F1;   
    background: url('images/arrow.gif') no-repeat 3px 6px;   
    padding: 2px 5px 2px 20px;
}

* html body .site-sidebar ul.sidemenu li { height: 1%; }

.site-sidebar ul.sidemenu li a {
    /* font-weight: bolder; */
    /* background-image: none; */
    /* text-decoration: none; */
}

.site-sidebar ul.sidemenu-sub {
    list-style: none;
    margin: 4px 0 4px 0;
    padding: 0;
}

.site-sidebar ul.sidemenu-sub li {
    border-bottom: none;
    background: none;
    padding: 1px 5px 1px 10px;
}

.site-sidebar ul.sidemenu-sub li::before {
    content: '–';
    color: #7aab2a;
    margin-right: 5px;
    font-size: 11px;
}

.site-sidebar ul.sidemenu-sub li a {
    font-size: 12px;
    color: #5a6764;
}

.site-sidebar ul.sidemenu-sub li a:hover {
    color: #3a5a0a;
}

.subcategory-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 20px;
    margin-bottom: 20px;
    background: #f4f8ef;
    border-bottom: 1px solid #deebc5;
}

.subcategory-tag {
    display: inline-block;
    padding: 4px 12px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #c8dba0;
    color: #3a5a0a;
    font-size: 13px;
    text-decoration: none;
    transition: background 0.15s;
}

.subcategory-tag:hover {
    background: #eef3ea;
    border-color: #7aab2a;
}

/* =============================================== */
/* MAIN
/* =============================================== */
.site-main {
    float: left;
    margin: 0 0 0 15px;
    padding: 0;
    width: 77%; 
}

/* downloads */
.downloads-categories {
    margin: 0 0 18px;
}

.download-tags {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.download-tags li {
    margin: 0;
}

.download-tags a {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 999px;
    background: #ffffff;
    border: 1px solid #e7ece7;
    color: #2d3a39;
    font-weight: bold;
}

.download-tags a:hover {
    background: #f2f6f2;
}

.downloads-apps {
    margin: 0 0 20px;
}

.downloads-latest {
    margin: 0 0 20px;
}

/* about */
.about-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 10px 0 20px;
}

.about-card {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 10px 12px;
}

.about-card h3 {
    margin: 0 0 6px;
}

.about-card p {
    color: #5a6764;
}

.about-list {
    margin: 8px 0 20px;
    padding-left: 18px;
}

.about-list li {
    margin: 0 0 6px;
}

/* support */
.support-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
    margin: 10px 0 20px;
}

.support-card {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 10px 12px;
}

.support-card h3 {
    margin: 0 0 6px;
}

.support-card p {
    color: #5a6764;
}

.support-list {
    margin: 8px 0 20px;
    padding-left: 18px;
}

.support-list li {
    margin: 0 0 6px;
}

/* contact */
.contact-grid {
    display: grid;
    grid-template-columns: 1fr 260px;
    gap: 16px;
    margin: 10px 0 20px;
}

.contact-form {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 0;
}

.contact-form label {
    margin: 8px 0 4px;
}

.contact-form input,
.contact-form textarea {
    width: 100%;
    margin: 0 0 10px;
    border-radius: 6px;
    border: 1px solid #dfe5df;
}

.contact-info {
    background: #f9fbf8;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 12px 14px;
}

.contact-info h3 {
    margin: 0 0 6px;
}

.contact-info p {
    margin: 0 0 10px;
    color: #5a6764;
}

.search-page-heading {
    font-size: 20px;
    font-weight: bold;
    color: #2d3a39;
    margin: 0 0 6px;
}

.search-page-sub {
    font-size: 13px;
    color: #7b8784;
    margin: 0 0 16px;
}

.search-page-form {
    display: flex;
    gap: 8px;
    margin: 16px 0;
}

.search-page-form input[type="text"] {
    flex: 1;
    padding: 6px 12px;
    border: 1px solid #d2dad6;
    border-radius: 999px;
    font-size: 13px;
    color: #2d3a39;
    background: #ffffff;
    box-shadow: 0 2px 8px rgba(45, 58, 57, 0.08);
    outline: none;
}

.search-page-form input[type="text"]:focus {
    border-color: #6f8f1f;
}

.search-page-form button {
    padding: 10px 20px;
    background: #6f8f1f;
    color: #fff;
    border: none;
    border-radius: 999px;
    font-size: 15px;
    font-weight: bold;
    cursor: pointer;
}

.search-page-form button:hover {
    background: #5f7f18;
}

.search-highlight {
    background: #e8f4c2;
    color: #2d3a39;
    border-radius: 3px;
    padding: 0 2px;
    font-style: normal;
}

.breadcrumb {
    font-size: 13px;
    color: #666666;
    margin: 12px 0;
}

.breadcrumb a {
    color: #557016;
    text-decoration: none;
}

.breadcrumb a:hover {
    text-decoration: underline;
}

.breadcrumb .separator {
    margin: 0 6px;
    color: #b7c0bd;
}

.download-wait {
    display: flex;
    justify-content: center;
    padding: 20px 0 40px;
}

.download-wait-box {
    max-width: 560px;
    width: 100%;
    text-align: center;
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 16px;
    padding: 32px 24px;
}

.download-wait-meta {
    font-size: 12px;
    color: #7b8784;
    margin: 4px 0 0;
}

.download-wait-message {
    font-size: 15px;
    color: #2f3b3a;
    margin: 8px 0 20px;
}

.download-wait-message #download-countdown {
    font-weight: bold;
    color: #557016;
}

.ad-slot {
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.ad-slot-placeholder {
    border: 1px dashed #97a49e;
    border-radius: 8px;
    font-size: 11px;
    color: #eef2f0;
    background-color: #8b968f;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.ad-slot-download {
    width: 300px;
    max-width: 100%;
    height: 250px;
}

/* .site-sidebar is 21% of the 850px .site-wrap (~178px) — a 300x250
   rectangle doesn't fit, so this uses a 160x600 wide skyscraper instead. */
.ad-slot-sidebar {
    width: 160px;
    max-width: 100%;
    height: 600px;
    margin: 0 auto 14px;
}

.ad-slot-infeed {
    width: 728px;
    max-width: 100%;
    height: 90px;
    margin: 20px auto;
}

.ad-slot-article {
    width: 336px;
    max-width: 100%;
    height: 280px;
    margin: 24px auto;
}

.download-manual-link {
    display: inline-block;
}

.download-wait-note {
    font-size: 12px;
    color: #7b8784;
    margin-top: 16px;
}

@media (max-width: 760px) {
    .contact-grid {
        grid-template-columns: 1fr;
    }
}

/* services */
.services-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 14px;
    margin: 10px 0 20px;
}

.service-card {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 10px 12px;
}

.service-card h3 {
    font-size: 14px;
    margin: 0 0 6px;
}

.service-card p {
    color: #5a6764;
}

.process-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 12px;
    margin: 10px 0 20px;
}

.process-step {
    background: #f9fbf8;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 10px 12px;
}

.step-label {
    display: inline-block;
    width: 22px;
    height: 22px;
    line-height: 22px;
    text-align: center;
    border-radius: 50%;
    background: #6f8f1f;
    color: #ffffff;
    margin-bottom: 6px;
}

.process-step h3 {
    margin: 0 0 4px;
}

.process-step p {
    color: #5a6764;
}

.pricing-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 10px 0 20px;
}

.pricing-card {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 10px 12px;
}

.pricing-card h3 {
    font-size: 14px;
    margin: 0 0 8px;
}

.pricing-card ul {
    margin: 0;
    padding: 0 0 0 16px;
}

.pricing-card li {
    margin: 0 0 6px;
}

.faq-list {
    display: grid;
    gap: 10px;
    margin: 10px 0 20px;
}

.faq-item {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 10px 12px;
}

.faq-item h3 {
    margin: 0 0 4px;
}

.faq-item p {
    color: #5a6764;
}

.cta-box {
    background: #f9fbf8;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 10px 0 16px;
}

.cta-box h3 {
    font-size: 14px;
    margin: 0 0 6px;
}

.cta-box p {
    color: #5a6764;
    margin: 0 0 10px;
}

.cta-button {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    background: #6f8f1f;
    color: #ffffff;
    font-weight: bold;
}

.cta-button:hover {
    background: #5f7f18;
    color: #ffffff;
}

.latest-list {
    list-style: none;
    margin: 0;
    padding: 0;
    border: 1px solid #eef1ee;
    border-radius: 12px;
    background: #ffffff;
}

.latest-list li,
.versions-list li {
    display: grid;
    grid-template-columns: auto 1fr auto auto auto;
    gap: 12px;
    align-items: center;
    padding: 8px 10px;
    border-bottom: 1px solid #eef1ee;
}

.latest-list li:last-child,
.versions-list li:last-child {
    border-bottom: none;
}

.latest-icon {
    width: 34px;
    height: 34px;
    border-radius: 6px;
    background: #f1f4f1;
    background-size: cover;
    background-position: center;
    border: 1px solid #e2e7e2;
}

.latest-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.latest-name {
    font-weight: bold;
    color: #2d3a39;
}

.latest-meta {
    font-size: 12px;
    color: #7b8784;
}

.latest-badge {
    font-size: 11px;
    font-weight: bold;
    padding: 2px 8px;
    border-radius: 999px;
    background: #eef3ea;
    color: #2d3a39;
}

.latest-download {
    font-size: 12px;
    font-weight: bold;
    color: #6f8f1f;
}

.latest-download:hover {
    color: #2d3a39;
}

.latest-download.secondary {
    color: #2d3a39;
    font-weight: normal;
}

.versions-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* app page */
.app-page {
    display: grid;
    gap: 16px;
}

.app-hero {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 16px;
    padding: 12px 14px;
}

.app-hero-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
}

.app-download-group {
    display: flex;
    gap: 6px;
    align-items: center;
}

.app-hero-title {
    display: flex;
    align-items: center;
    gap: 10px;
}

.app-name {
    font-weight: bold;
    font-size: 16px;
}

.app-platform {
    color: #7b8784;
}

.app-homepage {
    display: block;
    font-size: 12px;
    color: #6f8f1f;
}

.app-license-tag {
    font-size: 11px;
    font-weight: bold;
    padding: 1px 7px;
    border-radius: 999px;
    background: #eef3ea;
    color: #2d3a39;
    vertical-align: middle;
}

.app-requirements {
    margin-top: 6px;
}

.latest-changelog {
    font-size: 12px;
    color: #5a6764;
    font-style: italic;
}

.app-screenshots {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 16px;
    padding: 12px 14px;
    margin-top: 16px;
}

.screenshot-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
    gap: 10px;
}

.screenshot-item {
    display: block;
    aspect-ratio: 16 / 10;
    border-radius: 8px;
    background-color: #f1f4f1;
    background-size: cover;
    background-position: center;
    border: 1px solid #e2e7e2;
}

.app-download-primary {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    background: #6f8f1f;
    color: #ffffff;
    font-weight: bold;
}

.app-download-primary:hover {
    background: #5f7f18;
    color: #ffffff;
}

.app-download-secondary {
    display: inline-block;
    padding: 6px 12px;
    border-radius: 6px;
    background: #f3f6f3;
    color: #2d3a39;
    font-weight: bold;
    border: 1px solid #e1e7e1;
}

.app-download-secondary:hover {
    background: #e9efe9;
    color: #2d3a39;
}

.app-hero-meta {
    display: flex;
    gap: 10px;
    font-size: 12px;
    color: #7b8784;
    margin-bottom: 8px;
}

.app-changelog {
    margin-top: 6px;
}

.app-versions {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 16px;
    padding: 12px 14px;
}

.app-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 12px;
}

.app-card {
    background: #ffffff;
    border: 1px solid #eef1ee;
    border-radius: 16px;
    padding: 5px 7px;
}

.app-thumb {
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: #f1f4f1;
    background-size: cover;
    background-position: center;
    border: 1px solid #e2e7e2;
    margin: 0;
    flex: 0 0 34px;
}

.app-body {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.app-content {
    flex: 1;
    min-width: 0;
}

.app-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6px;
}

.app-tag {
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    color: #6f8f1f;
}

.app-version {
    font-size: 12px;
    color: #7b8784;
}

.app-title {
    font-size: 14px;
    margin: 0 0 4px;
    color: #2d3a39;
}

.app-desc {
    color: #5a6764;
    margin: 0 0 8px;
    font-size: 12px;
}

.app-meta {
    display: flex;
    gap: 12px;
    font-size: 12px;
    color: #7b8784;
    margin-bottom: 8px;
}

.app-download {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 6px;
    background: #6f8f1f;
    color: #ffffff;
    font-weight: bold;
    font-size: 12px;
}

.app-download:hover {
    background: #5f7f18;
    color: #ffffff;
}

/* =============================================== */
/* FOOTER
/* =============================================== */
.site-footer { 
    clear: both;    
    color: #e3ebe8;
    padding: 32px 0 24px;
    background: #1d3c36;
    border-top: 1px solid #16332d;
}
.site-footer a { 
    text-decoration: none; 
    color: #e3ebe8;
}
.footer-content {
    margin: 0 auto;
    width: 850px;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    gap: 28px;
    align-items: start;
}

.footer-brand {
    font: bold 20px/1.2 inherit;
    letter-spacing: -0.5px;
    color: #ffffff;
    margin-bottom: 10px;
}

.footer-brand span {
    color: #b9cf2e;
}

.footer-desc {
    color: #b7c4bf;
    margin: 0 0 16px;
}

.footer-title {
    font-size: 15px;
    font-weight: bold;
    color: #ffffff;
    margin-bottom: 10px;
}

.footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-col li {
    margin: 0 0 8px;
    color: #b7c4bf;
}

.footer-newsletter {
    display: flex;
    gap: 8px;
    background: #ffffff;
    border-radius: 10px;
    padding: 4px;
    max-width: 280px;
}

.footer-newsletter input {
    border: none;
    padding: 8px 10px;
    flex: 1;
    font-size: 13px;
    color: #2d3a39;
}

.footer-newsletter button {
    border: none;
    background: #b9cf2e;
    color: #1d3c36;
    font-weight: bold;
    padding: 8px 10px;
    border-radius: 8px;
    cursor: pointer;
}

.footer-divider {
    height: 1px;
    background: #2b5149;
    margin: 24px 0 16px;
}

.footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.footer-meta {
    color: #b7c4bf;
}

.footer-links {
    display: flex;
    gap: 16px;
}

.footer-links a {
    font-weight: normal;
    color: #b7c4bf;
}

@media (max-width: 900px) {
    .footer-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .footer-grid {
        grid-template-columns: 1fr;
    }
    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
}

/* alignment classes */
.float-left  { float: left; }
.float-right { float: right; }
.align-left  { text-align: left; }
.align-right { text-align: right; }

/* additional classes */
.clear  { clear: both; }
.green  { color: #6f8f1f; }

/* =============================================== */
/* CODE BLOCK
/* =============================================== */
.code-block {
    position: relative;
    max-width: 800px;
}

.copy-button {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 6px 12px;
    background: #2d2d2d;
    border: 1px solid #6b7280;
    color: #fff;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
}

.copy-button:hover {
    background: #404040;
}
/* ============================================================================================== */



/* =============================================== */
/* POST
/* =============================================== */
.hero {
    background: linear-gradient(135deg, #2a3f3c 0%, #3b5350 100%);
    border: 1px solid #2f3f3c;
    border-radius: 14px;
    padding: 24px 26px;
    margin: 0 0 16px;
    box-shadow: 0 10px 24px rgba(30, 45, 44, 0.25);
}

.hero h1 {
    font-size: 26px;
    line-height: 1.2;
    border-bottom: none;
    color: #ffffff;
    margin: 0 0 6px;
}

.hero p {
    color: #e5eceb;
    margin: 0 0 6px;
}

.hero-kicker {
    display: inline-block;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6f8f1f;
    padding: 0;
    border: none;
    background: transparent;
    border-radius: 0;
    margin-bottom: 8px;
}

.hero-highlights p {
    margin: 0 0 6px;
}

.post {
    margin: 0;
    position: relative;
    padding: 5px 15px;
    background: #fff;
    border-radius: 16px;
}

.post-card {
    margin: 20px 0;
}
.post-card:first-child {
    margin-top: 0;
}

.post-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: #7b8784;
    margin-bottom: 8px;
}

.post-share {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    font-size: 12px;
    color: #7b8784;
    margin-bottom: 12px;
}

.post-share a {
    font-weight: bold;
}

.post-layout {
    display: block;
    margin-bottom: 12px;
}

.post-toc {
    border: 1px solid #eef1ee;
    border-radius: 12px;
    padding: 10px 12px;
    background: #f9fbf8;
    margin-bottom: 12px;
}

.toc-list {
    list-style: none;
    margin: 8px 0 0 0;
    padding: 0;
}

.toc-list li {
    margin: 0 0 6px;
    font-size: 12px;
}

.toc-list li.toc-sub {
    margin-left: 10px;
    font-size: 11px;
}

.post-content {
    min-width: 0;
}

.post-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    font-size: 12px;
    color: #7b8784;
    margin: 10px 0;
}

.post-tags a {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef3ea;
    color: #2d3a39;
    font-weight: normal;
}

.related-posts {
    margin: 24px 0 20px;
    padding: 20px 0 0;
    border-top: 2px solid #EFF0F1;
}

.related-posts .box-title {
    font-weight: bold;
    font-size: 18px;
    line-height: 40px;
    margin: 0 0 8px;
    color: #2d3a39;
    border-bottom: 1px solid #EFF0F1;
}

.related-posts ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.related-posts li {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 6px 0;
    border-bottom: 1px solid #f2f4f2;
}

.related-posts li::before {
    content: '';
    flex-shrink: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #7aab2a;
    position: relative;
    top: -1px;
}

.related-posts li a {
    color: #2d3a39;
    font-size: 14px;
    text-decoration: none;
}

.related-posts li a:hover {
    color: #5a8a10;
    text-decoration: underline;
}


.post-title {
    font-weight: bold !important;
    font-size: 18px;
    line-height: 40px;
    padding: 0;
    margin: 0 0 10px;
    color: #2d3a39;
    background-color: inherit;
    border-bottom: 1px solid #EFF0F1;
}
.post-title a, .post-title a:visited {
    color: #2d3a39;
}
.post-title a:hover {
    color: #6f8f1f;
    background-color: #eee;
}
.post-footer {

}
.post-image {
    margin: 0 0 10px 0;
}

.post img {
    width: 100%;
    height: auto;
}

figcaption {
    background: #f3f3f3;
    padding: 2px 5px;
    font-style: italic;
}

.post-footer {
    /* background-color: #FAFAFA; */
    padding: 5px;
    margin: 15px 0 10px 0;
    border-top: 1px solid #f2f2f2;
    font-size: 12px;
}

.post-footer .date {
    background: url('images/clock.gif') no-repeat left center;
    padding-left: 20px; margin: 0 10px 0 5px;
}

.post-footer .comments {
    background: url('images/comment.gif') no-repeat left center;
    padding-left: 20px; margin: 0 10px 0 5px;
}

.post-footer .readmore {
    background: url('images/page.gif') no-repeat left center;
    padding-left: 20px; margin: 0 10px 0 5px;
}

/* pagination */
.pagination {
    list-style: none;
    margin: 20px 0 30px 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.pagination li {
    margin: 0;
}
.pagination a,
.pagination span {
    display: inline-block;
    padding: 6px 10px;
    border: 1px solid #e5e5e5;
    background: #fff;
    color: #555;
    font-weight: bold;
}
.pagination .current {
    background: #6f8f1f;
    border-color: #6f8f1f;
    color: #fff;
}

pre[class*="language-"] {
    padding: 2em 1em 1em;
    background: #272822;
    color: #f8f8f2;
    border-left: 5px solid #6f8f1f;
}

pre {
    background: #272822;
    color: #f8f8f2;
    line-height: normal;
    margin-bottom: 1.5em;
    padding: 15px;
    max-width: 100%;
    border-left: 5px solid #6f8f1f;
    overflow: auto;
    width: 100%;
}

code[class*="language-"],
pre[class*="language-"] {
    text-shadow: none;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
    color: #75715e;
}

.token.punctuation {
    color: #f8f8f2;
}

.token.namespace {
    opacity: 0.7;
}

.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
    color: #f92672;
}

.token.boolean,
.token.number {
    color: #ae81ff;
}

.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
    color: #e6db74;
}

.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string {
    color: #f8f8f2;
    background: none;
}

.token.atrule,
.token.attr-value,
.token.keyword {
    color: #f92672;
}

.token.function,
.token.class-name {
    color: #a6e22e;
}

.token.regex,
.token.important,
.token.variable {
    color: #fd971f;
}

.token.important,
.token.bold {
    font-weight: bold;
}

.token.italic {
    font-style: italic;
}

@media screen and (max-width: 467px) {
    .row {
        display: flex;
        flex-direction: column;
    }
    .col-4 {
        display: block;
        width: 100%;
        max-width: 100%;
        margin: 0 0 5px 0;
    }
}
