/*!
 * Chaturfier (https://chaturfier.com/)
 * Copyright 2020 Chaturfier
 */

html {
  position: relative;
  min-height: 100%;
}

ul {
  padding-inline-start: 20px;
}


/* page content */

.content {
  margin: 3em 0 12em;
}

.content.about {
  margin: 3em 0 10em 450px;
  padding-bottom: 3em;
}

@media (max-width: 768px) {
  .content.about {
    margin: 3em 0 10em;
  }
}


/* page footer */

.footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  min-height: 60px;
}

.footer .active a {
  text-decoration: underline;
}

.footer .row > div {
  width: auto;
  text-align: left;
}

@media (max-width: 450px) {
  .footer .row > div {
    width: 100%;
    text-align: center;
  }
}


/* banner with background and gradient */

.banner {
  background-color: #f0f0f0;
  background-size: cover;
  background-position: 50% 28%;
  z-index: -1;
}

.banner img {
  max-width: 100%;
}

.banner-content {
  padding-top: 150px;
  text-align: center;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .6);
  color: #ddd;
  font-size: 15px;
}

.banner-hor {
  position: relative;
  height: 300px;
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 30%, rgba(0, 0, 0, 0.5) 80%, rgba(0, 0, 0, 0.7) 100%), url('chaturfier/bg-banner.jpg');
}

.banner-ver {
  position: fixed;
  top: 0;
  width: 450px;
  height: 100vh;
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.5) 80%, rgba(0, 0, 0, 0.8) 100%), url('chaturfier/bg-banner.jpg');
}

@media (max-width: 768px) {
  .banner-ver {
    display: none;
  }
}

.home-chanels .row > div {
  width: auto;
  text-align: left;
}

@media (max-width: 450px) {
  .home-chanels .row > div {
    width: 100%;
    text-align: center;
  }
}


/* image captures */

.imgcaps {
  margin-left: -10px;
  margin-right: -10px;
}

.imgcaps .imgcap-box {
  padding: 10px 10px 15px;
}

.imgcaps .imgcap-body {
  position: relative;
  overflow: hidden;
  padding-bottom: 56.21%;
  border-radius: 5px;
}

.imgcaps .imgcap-image {
  position: absolute;
  height: 100%;
}

.imgcaps .imgcap-snapshot {
  width: 100%;
  height: 100%;
  -webkit-transition: transform .3s ease-in-out, opacity .3s ease-in-out;
          transition: transform .3s ease-in-out, opacity .3s ease-in-out;
}

.imgcaps a:hover .imgcap-snapshot {
  opacity: 0.85;
}

.imgcaps .imgcap-info {
  position: absolute;
  width: 100%;
  bottom: 0;
  color: #eee;
  text-shadow: 0 0 2px rgba(0, 0, 0, 0.6);
  text-align: center;
  font-size: 14px;
  line-height: 1.4em;
}

.imgcaps .imgcap-name {
  font-size: 16px;
  line-height: 16px;
  font-weight: bold;
  margin: 0;
  padding: 0 0 2px;
  color: #fff;
}

.imgcaps .imgcap-name b {
  color: #77ddff;
}

.imgcaps .imgcap-caption {
  text-align: center;
  font-size: .8rem;
  color: #999;
}

.image-capture {
  position: relative;
  padding: 40px 0;
  text-align: center;
}

.image-capture img {
  width: 800px;
  margin: 0 10px;
  max-width: 85%;
  border-radius: 5px;
  box-shadow: 0 0 3px rgba(0, 0, 0, .5), 0 0 30px rgba(0, 0, 0, .3);
}

.image-control-prev,
.image-control-next {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 20%;
  color: #fff;
  text-align: center;
  opacity: 0.5;
  -webkit-transition: opacity 0.15s ease;
  transition: opacity 0.15s ease;
}

.image-control-prev:hover,
.image-control-prev:focus,
.image-control-next:hover,
.image-control-next:focus {
  color: #fff;
  text-decoration: none;
  outline: 0;
  opacity: 0.9;
}

.image-control-prev {
  left: 0;
  background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.25)), to(rgba(0, 0, 0, 0.001)));
  background-image: linear-gradient(90deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
}

.image-control-next {
  right: 0;
  background-image: -webkit-gradient(linear, right top, left top, from(rgba(0, 0, 0, 0.25)), to(rgba(0, 0, 0, 0.001)));
  background-image: linear-gradient(270deg, rgba(0, 0, 0, 0.25), rgba(0, 0, 0, 0.001));
}

.image-control-prev-icon,
.image-control-next-icon {
  display: inline-block;
  width: 30px;
  height: 30px;
  background: no-repeat 50% / 100% 100%;
}

.image-control-prev-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e");
}

.image-control-next-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e");
}


/* cams */

.cams {
  margin-left: -2px;
  margin-right: -2px;
}

.cam-anim {
  background-color: #333;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, .5);
          box-shadow: 0 0 10px rgba(0, 0, 0, .5);
}

.cam-anim img.anim {
  max-height: 480px;
}

.cam-anim a.cam-link {
  position: relative;
  display: inline-block;
  height: 100%;
  color: #fff;
  font-size: 21px;
  text-shadow: 0 0 5px rgba(0, 0, 0, 1);
  text-decoration: none;
}

.cam-anim a.cam-link strong {
  border-bottom: 1px solid rgba(255, 255, 255, 0);
  -webkit-transition: border-color .2s ease-in-out;
          transition: border-color .2s ease-in-out;
}
.cam-anim a.cam-link:hover strong {
  border-bottom: 1px solid rgba(255, 255, 255, 1);
}

.cam-anim .cam-actions {
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  padding: 50px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.8) 100%);
}

.cams .cam-box {
  padding: 2px;
}

.cams .cam-body {
  position: relative;
  overflow: hidden;
  padding-bottom: 75%;
}

.cams .cam-status {
  position: absolute;
  right: 3px;
  top: 2px;
  z-index: 1;
}

.cams .cam-image {
  position: absolute;
  height: 100%;
}

.cams .snapshot {
  width: 100%;
  height: 100%;
  -webkit-transition: transform .3s ease-in-out, opacity .3s ease-in-out;
          transition: transform .3s ease-in-out, opacity .3s ease-in-out;
}

.cams a:hover .snapshot {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  opacity: 0.9;
}

.cams .cam-info {
  position: absolute;
  width: 100%;
  bottom: -20px;
  height: 50px;
  padding-top: 10px;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0.3) 60%, rgba(0, 0, 0, 0.5) 100%);
  color: #eee;
  text-shadow: 0 1px 1px rgba(0, 0, 0, 0.6);
  text-align: center;
  font-size: 14px;
  line-height: 1.4em;
  -webkit-transition: bottom .3s ease-in-out;
          transition: bottom .3s ease-in-out;
}

.cams a:hover .cam-info {
  bottom: 0;
}

.cams .cam-name {
  font-size: 16px;
  line-height: 16px;
  font-weight: bold;
  margin: 0;
  padding: 0 0 2px;
  color: #fff;
}

.cams .cam-name b {
  color: #77ddff;
}


/* note */

.note {
  padding: 10px;
  margin-bottom: 1rem;
  border-left: 6px solid;
  border-radius: 5px;
}

.note.note-light-grey {
  background-color: #f8f8f6;
  border-color: #e0e0e0;
}


/* cards (with bg) */

.card .card-text {
  font-size: .9rem;
  font-weight: 400;
  color: #747373;
}

.card-bg {
  background-color: rgba(255, 255, 255, .9);
}
.card-bg::before {
  position: absolute;
  width: 100%;
  height: 100%;
  content: " ";
  background: #f0f0f0 url('chaturfier/bg-card.jpg') no-repeat 50% 0;
  background-size: cover;
  border-radius: 0.25rem;
  opacity: 1;
  z-index: -1;
}

.card-bg .note.note-light-grey {
  background-color: rgba(247, 247, 245, .7);
  border-color: rgba(224, 224, 224, .7);
}


/* forms */

.form-label-group {
  position: relative;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
}

.form-label-group > input,
.form-label-group > label {
  height: 3.125rem;
}

.form-label-group > label {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  margin-bottom: 0;
  line-height: 1.5;
  color: #495057;
  pointer-events: none;
  cursor: text;
  border: 1px solid transparent;
  border-radius: .25rem;
  -webkit-transition: all .2s ease-in-out;
          transition: all .2s ease-in-out;
}

.form-label-group input::-webkit-input-placeholder {
  color: transparent;
  opacity: 0;
}
.form-label-group input:-ms-input-placeholder {
  color: transparent;
  opacity: 0;
}
.form-label-group input::-ms-input-placeholder {
  color: transparent;
  opacity: 0;
}
.form-label-group input::-moz-placeholder {
  color: transparent;
  opacity: 0;
}
.form-label-group input::placeholder {
  color: transparent;
  opacity: 0;
}

.form-label-group input:not(:placeholder-shown) {
  padding-top: 1.25rem;
  padding-bottom: .25rem;
}

.form-label-group input:not(:placeholder-shown) ~ label {
  padding-top: 0;
  padding-bottom: .25rem;
  font-size: 12px;
  color: #777;
}
.form-label-group input:not(:placeholder-shown):focus ~ label {
  color: #4285f4;
}

/* (fallback for Edge) */
@supports (-ms-ime-align: auto) {
  .form-label-group > label {
    display: none;
  }
  .form-label-group input::-ms-input-placeholder {
    color: #777;
  }
}

/* (fallback for IE) */
@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {
  .form-label-group > label {
    display: none;
  }
  .form-label-group input:-ms-input-placeholder {
    color: #777;
  }
}

.help-text {
  color: #bbb;
  font-style: italic;
}

.help-text li {
  list-style-type: square;
}

.search-control {
  padding-left: 1rem !important;
}
.search-control:focus {
  z-index: 1!important;
}


/* overriding chrome's pre-fill blue bg */

@-webkit-keyframes autofill {
  to {
    color: #666;
    background: transparent;
  }
}

@keyframes autofill {
  to {
    color: #666;
    background: transparent;
  }
}

input:-webkit-autofill {
  -webkit-animation-name: autofill;
  animation-name: autofill;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.md-form>input[type=time]:not(.browser-default)+label,
.md-form>input[type]:-webkit-autofill:not(.browser-default):not([type=search])+label {
  -webkit-transform: translateY(-14px);
  transform: translateY(-14px);
}


/* auto-complete */

.autocomplete-selected {
  background-color: #4285F4 !important;
  color: #fff;
}

.autocomplete-selected strong {
  color: #77ddff !important;
}

.autocomplete-suggestion {
  cursor: pointer;
  overflow: hidden;
  padding: 3px 20px;
  white-space: nowrap;
}

.autocomplete-suggestions {
  /*background: #fff;*/
  border: 1px solid rgba(0,0,0, .15);
  border-bottom-left-radius: 8px;
  border-bottom-right-radius: 8px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
          box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
  overflow: auto;
}

.autocomplete-suggestions strong { font-weight: normal; color: #4488dd; }
.autocomplete-group { padding: 2px 5px; }
.autocomplete-group strong { display: block; border-bottom: 1px solid #000; }

/*.autocomplete-suggestions .online { background-color: #f4fff4; }*/

.autocomplete-suggestions .ico { padding-left: 25px; background-repeat: no-repeat; background-position: 5px 5px; }
.autocomplete-suggestions .male { background-image: url('chaturfier/ico-male.png');  }
.autocomplete-suggestions .female { background-image: url('chaturfier/ico-female.png'); }
.autocomplete-suggestions .couple { background-image: url('chaturfier/ico-couple.png'); }
.autocomplete-suggestions .trans { background-image: url('chaturfier/ico-trans.png'); }
.autocomplete-suggestions .unknown { }


/* tables */

.table-xs td, .table-xs th {
  padding: 0.2rem 0.3rem;
  font-size: 0.9rem;
}

.table.auto-count {
  counter-reset: rowNumber;
}

.table.auto-count th,
.table.auto-count td {
  white-space: nowrap;
}

.table.auto-count tbody tr {
  counter-increment: rowNumber;
}

.table.auto-count tbody tr td:first-child::before {
  display: inline-block;
  content: counter(rowNumber);
  min-width: 30px;
  margin-right: 1em;
  text-align: right;
}


/* account channels */

.channels > div {
  padding-top: 1.5rem;
  border-top: 1px solid #eee;
}

.channels > div:first-child {
  padding: 0;
  border: none;
}

.channel-content {
  margin-left: 50px;
  font-weight: 300;
}


/* ui alert notice */

.alert {
  margin-top: 2em;
  -webkit-box-shadow: 0 0 3px rgba(0,0,0,.2), 0 0 10px rgba(0,0,0,.1);
          box-shadow: 0 0 3px rgba(0,0,0,.2), 0 0 10px rgba(0,0,0,.1);
}

.alert a,
.alert .alert-link {
  text-decoration: none;
  border-bottom: 1px solid #ccc;
  -webkit-transition: border-color .2s ease-in-out;
          transition: border-color .2s ease-in-out;
}

.alert a:hover,
.alert .alert-link:hover {
  border-color: #f8f8f8;
  text-decoration: none;
}


/* icons */

.icon {
  display: inline-block;
  width: 40px;
  height: 40px;
  margin-right: 10px;
  padding: 10px;
  border-radius: 50%;
  font-size: 1.25rem;
  background-color: #00b8d4;
  color: white;
}

.icon-telegram {
  background-color: #2ca3db;
}

.icon-twitter {
  background-color: #1da1f2;
}

.icon-email {
  background-color: #178ae2;
}

.award-gold {
  color: gold;
  text-shadow: 0 0 1px rgba(0, 0, 0, .9);
}

.award-silver {
  color: silver;
  text-shadow: 0 0 1px rgba(0, 0, 0, .9);
}

.award-bronze {
  color: #cd7f32;
  text-shadow: 0 0 1px rgba(0, 0, 0, .9);
}


/* pulse */

@-webkit-keyframes pulse {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes pulse {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.pulse {
  -webkit-animation: pulse 1.5s ease-in-out infinite;
  animation: pulse 1.5s ease-in-out infinite;
}


/* misc styles */

.cursor-help {
  cursor: help;
}

.alerts-list .form-check-inline {
  margin-right: 0;
}

.cryptedmail:after {
  content: attr(data-name) "@" attr(data-domain) "." attr(data-tld);
}

.blog .card-subtitle {
  margin-bottom: 1rem;
}

.square-list li {
  list-style-type: square;
}

.feed-icon {
  color: #eb6222;
}
.feed-icon:hover {
  color: #db5212;
}

.broadcaster {
  padding: 1rem 1rem 1rem 0;
}
.broadcaster:hover {
  text-decoration: none;
}

.broadcaster .view-counter {
  white-space: nowrap;
}

.stats-index a {
  display: block;
  -webkit-transition: background-color .2s ease-in-out, color .2s ease-in-out;
          transition: background-color .2s ease-in-out, color .2s ease-in-out;
}
.stats-index a:hover {
  text-decoration: none;
}

a.tag {
  color: #6c757d;
}

a.tag:hover {
  text-decoration: underline;
}

.vert {
  display: flex;
  align-items: center;
}

.errorlist {
  list-style-type: none;
}

.arrows {
  font-size: 2.5rem;
  color: #ccc;
}

.font-size-1 {
  vertical-align: middle;
  font-size: 1rem;
}
