/**
 * All of the CSS for your public-facing functionality should be
 * included in this file.
 */

/* IMAGE LIGHTBOX SELECTOR */
.ays_mosaic_row {
    display: flex;
    width: 90%;
    margin: auto;
    overflow: hidden;
}

.ays_mosaic_column {
    float: left;
    box-sizing: border-box;
    margin-right: 0;
    padding: 5px;
}

.ays_mosaic_column.loaded {
    opacity: 1;
    transition: opacity .5s;
}

div.ays_grid_row {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.display_none {
    display: none !important;
}

.ays_fb_image_more {
    position: absolute;
    top: 0;
    left: 0;
    background-color: rgba(0,0,0,0.3);
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    z-index: 1000;
}

.ays_fb_image_more i::before {
    content: "\f067";
}

.ays_fb_image_more span {
    color: white;
    font-size: 2.5rem;
    display: inline-block;
    font-weight: 700;
}

.ays_hover_icon_class,
.ays_fb_image_more i {
    font-weight: 900;
    font-family: "Font Awesome 5 Free";
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
    line-height: 1;
    font-size: 2rem;
    color: white;
    margin-right: 3px;
}

/*.ays_image_title>span:last-child {
    color: aqua;
}*/

.ays_hover_mask .ays_image_title {
    background-color: transparent;
}

.ays_image_title {
    position: absolute;
    bottom: 0;
    /* max-height: 25px;
    min-height: 20px; */
    padding: 2px 0px;
    width: 100%;
    pointer-events: fill;
    padding-bottom: 7px;
    line-height: normal;
}

.ays_image_title>span {
    font-size: 12px;
    color: white;
    display: block;
    width: 95%;
    margin: auto;
    text-align: center;
    text-overflow: ellipsis;
    /* overflow: hidden;
    max-height: 20px; */
    word-break: unset;
    /*white-space: nowrap;*/
}

div.ays_hover_mask {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    color: white;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    transition: .35s ease;
    z-index: 998;
}

a.ays_gallery_caption_link{
    color:white;
    font-size: 17px;
}
a.ays_gallery_caption_link:hover,
a.ays_gallery_caption_link:focus{
    color: white;
    text-decoration: underline;
}

.ays_grid_page {
  width: 100%;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.ays_gallery_pagination_container,
.ays_gallery_pagination_load_more {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 15px;
}

.ays_gallery_pagination_per_page {
  margin: 0 7px;
  border: 1px solid #ccc;
  border-radius: 5px;
  padding: 5px 10px;
  background-color: #fff;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  cursor: pointer;
  color: #333;
  font-weight: bold;
}

.ays_gallery_pagination_load_more_bttn {
  background-color: #4CAF50;
  color: white;
  padding: 12px 20px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 16px;
}

.ays_gallery_pagination_load_more_bttn:focus {
  background-color: #4CAF50;
}

.ays_gallery_pagination_load_more_bttn:hover {
  background-color: #3e8e41;
}

.ays_gallery_active_page {
  background-color: #4CAF50;
  color: #fff;
}

@keyframes lds-ripple {
  0% {
    top: 96px;
    left: 96px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 18px;
    left: 18px;
    width: 156px;
    height: 156px;
    opacity: 0;
  }
}
@-webkit-keyframes lds-ripple {
  0% {
    top: 96px;
    left: 96px;
    width: 0;
    height: 0;
    opacity: 1;
  }
  100% {
    top: 18px;
    left: 18px;
    width: 156px;
    height: 156px;
    opacity: 0;
  }
}
.lds-ripple {
  position: relative;
}
.lds-ripple div {
  box-sizing: content-box;
  position: absolute;
  border-width: 4px;
  border-style: solid;
  opacity: 1;
  border-radius: 50%;
  -webkit-animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
  animation: lds-ripple 1s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}
.lds-ripple div:nth-child(1) {
  border-color: #215d38;
}
.lds-ripple div:nth-child(2) {
  border-color: #14a651;
  -webkit-animation-delay: -0.5s;
  animation-delay: -0.5s;
}
.lds-ripple {
  width: 200px;
  height: 200px;
  -webkit-transform: translate(-100px, -100px) scale(1) translate(100px, 100px);
  transform: translate(-100px, -100px) scale(1) translate(100px, 100px);
}

@keyframes lds-disk {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-webkit-keyframes lds-disk {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
.lds-disk {
  position: relative;
}
.lds-disk > div div:nth-child(1) {
  position: absolute;
  top: 0px;
  left: 0px;
  width: 200px;
  height: 200px;
  border-radius: 50%;
  background: #866d66;
}
.lds-disk > div div:nth-child(2) {
  position: absolute;
  top: 12px;
  left: 76px;
  width: 48px;
  height: 48px;
  border-radius: 50%;
  background: #859971;
  -webkit-animation: lds-disk 1.2s linear infinite;
  animation: lds-disk 1.2s linear infinite;
  -webkit-transform-origin: 24px 88px;
  transform-origin: 24px 88px;
}
.lds-disk {
  width: 42px !important;
  height: 42px !important;
  -webkit-transform: translate(-21px, -21px) scale(0.21) translate(21px, 21px);
  transform: translate(-21px, -21px) scale(0.21) translate(21px, 21px);
}

.ays_image_loading_div>img {
    width: 25px !important;
    height: 25px !important;
    position: absolute;
    outline: 0;
    border: none;
    box-shadow: none !important;    
}

.ays_image_loading_div>span {
    font-size: .7em;
    color: #e04a62;
    white-space: nowrap;
    max-width: 100%;
    width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
    text-indent: 5px;
    text-align: center;
}

.ays_image_loading_div {
    background-color: black;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    visibility: visible;
    opacity: 1;
    justify-content: center;
    align-items: center;
    max-width: 100%;
    z-index: 999999999;
    font-size: 1rem;
    text-align: center;
}

    
div.ays_hover_mask.in-top {
   transform-origin: 50% 0% !important;
   animation: in-top .35s ease 0ms 1 forwards !important;
}
div.ays_hover_mask.in-right {
  transform-origin: 100% 0% !important;
  animation: in-right .35s ease 0ms 1 forwards !important;
}
div.ays_hover_mask.in-bottom {
  transform-origin: 50% 100% !important;
  animation: in-bottom .35s ease 0ms 1 forwards !important;
}
div.ays_hover_mask.in-left {
  transform-origin: 0% 0% !important;
  animation: in-left .35s ease 0ms 1 forwards !important;
}

div.ays_hover_mask.out-top {
  transform-origin: 50% 0% !important;
  animation: out-top .35s ease 0ms 1 forwards !important;
}
div.ays_hover_mask.out-right {
  transform-origin: 100% 50% !important;
  animation: out-right .35s ease 0ms 1 forwards !important;
}
div.ays_hover_mask.out-bottom {
  transform-origin: 50% 100% !important;
  animation: out-bottom .35s ease 0ms 1 forwards !important;
}
div.ays_hover_mask.out-left {
  transform-origin: 0% 0% !important;
  animation: out-left .35s ease 0ms 1 forwards !important;
}


@keyframes in-top {
  from {transform: rotate3d(-1,0,0, 90deg)}
  to   {transform: rotate3d(0,0,0, 0deg)}}
@keyframes in-right {
  from {transform: rotate3d(0,-1,0, 90deg)}
  to   {transform: rotate3d(0,0,0, 0deg)}}
@keyframes in-bottom {
  from {transform: rotate3d(1,0,0, 90deg)}
  to   {transform: rotate3d(0,0,0, 0deg)}}
@keyframes in-left {
  from {transform: rotate3d(0,1,0, 90deg)}
  to   {transform: rotate3d(0,0,0, 0deg)}}

@keyframes out-top {
  from {transform: rotate3d(0,0,0, 0deg)}
  to   {transform: rotate3d(-1,0,0, 104deg)}}
@keyframes out-right {
  from {transform: rotate3d(0,0,0, 0deg)}
  to   {transform: rotate3d(0,-1,0, 104deg)}}
@keyframes out-bottom {
  from {transform: rotate3d(0,0,0, 0deg)}
  to   {transform: rotate3d(1,0,0, 104deg)}}
@keyframes out-left {
  from {transform: rotate3d(0,0,0, 0deg)}
  to   {transform: rotate3d(0,1,0, 104deg)}}

/*
 *  Font awsome icons style
 */
.ays_gpg_fa {
    -webkit-font-smoothing: antialiased;
    display: inline-block;
    font-style: normal;
    font-variant: normal;
    text-rendering: auto;
}
.ays_fa_for_gallery {
    font-family: "Font Awesome 5 Free";
    line-height: 1;  
    color: white;
    margin-right: 3px;
}

.ays_gpg_fa_search::before { content: '\f002'; font-weight: 900; }
.ays_gpg_fa_search_plus::before { content: '\f00e'; font-weight: 900; }
.ays_gpg_fa_plus::before { content: '\f067'; font-weight: 900; }
.ays_gpg_fa_plus_circle::before { content: '\f055'; font-weight: 900; }
.ays_gpg_fa_plus_square_fas::before { content: '\f0fe'; font-weight: 900; }
.ays_gpg_fa_plus_square_far::before { content: '\f0fe'; font-weight: 400; }
.ays_gpg_fa_expand::before { content: '\f065'; font-weight: 900; }
.ays_gpg_fa_image_fas::before { content: '\f03e'; font-weight: 900; }
.ays_gpg_fa_image_far::before { content: '\f03e'; font-weight: 400; }
.ays_gpg_fa_images_fas::before { content: '\f302'; font-weight: 900; }
.ays_gpg_fa_images_far::before { content: '\f302'; font-weight: 400; }
.ays_gpg_fa_eye_fas::before { content: '\f06e'; font-weight: 900; }
.ays_gpg_fa_eye_far::before { content: '\f06e'; font-weight: 400; }
.ays_gpg_fa_camera_retro::before { content: '\f083'; font-weight: 900; }
.ays_gpg_fa_camera::before { content: '\f030'; font-weight: 900; }
.ays_gpg_fa_link::before { content: '\f0c1'; font-weight: 900; }


/*
 * Lightbox caption 
 */

.ays_caption_wrap {
    display: none;
}

.ays_caption p,
.ays_caption h4 {
    color: #fff;
}
.ays_caption h4 { 
    font-size: 16px;
}
.ays_caption p {
    font-size: 13px;
    margin: 0;
}

.ays_gpg_loader {  
  margin:auto;
  justify-content: center;
  align-items: center;  
  animation-duration: .5s;
  transition: .5s ease-in-out;
  margin-bottom: 20px;
  text-align: center;
}

.ays_gallery_filter_cat {
/*    display: flex;
    justify-content: center;*/
    margin: 25px 0;
    text-align: center;
}

a.ays_gpg_category_filter {
    display: inline-block;
    margin: 5px;
    text-decoration: none;
    border: 1px solid;
    padding: 5px 15px;
    border-radius: 5px;
    color: #6d6d6d;
}

a.ays_gpg_category_filter:hover {
    background-color: #6d6d6d;
    color: white;
}

.ays_gpg_display_none {
  display: none !important;
}

.ays_gallery_search_img {
  margin: 10px 0;
}

input.inp_search_img {
  display: inline-block !important;
  max-height: 30px !important;
  max-width: 170px !important;
  border-radius: 4px !important;
}

input.inp_search_img:focus {
border: 1px solid !important;
}

input.inp_search_img[placeholder] {
  font-size: 13px;
  padding: 0 5px 0 5px;
  outline: none;
  height: 30px;
  border: 1px solid;
  margin-bottom: auto;
  font-weight: 400;
  margin-left: 5px;
}