/* !Format: Lex Lexter <hi@leximo.cz> */

/*
  Titles
  ***
*/

h1, .--like-h1, 
h2, .--like-h2,
h3, .--like-h3, 
h4, .--like-h4, 
h5, .--like-h5, 
h6, .--like-h6 {
  margin: 54px 0 16px 0;
  font: 500 100% var(--font-secondary);
  color: var(--color-black-light);
}
h1, .--like-h1 {
  line-height: 1.25;
  font-size: 48px;
}
h2, .--like-h2 {
  line-height: 1.3;
  font-size: 40px;
}
h3, .--like-h3 {
  line-height: 1.35;
  font-size: 34px;
}
h4, .--like-h4 {
  line-height: 1.4;
  font-size: 28px;
}
h5, .--like-h5 {
  line-height: 1.45;
  font-size: 24px;
}
h6, .--like-h6 {
  line-height: 1.5;
  font-size: 20px;
}

/*
  - size
  ---
*/

.--like-h1--size-large {
  font-size: 64px;
}

/*
  Gaps
  ---
*/

h1:first-child,
h2:first-child, 
h3:first-child, 
h4:first-child, 
h5:first-child,
h6:first-child {
  margin-top: 0;
}

/*
  + subtitle
  ---
*/

.subtitle + h1, .subtitle + .--like-h1, 
.subtitle + h2, .subtitle + .--like-h2,
.subtitle + h3, .subtitle + .--like-h3, 
.subtitle + h4, .subtitle + .--like-h4, 
.subtitle + h5, .subtitle + .--like-h5, 
.subtitle + h6, .subtitle + .--like-h6 {
  margin-top: 16px;
}

/*
  Paragraphs
  ***
*/

p, 
address {
  margin-bottom: 16px;
  line-height: 1.65;
}
address {
  font-style: normal;  
}

/*
  Empty
  ---
*/

p:empty {
  display: none;
}

/*
  Lists
  ***
*/

li {
  position: relative;
  margin-bottom: 8px;
  line-height: 1.6;
}

/*
  Wrappers
  ---
*/

ul,
ol {
  margin: 0 0 16px 24px;
  list-style: none;
}
ul ul,
ul ol,
ol ul,
ol ol {
  margin: 6px 0 2px 20px;
}
ol {
  counter-reset: list;
}

/*
  Dot
  ---
*/

ul > li:before {
  content: '';
  width: 4px;
  height: 4px;
  position: absolute;
  left: -18px;
  top: 9px;
  border: 2px solid var(--color-primary-light);
  border-radius: 50%;
}

/*
  Number
  ---
*/

ol > li {
  counter-increment: list;
}
ol > li:before {
  content: counter(list) ".";
  position: absolute;
  left: -18px;
  top: 4px;
  color: var(--color-primary-light);
  font-weight: 700;
  font-size: 14px;
}

/*
  table
  ***
*/

table {
  width: 100%;
  margin: 24px 0;
}

/*
  Cells
  ---
*/

table th, 
table td {
  vertical-align: middle;
  padding: 16px 16px 16px 16px;
  border-top: 1px solid var(--color-outline-light);
  border-bottom: 1px solid var(--color-outline-light);
  line-height: 1.6;
}
table th {
  font-weight: 400;
}

/*
  thead
  ---
*/

table thead th, 
table thead td {
  padding-top: 0;
  padding-bottom: 12px;
  border-bottom-color: var(--color-primary-light);
  border-bottom-width: 2px;
  border-top: none;
  font-weight: 700;
  font-size: 15px;
  color: var(--color-black-light);
}

/*
  table
  ---
*/

.table {
  overflow-y: hidden;
  overflow-x: auto;
  margin: 24px 0;
}

/*
  + same
  ...
*/

table + table {
  margin-top: -26px;
}

/*
  Adjust TABLE
  ...
*/

.table table {
  min-width: 600px;
  margin: 0;
}

/*
  Images, captions
  ***
*/

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

/*
  - align
  ---
*/

img.--align-center, .caption.--align-center {
  display: table;
  margin: 24px auto 24px auto;
}
img.--align-right, .caption.--align-right {
  float: right;
  margin: 6px 0 24px 24px;
}
img.--align-center, .caption.--align-center {
  display: table;
  margin: 24px auto;
}
img.--align-none, .caption.--align-none {
  margin: 24px 0;
}

/*
  Rules
  ***
*/

hr {
  height: 1px;
  position: relative;
  display: block;
  clear: both;
  margin: 36px 0 32px 0;
  background-color: var(--color-outline-light);
  border: none;
}

/*
  STRONG
  ***
*/

strong {
  color: var(--color-black-dark);
}