@import url('https://fonts.googleapis.com/css?family=Pt+Sans|Source+Serif+Pro');

h1, h2, h3, h4 { border:none; font-weight: 700;}
h2 { font-size: 2em; text-align: center;}
body {padding: 0px;margin: 0px;}
p {font-size: 1.5em;}

header h1 {
  font-size: 3.6em;
  font-weight: 900;
  font-style: Lora;
}

  h1 span {
    font-size: 0.6em;
    font-family: Source Sans Pro;
    line-height: 0.6em;
  }

header.row { margin: 0px;}

/* linck main sait */
header > div:first-child {
    background-color: #005B99;
    text-align: center;
    color: #ffffff;
    min-height: 50px;
}

    .es-main-site a {
       font-size: 1em;
       color: #ffffff;
       display: block;
    }

        .es-main-site a:hover {
           color: #ffffff;
           text-decoration: none;
       }

    .es-main-site img{
       height: 50px;
       margin-right:15px;
    }

/* блочные элементы*/
.ex-block {
  min-height: 100vh;
  padding: 0px;
  margin: 0px;
  padding-top: 25vh;
}

.ex-block-full {
  min-height: 100vh;
  padding: 0px;
  margin: 0px;
}

.ex-block-auto {
  padding: 50px 0px;
  margin: 0px;
}

.ex-block-padding {
  padding:50px 0px;
}


   .ex-full-left-img {
    width: 100%;
    width:calc(100% + 30px);
    margin-left: -15px;
  }

.ex-img-block {
  position: relative;
   text-align: center;
   padding: 0px;
   background-position: center;
   background-repeat: no-repeat;
   background-size: cover;
}
  .ex-img-block-100{
    height: 100vh;
  }
  .ex-img-block .info {
    display: none;
    position: absolute;
    bottom: 0px;
    top:0px;
    font-size: 2em;
    padding: 45% 25px 0px 25px;
    width: 100%;
  }
  .ex-img-block:hover .info {
    display: block;
    background-color: rgba(122, 122, 122, 0.5);
  }

/* слайдер - карусель */
.ts-foto-list.ex-book-list img {
  cursor: pointer;
  height: 300px;
}

.carousel {
  padding-bottom: 30px;
}

.carousel img {
  margin: auto;
  max-height: 100vh;
  max-width: 100%;
}

  .carousel .carousel-indicators {
    bottom: -5px;
  }

  .carousel .carousel-indicators li {
    border-color: rgb(28, 38, 48);
    border-width: 2px;
  }

/* отдельные стили */
.ex-large {
  font-size: 1.5em;
}

.ex-img-500h img { max-height: 500px;}
.carousel { min-height: 150px;}

/* цветовые схемы */
.ex-color-main.ex-background, .ex-color-main .ex-background  {
  background-color: rgb(28, 38, 48);
}
  .ex-color-main h1, .ex-color-main h2, .ex-color-main h3 {
    color: rgb(255, 255, 255);
  }
  .ex-color-main { color: rgb(238, 238, 238);}
  .ex-color-main blockquote::after, .ex-color-main blockquote::before { color: rgb(231, 72, 72);}

.ex-color-soft-main.ex-background, .ex-color-soft-main .ex-background {
  background-color: rgb(238, 238, 238);
}
  .ex-color-soft-main h1, .ex-color-soft-main h2, .ex-color-soft-main h3 {
    color: rgb(28, 38, 48);
  }
  .ex-color-soft-main hr { border-top: 1px solid rgb(28, 38, 48);}
  .ex-color-soft-main { color: rgb(28, 38, 48);}
  .ex-color-soft-main blockquote::after, .ex-color-soft-main blockquote::before { color: rgb(231, 72, 72);}
  .ex-color-soft-main .ex-img-block .info { background-color: rgba(28,38,48,0.7);color: rgb(238,238,238)}

.ex-color-accent.ex-background, .ex-color-accent .ex-background {
  background-color: rgb(231, 72, 72);
}
  .ex-color-accent h1, .ex-color-accent h2, .ex-color-accent h3 {
    color: rgb(28, 38, 48);
  }
  .ex-color-accent hr { border-top: 1px solid rgb(28, 38, 48);}
  .ex-color-accent { color: rgb(28, 38, 48);}
  .ex-color-accent blockquote::after, .ex-color-accent blockquote::before { color: rgb(238, 238, 238);}

/* Основа оформления*/

blockquote {
  border: none;
  margin: 0px 35px;
  margin-top: 30px;
}

  blockquote::before {
    content:open-quote;
    font-size: 2em;
    display: inline-block;
    float: left;
    margin-left: -35px;
    margin-top: -15px;
  }

  blockquote::after {
    content: close-quote;
    font-size: 2em;
    display: inline-block;
    float: right;
    margin-right: -35px;
    margin-top: -15px;
  }

@media (max-width: 992px) {
  header h1 { font-size: 3.0em;}
  .ex-large { font-size: 1.2em;}
  p {font-size: 1em;}
  .ex-img-block .info {font-size: 1.5em;}
}

@media (max-width: 768px) {
  .ex-show { display: none;}
  .ex-xs-button { cursor: pointer; text-decoration:underline;}
  .ex-img-block .info { padding: 15px; display: block; bottom: 0px; top:auto;}
  .ts-foto-list.ts-img-300h img {max-width: 100%;max-height: 100vh;}
  blockquote { margin: 0px 15px;}
  blockquote::before { font-size: 1em; margin-left: -15px;}
  blockquote::after { font-size: 1em; margin-right: -15px;}
}
