/*
 *  2 - Typography ( _typography.scss )
 *
 *  This part of the (s)css handle everything related to the typography
 *  like paragraphs, blockquote, etc.
 *
*/

@import 'font-face';

/* 2.2 - Global Typography */

@mixin paragraph() {
  padding:0;
  padding-bottom: $lineheight;
  margin: 0;
}

body {
	font-family: $basefont;
	text-align: left;
  font-size:  $fontsize;
	line-height: $lineheight;
	color: $color-font;
  font-weight: $fontweight_base;
}

.night-mode {
  color: $color-light2;
}

strong {
	font-weight: $fontweight_bold;
}

em {
  font-style: italic;
  font-weight: $fontweight_base;
}


a, a:visited {
  color: $color-light;
  background-color: $color-link;
  text-decoration:none;
  padding:0.05rem;
  padding-left:0.25rem;
  padding-right:0.25rem;
  border-radius:0.1rem;
  &:hover, &:active, &:focus {
    color: $color-link;
    background-color: transparent;
    text-decoration:none;
  }
}

p {
  @include paragraph();
  &:last-child {
    padding-bottom:0;
  }
}

ul, ol {
  @include paragraph();
  list-style: disc;
  ul, ol {
    padding-bottom:0;
    margin:0;
  }
  li {
    margin:0;
    margin-left: $lineheight;
    line-height: $lineheight;
  }
}

::selection { background: $color-selection; color: $color-light; }
::-moz-selection { background: $color-selection; color: $color-light; }

/* 2.2 - Text Wrapper */

.container-article, .container-typographic {
  max-width: 800px;
  margin:auto;
  margin-bottom: 3rem;
}

.container-typographic {
  p {
    padding:0;
    margin:0;
    text-indent: 3rem;
  }

  p, em, p em {
    font-weight:$fontweight_base;
  }

  img {
    max-width: 100%;
    height: auto;
  }

  .article-thumbnail {
    padding-bottom: 1em;
    text-align: center;
    img {
      max-width: 100%;
      height: auto;

    }
  }
  .article-excerpt {
    padding: 0.5em 0.5em 0.5em 0.5em;
    font-style: italic;
  }
  .article-author {
    margin:0;
    padding:0;
    .card-meta {
      margin:0;
    }
  }

  .bypass-flex-fontsize {
    line-height: $lineheight;
  }
}

article.maintext {
  padding-bottom: $lineheight;
}

/* 2.3 - Titles */

@mixin newTitle($font, $size, $weight) {
  $lineNumber: ceil($size / 1.5);
  font-family: $font;
  font-size: $size * 1rem;
  line-height: $lineNumber  * $lineheight;
  padding: 0;
  padding-bottom: $lineheight;
  font-weight: $weight;
}

h1, h2, h3, h4, h5, h6, h7 {
  font-family: $basefont;
  text-align: left;
	font-size: 1em;
	padding:0;
	margin:0;
	font-weight: $fontweight_base;

	&.page-title {
    color: $color-primary;

    i {
      font-size: 0.55em;
      position: relative;
      top: -0.175em;
    }

    &-flex {
      display: flex;
      flex-direction: row;
      justify-content: space-between;
      & > span, & > i, & > a {
        display: block;
      }

      & > a {
        color: $color-primary;
        &:hover, &:focus, &:active {
          color: darken($color-primary, 10%);
        }
      }
    }
  }
}

h1 {
  //@include title(3.33em, 1.2em, 0.0em, 0.2em, 200);
  @include newTitle($titlefont, 3.815, $fontweight_big);
  color: $color-primary;
}

h2 {
  //@include title(2.725em, 1.125em, 0em, 0.5625em, 200);
  @include newTitle($basefont, 2.441, $fontweight_big);
}

h3 {
  @include newTitle($basefont, 1.953, $fontweight_bold);
}

h4 {
  @include newTitle($basefont, 1.563, $fontweight_hyper);
}

h5 {
  @include newTitle($basefont, 1.25, $fontweight_bold);
}

h6 {
  @include newTitle($basefont, 1, $fontweight_hyper);
}

/* 2.4 - hr */

hr {
	border-top: 0px;
	border-left: 0px;
	border-right: 0px;
	border-bottom: 1px;
	border-color: rgba(1,1,1,0.15);
	border-style: solid;
	margin: 1.5em;
}

/* 2.5 - Wells and quotes */

@mixin well() {
  border-width: 0 0 0 0em;
  border-style: none;
  border-radius: 0px;

  margin:  0 0 $lineheight 0;
  padding: $lineheight 1rem $lineheight 1rem;

  max-width: 100%;
  background-color: $color-light2;
  font-style: italic;
  color: $color-dark2;
}

blockquote, .quote {
  @include well();
  &:before {
    content:"";
  }
}

.well, pre, .pre, .well-pre {
  @include well();
}



code {
  background:transparent;
  color: $color-red;
}

.small-text {
  font-size: 0.9em;
}


/* 2.6 - Special styling */

mark {
  border-radius: 0.2em;
  padding:0 0.2em 0 0.2em;

  background-color: lighten($color-mark, 30%);
  color: inherit;
}

.night-mode mark {
  background-color: $color-primary;
}

.time {
	font-style: italic;
	text-align: right;
	width: 100%;
	display: block;
}

/* Table elements */

@mixin table-color($text-color) {
  th {
    color: $text-color;
  }
}

table {
  border-collapse: collapse;
}

table, th, td {
  border: 0;
  padding:0px;
  margin:0px;
}

th, td {
  vertical-align:center;
  padding-top: 0.325em;
  padding-bottom: 0.325em;
}

th  {
  font-weight: $fontweight_hyper;
}

.table {
  &-blue { @include table-color($color-blue); }
  &-violet { @include table-color($color-violet); }
  &-red { @include table-color($color-red); }
  &-orange { @include table-color($color-orange); }
  &-green { @include table-color($color-green); }
  &-skyblue { @include table-color($color-skyblue); }
  &-dark { @include table-color($color-dark); }
  &-light { @include table-color($color-light); }
  &-yellow { @include table-color($color-yellow); }
  &-grey { @include table-color($color-grey); }

  &-primary { @include table-color($color-primary); }
  &-secondary { @include table-color($color-secondary); }
  &-warning { @include table-color($color-warning); }
  &-danger { @include table-color($color-danger); }
  &-info { @include table-color($color-info); }
  &-success { @include table-color($color-success); }
}
