*
 {
  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,aside,footer
 {
  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: 1600px;
 }

.header
 {
  background: #3856fd;
 }
.header .container
 {
  display: flex;
  align-items: center;
  height: 56px;
 }
.logo
 {
  margin-right: auto;
 }
.logo img
 {
  vertical-align: top;
  max-width: 100%;
 }
.header-link
 {
  background: rgb(0 0 0 / 15%);
  border-radius: 3px;
  font-size: 16px;
  color: #fff !important;
  white-space: nowrap;
  line-height: 1;
  margin-left: 10px;
  padding: 7px 10px;
 }
.header-link:hover
 {
  background: rgb(0 0 0 / 20%);
 }

.main
 {
  padding: 40px 0;
 }
.main .container
 {
  display: flex;
  flex-flow: row nowrap;
  justify-content: space-between;
 }

.content
 {
  order: -1;
  padding-right: 50px;
  min-height: 30vh;
  width: 100%;
 }
.content h1
 {
  font-size: 28px;
 }
.content p
 {
  margin-top: 10px;
 }

.sidebar-link
 {
  margin-bottom: 20px;
 }
.similar
 {
  margin: 0 0 20px 0;
 }
.similar h2
 {
  font-size: 20px;
 }
.similar ul
 {
  list-style: none;
 }
.similar li
 {
  padding: 15px 0 0 0;
 }

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

.images
 {
  display: flex;
  flex-flow: row wrap;
  margin-top: 30px;
  margin-left: -10px;
 }
.images a
 {
  border: 1px solid #c4c4c4;
  border-radius: 7px;
  display: block;
  position: relative;
  overflow: hidden;
  padding-top: 25%;
  margin-left: 16px;
  margin-bottom: 16px;
  width: 33.33%;
  max-width: calc(33.33% - 16px);
 }
.images a:hover
 {
  opacity: 0.9;
 }
.images h2
 {
  background: rgb(0 0 0 / 70%);
  color: #fff9f9;
  text-align: center;
  font-size: 12px;
  font-weight: normal;
  padding: 7px;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 2;
 }
.images img
 {
  vertical-align: top;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  object-fit: cover;
  width: 100%;
  height: 100%;
 }

.image-line
 {
  background: #eeeeee;
  margin-left: 16px;
  margin-bottom: 16px;
  width: 100%;
 }
.image-line-2
 {
  background: #eeeeee;
  margin-top: 30px;
 }

.post-title
 {
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  align-items: center;
  margin-top: -10px;
 }
.post-title h1,.post-title h2
 {
  margin-top: 10px;
  margin-right: 10px;
 }
.report-button
 {
  background: none;
  border: none;
  font-weight: normal;
  font-size: 16px;
  opacity: 0.8;
  color: #ff0000;
  margin-top: 10px;
 }
.report-button:hover
 {
  opacity: 1;
 }

.view-image
 {
  background: #efeaea;
  border: 1px solid #8a8a8a;
  display: block;
  overflow: hidden;
  margin: 30px auto;
 }
.view-image picture
 {
  display: block;
  position: relative;
 }
.view-image img
 {
  vertical-align: top;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
 }


.aside
 {
  min-width: 300px;
  width: 300px;
 }
.sidebar
 {
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 20px;
 }

.pagination
 {
  user-select: none;
  display: flex;
  flex-flow: row wrap;
  margin-top: 20px;
 }
.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';
 }

.image-pagination,.view-image
 {
  max-width: 500px;
 }
.image-pagination
 {
  justify-content: center;
  margin: 0 auto;
 }
.image-pagination .pagination-prev
 {
  margin-right: auto;
 }
.image-pagination .pagination-next
 {
  margin-left: auto;
 }

.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: 1099px)
 {
  .images a
   {
    padding-top: 50%;
    width: 50%;
    max-width: calc(50% - 16px);
   }
 }



@media (max-width: 899px)
 {
  .main .container
   {
    flex-flow: column;
   }
  .content
   {
    padding: 0;
   }
  .aside
   {
    margin-top: 35px;
    min-width: 0;
    width: auto;
   }
 }




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


@media (max-width: 479px)
 {
  .footer .container
   {
    justify-content: space-between;
   }
  .footer span
   {
    width: 100%;
   }
  .footer a
   {
    margin: 15px 0 0 0;
   }
 }



@media (max-width: 409px)
 {
  .images a
   {
    padding-top: 100%;
    width: 100%;
    max-width: calc(100% - 16px);
   }
 }



@media (max-width: 320px)
 {
  .container
   {
    padding: 0 15px;
   }
  .header-link
   {
    font-size: 14px;
   }
  .main
   {
    padding: 20px 0;
   }
  .content h1
   {
    font-size: 21px;
   }
  .report-button
   {
    font-size: 14px;
   }
  .aside
   {
    margin-top: 30px;
   }
  .pagination
   {
    margin-top: 10px;
   }
 }

