:root {
    /* Colors */
    --primary-color: #fc1c6a;
    --black: #000000;
    --white: #FFFFFF;
    --gray700: #899ebc;
    --gray500: #d3dce9;
    --gray300: #f1f4f8;
    /* Font sizes */
    --small: 0.75rem;
    --text-content: 1.1rem;
    --large: 2rem;
    --xlarge: 2.6rem;
    --xxlarge: 3rem;
    --title: 2.5rem;
    /* Responsive */
    --desktop: 1024px;

    /*Line-height*/
    --golden-ratio: 1.68;

    /*Fonts*/
    --font-poppins: 'Poppins', sans-serif;
    --font-sans: 'Open Sans', sans-serif;
}

@keyframes fadeIn {
  0% {opacity: 0;}
  100% {opacity: 1;}
}

* {
    box-sizing: border-box;
}

body {
    font-family: var(--font-poppins);
    color: var(--black);
    background: var(--white);
    width: 100vw;
    margin: 0 auto;
    max-width: 1400px;
}

figure {
    margin: 0;
}

figcaption {
    color: var(--gray700);
    font-size: var(--small);
    padding: 0 calc(var(--golden-ratio) * 1rem);
}

img {
    max-width: 100%;
}

strong {
    font-weight: 800;
}

svg {
    min-height: 1rem;
    min-width: 1rem;
}

h2 {
    margin-block-start: 1.5em;
    margin-block-end: .75em;
}

/******************************
* Header
/******************************/

.page-heading {
    display: flex;
    padding: calc(var(--golden-ratio) * 1rem);
}

@media (min-width: 1024px) {
    .page-heading {
        padding: 3rem calc(var(--golden-ratio) * 1rem);
    }
}

.page-heading .page-title {
    flex: 1;
    margin: 0;
}

.page-heading .page-logo {
    max-width: 130px;
}


.header-menu {
    display: block;
}

/******************************
* Blog title
/******************************/

.blog-title {
    font-size: var(--title);
    font-weight: bold;
    color: var(--black);
    text-decoration: none;
    text-align: center;
    margin-top: 6rem;
    margin-bottom: .5rem;
}

@media (min-width: 1024px) {
    .blog-title {
        font-size: calc(var(--title) * 2);
    }
}

.clear-tag {
    display: block;
    text-align: center;
    color: var(--black);
    text-decoration: none;
    margin-bottom: 1rem;
}

/******************************
* Nav
/******************************/

@media (min-width: 1024px) {
    .page-nav {
        display: flex;
        align-items: center;
    }

    .page-nav>a {
        color: var(--black);
        text-decoration: none;
        padding: 1rem;
    }

    .page-nav>a:hover {
        color: var(--primary-color);
    }

    .page-nav>.header-close-menu-button,
    .header-menu-button {
        display: none;
    }
}

@media (max-width: 1024px) {
    .page-nav {
        display: flex;
        flex-direction: column;
        position: fixed;
        top: 0;
        left: 0;
        transform: translateX(100%);
        height: 100vh;
        width: 100vw;
        background: var(--white);
        justify-content: center;
        align-items: center;
        will-change: transform;
        transition: all .3s ease-in-out;
    }

    .page-heading > .header-menu-button {
        all: initial;
        cursor: pointer;
        width:calc(var(--golden-ratio) * 1rem);
    }

    .page-nav.display-menu {
        transform: translateX(0);
    }

    .page-nav>.header-close-menu-button {
        all: initial;
        height: calc(var(--golden-ratio) * 1rem);
        position: absolute;
        right: 2rem;
        stroke: var(--primary-color);
        stroke-width: 2px;
        top: 3rem;
        width: calc(var(--golden-ratio) * 1rem);
    }

    .page-nav>a {
        color: var(--black);
        font-weight: bold;
        text-decoration: none;
        font-size: var(--large);
        line-height: 0.8;
        padding: 1rem;
    }
}


/******************************
* Tags
/******************************/

.post-tag-list,
.main-tag-list {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    list-style-type: none;
    margin: 0;
    padding: 0;
    margin-bottom: 2rem;
}

.post-tag-list {
    justify-content: flex-start;
    margin-bottom: calc(var(--golden-ratio) * 1rem);
}

.post-tag-list>.post-tag-list-item,
.main-tag-list>.main-tag-list-item {
    font-size: var(--small);
    margin: .7rem .25rem;
}

.post-tag-list>.post-tag-list-item>a,
.main-tag-list>.main-tag-list-item>a {
    background: var(--gray300);
    border-radius: 2px;
    color: var(--gray700);
    font-weight: bold;
    padding: 0.5rem;
    text-decoration: none;
}

.post-tag-list>.post-tag-list-item>a:hover,
.main-tag-list>.main-tag-list-item>a:hover {
    background: var(--gray700);
    color: var(--white);
}

/******************************
* Post List
/******************************/

.post-list {
    padding: calc(var(--golden-ratio) * 1rem);
}

@media (min-width: 1024px) {
    .post-list {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }
}

.post-list-item {
    margin-bottom: 2rem;
    padding-bottom: 2rem;
    border-bottom: 1px solid var(--gray500);
    animation: fadeIn .4s linear;
}

@media (min-width: 1024px) {
    .post-list-item {
        border-right: 1px solid var(--gray500);
        margin-bottom: 0;
        padding: calc(var(--golden-ratio) * 1rem);
    }
    .post-list-item:nth-child(3n) {
        border-right: none;
    }
}

.post-list-item .post-title a {
    font-size: var(--large);
    line-height: 1.25;
    line-break: calc(var(--golden-ratio) * 1rem);
    color: var(--primary-color);
    text-decoration: none;
}

.post-list-item .post-title a:hover {
    color: var(--black);
}

/******************************
* Pagination
/******************************/
.pagination {
  padding-bottom: 2rem;
  display: flex;
  flex-direction: row;
  justify-content: center;
}

.pagination .show-more {
  border: 1px solid var(--primary-color);
  box-shadow: 2px 2px 4px var(--gray500);
  border-radius: 4px;
  cursor: pointer;
  padding: .5rem 1rem;
  color: var(--primary-color);
  background: var(--white);
  font-weight: 600;
  line-height: var(--golden-ratio);
  font-family: var(--font-poppins);
  font-size: var(--text-content);
  transition: all .3s ease;
}

.pagination .show-more:hover {
  color: var(--white);
  background: var(--primary-color);
}
/******************************
* Author
/******************************/

.post-author {
    display: flex;
    margin-bottom: calc(var(--golden-ratio)/2 * 1rem);
}

.post-author-image-container {
    height: 50px;
    width: 50px;
    margin-right: 0.5rem;
    border-radius: 50%;
    border: 3px solid transparent;
}

.post-author-image {
    border-radius: 50%;
    height: 100%;
    width: 100%;
}

.post-author-data {
    flex: 1;
    margin: 0;
    padding: 0;
    list-style-type: none;
}

.post-author-data a {
    color: var(--black);
    text-decoration: none;
}

.post-author-data li:last-child {
    color: var(--gray700);
}

/******************************
* Post Single
/******************************/

.post-single {
    padding: calc(var(--golden-ratio) * 1rem);
    max-width: 900px;
    margin: 0 auto;
    margin-bottom: 3rem;
}

.post-single>.post-header {
    margin-bottom: 3rem;
}

.post-single .post-title-container {
    margin-bottom: calc(var(--golden-ratio) * 1rem);
}

.post-single .post-title,
.post-single .post-title-breadcrumb {
    font-size: var(--large);
}

.post-title-breadcrumb {
    display: none;
}

.post-single .post-title {
    color: var(--black);
    display: inline;
}

.post-single .post-title-breadcrumb {
    color: var(--gray700);
    text-decoration: none;
}

.post-single-has-featured-image {
    display: flex;
    flex-direction: column;
}

.post-single-has-featured-image header {
    order: 2;
    padding: calc(var(--golden-ratio) * 1rem);
}

.post-single-has-featured-image .post-tag-list {
    margin-bottom: 0;
}

.post-single-has-featured-image figure {
    order: 1;
}


@media (min-width: 1024px) {
    .post-single .post-title,
    .post-single .post-title-breadcrumb {
        line-height: 1.2;
    }
    .post-single .post-title {
        padding-right: 20%;
        font-size: var(--xxlarge);
    }

    .post-single>.post-header {
        margin-bottom: 5rem;
    }

    .post-single-has-featured-image {
        display: flex;
        flex-direction: row;
    }

    .post-single-has-featured-image header {
        order: 1;
        flex: 1;
        flex-shrink: 0;
    }

    .post-single-has-featured-image figure {
        order: 2;
        flex: 1;
    }
}

.post-content {
    font-weight: 300;
    line-height: var(--golden-ratio);
    font-family: var(--font-sans);
    font-size: var(--text-content);
    margin: 1.7rem 0;
}

/* Post content */

.post-content a {
    color: var(--primary-color);
    text-decoration: none;
    font-weight: bold;
}

.post-content a:hover {
    text-decoration: underline;
}

.post-content>.video-container {
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    position: relative;
}

.post-content>.video-container iframe {
    height: 100%;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.post-content p {
    margin-bottom: 2.2rem;
}

.post-content > blockquote {
    margin: 2rem 2rem;
    border-left: 8px solid var(--primary-color);
    padding-left: 16px;
}

.post-content p {
    margin-bottom: 1rem;
}

.post-content blockquote blockquote {
    font-style: italic;
}
.post-content blockquote footer {
    text-align: end;
}
.post-content blockquote footer strong {
    font-style: normal;
}
.post-content blockquote footer cite {
    font-style: italic;
    margin-left: .5rem;
}

/******************************
* Featured posts
/******************************/

.featured-posts-container {
    border-top: 1px solid var(--gray500);
}

/* Extends Post List */

.featured-posts {
    margin-bottom: 3rem;
}

.featured-posts-read-next {
    color: var(--gray500);
    padding: calc(var(--golden-ratio) * 1rem);
    text-transform: uppercase;
    margin: 0;
}

.featured-posts .post-list-item {
    padding: calc(var(--golden-ratio) * 1rem);
}

@media (min-width: 1024px) {
    .featured-posts {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
    }

    .featured-posts .post-list-item {
        border-bottom: 0;
    }
}

/******************************
* Comments
/******************************/

.comments-container {
    border-top: 1px solid var(--gray500);
}

.comments {
    padding: calc(var(--golden-ratio) * 1rem);
    margin-bottom: 3rem;
}

.comments-read-next {
    color: var(--gray500);
    padding: calc(var(--golden-ratio) * 1rem);
    text-transform: uppercase;
    margin: 0;
}

/******************************
* Footer
/******************************/

.page-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    padding: calc(var(--golden-ratio) * 1rem);
}

@media (min-width: 1024px) {
    .page-footer {
        flex-direction: row;
        padding: 3rem calc(var(--golden-ratio) * 1rem);
    }
}

/* Logo */
.page-footer .page-title {
    margin: 0;
    flex: 1;
}

.page-footer .page-title>a {
    display: flex;
    align-items: center;
    align-content: center;
    text-align: center;
}

.page-footer .page-logo {
   width: 130px;
}

/* footer info */
.page-footer .info-footer {
    align-items: center;
    display: flex;
    flex: 2;
    flex-direction: column;
    font-size: var(--text-content);
    justify-content: center;
    text-align: center;
    padding: 1.5rem 0;
}

.page-footer .info-footer .links-footer {
    display: flex;
    flex-direction: column;
}

.page-footer .info-footer .links-footer>span {
    display: none;
}

.page-footer .info-footer .links-footer>a {
    display: block;
    color: var(--primary-color);
    font-weight: 600;
    text-decoration: none;
}

.page-footer .info-footer .links-footer>a:hover {
    color: var(--primary-color);
    text-decoration: underline;
}

@media (min-width: 1024px) {
    .page-footer .info-footer {
        flex-direction: row;
    }
    .page-footer .info-footer .links-footer {
        flex-direction: row;
    }
    .page-footer .info-footer .links-footer>span {
        display: block;
    }
}

/* Social */
.page-footer .social {
    flex: 1;
    display: flex;
    justify-content: flex-end;
}
.page-footer .social a {
  margin: 0 1rem;
  text-decoration: none;
}
.page-footer .social svg {
  fill: var(--black);
  width: 35px;
  height: 35px;
}
.page-footer .social svg:hover {
  fill: var(--primary-color);
}

/******************************
* Tip
/******************************/

.tip {
    display: flex;
    margin-bottom: calc(var(--golden-ratio)/2 * 1rem);
    border: 1px solid black;
    margin: 1rem 0;
    align-items: center;
}

.tip-image-container {
    height: 50px;
    width: 50px;
    margin: 1rem;
}

.tip-image {
    height: 100%;
    width: 100%;
}

.tip-data {
    flex: 1;
    margin: 0;
    margin-right: .5rem;
    padding: 0;
    list-style-type: none;
    word-break: break-word;
}

/******************************
* Update
/******************************/

.icon-section,
.update {
    display: flex;
    margin-bottom: calc(var(--golden-ratio)/2 * 1rem);
    border: 1px solid black;
    margin: 1rem 0;
    padding: 1rem 1rem 0 1rem;
    align-items: center;
}

.icon-section {
    border: none;
}

.update-title {
    font-weight: bold;
    font-size: 1.2rem;
}

.icon-section-image-container,
.update-image-container {
    align-self: flex-start;
    height: 50px;
    width: 50px;
    margin-right: 1rem;
}

.icon-section-image,
.update-image {
    height: 100%;
    width: 100%;
}

.icon-section-data,
.update-data {
    flex: 1;
    margin: 0;
    margin-right: .5rem;
    padding: 0;
    list-style-type: none;
    word-break: break-word;
}

/******************************
* Icon section
/******************************/

.icon-section {
    display: flex;
    margin-bottom: calc(var(--golden-ratio)/2 * 1rem);
    border: none;
    margin: 1rem 0;
    padding: 1rem 1rem 0 1rem;
    align-items: center;
}

.icon-section-image-container {
    align-self: flex-start;
    height: 50px;
    width: 50px;
    margin-right: 1rem;
}

.icon-section-image {
    height: 100%;
    width: 100%;
}

.icon-section-data {
    flex: 1;
    margin: 0;
    margin-right: .5rem;
    padding: 0;
    list-style-type: none;
    word-break: break-word;
}
.icon-section-data p {
  margin-top: 0.5rem;
}

/******************************
* Custom classes
/******************************/

img.center,
img.right,
img.left {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 1024px) {
  img.left {
    float: left;
    margin-right: 1.5rem;
    width: 15rem;
  }

  img.right {
    float: right;
    margin-left: 1.5rem;
    width: 15rem;
  }
}

/******************************
* hexo-tag-twitter
/******************************/

.twitter-wrapper {
  display: flex;
  justify-content: center;
}

/******************************
* Highlighted Text
/******************************/

.highlighted-container {
    background: #F5F5F5;
    padding: 1.5rem;
    margin-bottom: 1rem;
}


.highlighted-container h2 {
    font-family: Open Sans;
    font-style: normal;
    font-weight: 600;
    font-size: 18px;
    line-height: 25px;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
    position: relative;
}

.highlighted-container h2::before {
    background: #E80051;
    bottom: 0;
    left: 0;
    content:'';
    height: 4px;
    position: absolute;
    width: 3rem;
}

.highlighted-container .highlighted-content {
    font-family: Open Sans;
    font-style: normal;
    font-weight: 300;
    font-size: 18px;
    line-height: 25px;
    margin-bottom: 4rem;
}

.highlighted-container .highlighted-content:last-child {
    margin-bottom: .5rem;
}

@media (min-width: 1024px) {
    .highlighted-container {
        padding: 3rem 4rem;
    }
}

