:root {
  /* Colours */
  --main: var(--ghost-accent-color);
  --main-hover: var(--main);
  --main-light: #efefef;
  --dark-grey: #222;
  --default-text: #555;
  --grey: #888;
  --light-grey: #ccc;
  --lightest-grey: #f8f8f8;
  --bg-grey: #F9FAFC;
  --page-bg: #fff;
  --green: #a4d037;
  --red: #f05230;
  --input-bg: var(--page-bg);
  --color-secondary: #FFBC00;
  /* Misc */
  --box-corner-radius: 10px;
  /* Fonts */
  --font-serif: 'Droid Serif', serif;
  --font-sansserif: 'Montserrat', sans-serif;
}


* {box-sizing: border-box;}

body { 
  margin: 0;
  padding: 0;
  font: 16px/1.4 var(--font-serif);
  color: var(--default-text);
  background-color: var(--page-bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

@media (max-width: 500px) {
  body { font-size: 15px }
}


@font-face {
    font-family: 'Droid Serif';
    src: url('fonts/droidserif-bold-webfont.woff2') format('woff2'),
         url('fonts/droidserif-bold-webfont.woff') format('woff');
    font-weight: 600;
    font-style: normal;

}

@font-face {
    font-family: 'droid_serifbold_italic';
    src: url('fonts/droidserif-bolditalic-webfont.woff2') format('woff2'),
         url('fonts/droidserif-bolditalic-webfont.woff') format('woff');
    font-weight: 600;
    font-style: italic;

}

@font-face {
    font-family: 'Droid Serif';
    src: url('fonts/droidserif-italic-webfont.woff2') format('woff2'),
         url('fonts/droidserif-italic-webfont.woff') format('woff');
    font-weight: normal;
    font-style: italic;

}

@font-face {
    font-family: 'Droid Serif';
    src: url('fonts/droidserif-regular-webfont.woff2') format('woff2'),
         url('fonts/droidserif-regular-webfont.woff') format('woff');
    font-weight: normal;
    font-style: normal;

}


h1, h2, h3, h4 { color: var(--dark-grey); }
h1 {font-size: 2.5rem; }
.fs24 { font-size: 1.5rem }
.fs14 { font-size: 0.875rem; }
.fsinitial {font-size: 1rem}
.fs20 { font-size: 1.25rem; }
.fs20 { font-size: 1.25rem; }
.fs32 { font-size: 2rem; }
.lhtitle {line-height: 1.2}
.tc{text-align: center;}
.tl{text-align: left;}
.tr{text-align: right;}
.b{font-weight: bold;}
.normal { font-weight: normal; }
.font-ss {font-family: var(--font-sansserif)}
.ttu {text-transform: uppercase;}

hr { border: 0; border-top: 1px solid var(--light-grey);margin: 3rem 0 }

img { max-width: 100%; }

a:link,
a:visited { 
  color: var(--main);
  transition: border-color 0.3s;
}

a.nolink { text-decoration:none }


.container { max-width: 1400px; margin-left: auto; margin-right:auto; padding: 0 1rem; }
.container--narrow { max-width: 800px; }

.mb0 {margin-bottom: 0}
.mb1 {margin-bottom: 1rem}
.mb2 {margin-bottom: 2rem}
.mb3 {margin-bottom: 3rem}
.mb4 {margin-bottom: 4rem}
.mt0 {margin-top: 0;}
.mt1 {margin-top: 1rem}
.mt2 {margin-top: 2rem}
.mt3 {margin-top: 3rem}
.mt4 {margin-top: 4rem}
.mt6 {margin-top: 6rem}

.color-grey, .color-grey a:link, .color-grey a:visited { color: var(--grey); border-color: var(--grey); }

.tag { padding: 1px 4px; display: inline-block; background-color: var(--main-light); border-radius: 3px }

pre {overflow: auto;padding: 1em;background-color: var(--main-light); border-radius: 3px;}
pre code { padding: 0 }
code { padding: 0.12em 0.25em; color: var(--dark-grey); background-color: var(--main-light); font-size: 0.88em; font-family: monospace; border-radius: 3px;}

button, .button, input, select, textarea { 
  width: 100%;
  margin-bottom: 0.5rem; 
  appearance:none; 
  -webkit-appearance: none; 
  -moz-appearance: none; 
  font-size: inherit; 
  font-family: inherit;
  color: inherit; 
  border-radius: 3px;
  line-height: 32px;
  padding: 6px 14px;
}
input {
  border: 1px solid var(--light-grey);
  background-color: var(--input-bg);
}
input:focus{
  outline:none;
  border-color: var(--grey)
}
button, .button {
  border: 1px solid var(--main); 
  cursor: pointer; 
  background-color: var(--main);
  color: #fff !important;
  white-space: nowrap;
}
button:not([disabled]):hover, .button:not([disabled]):hover  { 
  background-color: var(--main-hover);
  border-color: var(--main-hover);
  color: #fff !important;
  transition: background-color 0.3s, border-color 0.3s; 
}


/* Nav */

.page-head { padding: 2rem 0; background-color: #111; color: #fff}
ul.nav { padding-left: 0;list-style: none;margin: 0}
ul.nav li a {border:0;}
ul.nav li { display: inline-block;margin-right:1rem; }
.nav-current, .nav-current-parent {font-weight: bold}
.head__logo {color: #fff;margin-bottom: 1rem}
.head__logo a {color: currentColor; text-decoration: none;font-weight: bold}
@media (min-width:681px) {
  .page-head .container {display: flex;align-items: center}
  .head__logo {width: 40%;margin-bottom: 0}
  .head__nav {width: 60%;display: flex;justify-content: flex-end;align-items: center;}
  ul.nav li {margin-right:0;margin-left:1rem; }
  footer ul.nav li { margin: 0 0.5rem; }
}


/* Home */

.home-header {
  background-color: var(--bg-grey);
  border-bottom: 1px solid var(--light-grey);
}

.home-header .col {
  padding: 4rem 0 4rem;
}

.product__logo { height: 28px }

@media (max-width: 740px) {
  .home-cols .col + .col {
    margin-top: 4rem;
  }
}
@media (min-width: 741px) {
  .home-cols {
    display: flex;
    justify-content: space-between;
  }

  .home-cols .col:first-of-type {
    border-right: 1px solid var(--light-grey);
    padding-right: 3rem;
    width: 55%;
  }

  .home-cols .col:last-of-type {
    padding-left: 3rem;
    width: 45%;
  }
}

.home-logo {
  width: 110px;
  height: 110px;
  border-radius: 64px;
}

.products-wrap {
  padding: 3rem;
  background-color: var(--page-bg);
}

.load-more {
  background-color: #fff;
  color: var(--ghost-accent-color) !important;
  text-decoration: none;
  font-weight: bold;
  padding: 1.25rem 1.5rem;
  box-shadow: 0 0 10px rgba(0,0,0,0.1);
  border: 0;
  border-radius: 0;
}


/* Post list */

.posts {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

.post-image-wrap {
  display: block;
  padding-bottom: 67%;
  background-repeat: no-repeat;
  background-size: cover;
}

.post-card__meta {
  display: flex;
  justify-content: space-between;
}

.post-card {
  width: 100%;
}

.post-card--minimal > a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  border-bottom: 1px solid var(--light-grey);
  padding-bottom: 1.5rem;
  padding-top: 0.5rem;
}
.post-card__left {
  width: 130px;
}
.post-card__center {
  flex: 1;
}
.post-card__right {
  width: 130px;
}

@media (min-width: 741px) {
  .posts {
    margin-left: -1rem;
    margin-right: -1rem;
    width: calc(100% + 2rem);
  }
  .post-card {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  .post-card--full {
    width: calc(33.3333% - 2rem);
  }
}


/* Post */

.post-profile {
  display: flex;
}

.post-profile__avatars {
  margin-right: 1rem;
  flex: 0 0 auto;
}
.post-profile__avatars .author-avatar {
  width: 56px;
  height: 56px;
  border: 3px solid var(--page-bg);
}
.post-profile__avatars .author-avatar+.author-avatar {
  margin-left: -1rem;
}

.post-date {
  color: var(--color-secondary);
}

.post-content:not(.page) { margin: 3rem auto;line-height: 1.6}


.post-arrows { display: flex; justify-content: space-between; }
.post-nav {width: 50%}


.post-content pre,
.post-content blockquote,
.post-content .kg-card,
.post-content table,
.post-content ul,
.post-content ol {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.post-content h2,
.post-content h3,
.post-content h4,
.post-content h5,
.post-content h6 {
  margin-top: 2rem;
  margin-bottom: 0;
}

.post-content p {
  margin-bottom: 1.5rem;
  margin-top: 0.5rem;
}

.post-content blockquote {
  padding: 0.5rem 1.5rem;
  font-size: 1.2rem;
}

.post-content blockquote:not(.kg-blockquote-alt) {
  margin-left: 0;
  border-left: 0.5rem solid var(--main-light);
}

.post-content table {
  border-spacing: 0;
  border-collapse: collapse;
  width:100%;
  font-size: 0.88em;
}
.post-content table th,
.post-content table td {
  padding: 0.5rem;
  border: 1px solid var(--light-grey);
}
.post-content table tr:nth-of-type(2n) {
  background-color: var(--lightest-grey);
}



.subscribe-box {
  padding: 1rem 3rem;
  background-color: var(--bg-grey);
  border-radius: var(--box-corner-radius);
}


/* Post cards */


.kg-width-wide,
.kg-width-full {
  position: relative;
  min-width: 100%;
  max-width: 1048px;
  width: 80vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  transform: translateX(calc(50vw - 50%));
}

.kg-width-full {
  width: 100vw;
  max-width: none;
}

article figure {
  margin: 0;
}

article figcaption {
  text-align: center;
}


.kg-bookmark-card {
  width: 100%;
  margin: 3rem 0;
  position: relative;
}

a.kg-bookmark-container {
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  color: currentColor;
  font-family: inherit;
  text-decoration: none;
  border: 1px solid rgba(0, 0, 0, 0.1) !important;
  border-radius: var(--box-corner-radius);
  color: var(--color-default);
}

a.kg-bookmark-container:hover {
  text-decoration: none;
  color: var(--color-grey)
}

.kg-bookmark-content {
  width: 100%;
  padding: 1rem;
  order: 1;
  color: var(--dark-grey);
  background-color: var(--color-lightest-grey);
  border-radius: 0 0 var(--box-corner-radius) var(--box-corner-radius);
}

.kg-bookmark-title {
  font-weight: 600;
}

.kg-bookmark-metadata,
.kg-bookmark-description {
  margin-top: .5em;
}

.kg-bookmark-metadata {
  align-items: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.kg-bookmark-description {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.kg-bookmark-icon {
  display: inline-block;
  width: 1em;
  height: 1em;
  vertical-align: text-bottom;
  margin-right: .5em;
  margin-bottom: .05em;
}

.kg-bookmark-thumbnail {
  display: flex;
  width: 100%
}

.kg-bookmark-thumbnail img {
  max-width: 100%;
  height: auto;
  max-height: 370px; /* Fix weird heights mobile */
  vertical-align: bottom;
  object-fit: cover;
  box-shadow: none;
  border-radius: var(--box-corner-radius) var(--box-corner-radius) 0 0;
}

@media (min-width: 601px) {

  .kg-bookmark-thumbnail {
    width: 36%;
  }
  .kg-bookmark-content {
    width: 64%;
    border-radius: var(--box-corner-radius) 0 0 var(--box-corner-radius);
  }

  .kg-bookmark-thumbnail img {
    border-radius: 0 var(--box-corner-radius) var(--box-corner-radius) 0;
  }
}


.kg-bookmark-author {
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}

.kg-bookmark-publisher::before {
  content: "•";
  margin: 0 .5em;
}



.kg-image-card figcaption,
.kg-gallery-card figcaption {
    margin: 0 0 1.5em;
    font-size: 0.88em;
}

.kg-image-card img {
  height: auto;
}

.kg-embed-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 1.5em 0 3em;
    min-width: 100%;
}

.kg-embed-card figcaption {
    margin: 0.5em 0 0;
}

.kg-embed-card .fluid-width-video-wrapper {
    margin: 0;
}


.kg-image-full + figcaption {
    padding: 0 1.5em;
}


@media (max-width: 1040px) {
    .post-full-content .kg-width-full .kg-image {
        width: 100vw;
    }
}

.kg-gallery-container {
    display: flex;
    flex-direction: column;
    margin: 1.5em auto;
    max-width: 1040px;
    width: 100%;
}

.kg-gallery-row {
    display: flex;
    flex-direction: row;
    justify-content: center;
}
.kg-gallery-image img {
    display: block;
    margin: 0;
    width: 100%;
    height: 100%;
}

.kg-gallery-row:not(:first-of-type) {
    margin: 0.75em 0 0 0;
}

.kg-gallery-image:not(:first-of-type) {
    margin: 0 0 0 0.75em;
}


/* Author */

.author-avatar {
  width: 110px;
  height: 110px;
  border-radius: 64px;
}



/* Forms */

form label,
form input,
form select,
form textarea,
form button {
  display: block;
  width: 100%;
}

form label { font-weight: bold; margin: 1rem 0 0.5rem; }
form textarea { min-height: 100px; }

.form-flex {
  display: flex;
  box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}
.form-flex button {
  width: auto;
}

.form-stacked {
  flex-direction: column;
  max-width: 480px;
  margin-right: auto;
  margin-left: auto;
}

form .button-loader,
.button .button-loader {
  display: none;
}

form.loading .button-loader,
.button.loading .button-loader {
  display: inline-block;
}
form.loading .button-content,
.button.loading .button-content {
  display: none;
}
.button {
  border-bottom: none;
}

form .success-message {
  display: none;
  border: 1px solid limegreen;
  padding: 1rem;
}
form.success .success-message {
  display: block;
}
form.success .form-body {
  display: none;
}

label { font-weight: bold; }

.form-flex input,
.form-flex button {
  border: 0;
  border-radius: 0;
  margin-bottom: 0;
}

.home-header .form-flex input,
.home-header .form-flex button {
  padding: 1.25rem;
}

.head__nav form input {
  max-width: 240px;
}


/* Footer */

footer.container {margin-top: 6rem;}

.footer__nav a {
  text-decoration: none;
}

.input-email {
  color: black; /* Changes the text color to black */
  background-color: white; /* Ensures the background remains white */
}
