*
 {
  box-sizing: border-box;
  outline: none;
  padding: 0;
  margin: 0;
  -webkit-tap-highlight-color: transparent;
 }
body
 {
  background: #fff;
  font-family: sans-serif;
  font-size: 14px;
  color: #000;
  min-width: 240px;
  touch-action: manipulation;
 }
a
 {
  text-decoration: none;
  color: #0080ff;
 }
a:hover
 {
  color: #ff0000;
 }
header,main,footer,figure
 {
  display: block;
 }
button
 {
  user-select: none;
  cursor: pointer;
 }

.wrapper
 {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
 }

.container
 {
  padding: 0 30px;
  margin: 0 auto;
  max-width: 1800px;
 }

.header
 {
  border-bottom: 1px solid #ececec;
 }
.header .container
 {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  height: 64px;
 }
.logo
 {
  margin-right: 20px;
 }
.logo a
 {
  display: inline-block;
 }
.logo img
 {
  vertical-align: top;
  max-width: 100%;
 }
.search
 {
  background: #0030d6;
  border-radius: 6px;
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  flex: 1;
  max-width: 600px;
 }
.search input
 {
  background: #fff;
  border: none;
  border-radius: 4px 3px 3px 4px;
  flex: 1;
  padding: 0 10px;
  margin: 2px;
  height: 34px;
 }
.search button
 {
  background: none;
  border: none;
  border-radius: 0;
  color: #fff;
  padding: 0 10px;
  height: 34px;
 }

.main
 {
  padding: 30px 0;
 }

.content
 {
  min-height: 30vh;
  width: 100%;
 }
.content h1
 {
  font-size: 20px;
  margin: 0 0 20px 0;
 }
.content h2
 {
  font-size: 20px;
  margin: 0 0 20px 0;
 }
.content p
 {
  margin-top: 10px;
 }
.content figure
 {
  background: #efeaea;
  border: 1px solid #d9d9d9;
  overflow: hidden;
 }
.content figure a,
.content figure picture
 {
  cursor: pointer;
  display: block;
  position: relative;
 }
.content figure img
 {
  vertical-align: top;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
 }
.content figure span
 {
  text-shadow: 1px 1px 4px #000;
  color: #fff;
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: 10px;
  z-index: 1;
 }
.images-list-page figure
 {
  background: #000;
 }
.images-list-page figure img
 {
  opacity: 0.8;
 }

.similar
 {
  border-top: 1px solid #dcdcdc;
  padding-top: 30px;
  margin-top: 30px;
 }
.similar h2
 {
  font-size: 20px;
  margin: 0;
 }
.similar h2 a
 {
  color: #000;
 }
.similar ul
 {
  list-style: none;
 }
.similar li
 {
  padding: 15px 0 0 0;
 }

.page-name
 {
  display: none;
 }
.images-list
 {
  text-align: center;
  column-width: 250px;
  column-gap: 20px;
 }
.images-list>figure
 {
  border-radius: 10px;
  margin-bottom: 20px;
 }
.images-list>div
 {
  border: 1px solid #d9d9d9;
  overflow: hidden;
  margin-bottom: 20px;
  height: 400px;
 }

.text-content
 {
  line-height: 1.5;
  margin-top: 30px;
 }
.content .text-content p
 {
  margin: 15px 0;
 }


.pagination
 {
  border-top: 1px solid #dcdcdc;
  user-select: none;
  display: flex;
  flex-flow: row wrap;
  padding-top: 15px;
  margin-top: 30px;
 }
.pagination>a,.pagination>span
 {
  background: #ffffff;
  border: 1px solid #dadada;
  border-radius: 3px;
  white-space: nowrap;
  color: #323232;
  padding: 6px 14px;
  margin: 15px 10px 0 0;
 }
.pagination>a:hover
 {
  border-color: #b8b8b8;
  position: relative;
 }
.pagination>span
 {
  background: #f5f5f5;
 }
.pagination-start,.pagination-prev
 {
  padding-left: 10px !important;
 }
.pagination-next,.pagination-end
 {
  padding-right: 10px !important;
 }
.pagination-start:before,.pagination-prev:before,.pagination-next:after,.pagination-end:after
 {
  font-size: 12px;
  color: #939393;
  position: relative;
  top: -1px;
 }
.pagination-start:before,.pagination-prev:before
 {
  padding-right: 7px;
 }
.pagination-next:after,.pagination-end:after
 {
  padding-left: 7px;
 }
.pagination-start:before
 {
  content: '\276E\276E';
 }
.pagination-prev:before
 {
  content: '\276E';
 }
.pagination-next:after
 {
  content: '\276F';
 }
.pagination-end:after
 {
  content: '\276F\276F';
 }


.footer
 {
  border-top: 1px solid #dcdcdc;
  padding: 30px 0;
  margin-top: auto;
 }
.footer .container
 {
  display: flex;
  flex-flow: row wrap;
 }
.footer span
 {
  margin-right: auto;
 }
.footer a
 {
  white-space: nowrap;
  margin-left: 25px;
 }


@media (max-width: 639px)
 {
  .container
   {
    padding: 0 20px;
   }
  .main
   {
    padding: 20px 0;
   }
 }


@media (max-width: 479px)
 {
  .header .container
   {
    height: auto;
   }
  .logo
   {
    text-align: center;
    padding: 10px 0;
    margin: 0;
    width: 100%;
   }
  .search
   {
    margin-bottom: 18px;
   }
  
  .footer .container
   {
    justify-content: space-between;
   }
  .footer span
   {
    width: 100%;
   }
  .footer a
   {
    margin: 15px 0 0 0;
   }
 }


@media (max-width: 320px)
 {
  .container
   {
    padding: 0 15px;
   }
  .content h1
   {
    font-size: 21px;
   }
  .content h2
   {
    font-size: 18px;
   }
 }


