/**
 * Containers
 * This includes the main wrapper for all sliders, then each slider,
 * which is one level above the individual slides.
 * Don't be afraid to use !important as needed.
 */

$theme_name: precognition;
$theme_prefix: .metaslider.ms-theme-$(theme_name);

.ms-theme-precognition {
	padding-bottom: 40px;
	opacity: 0;
	transition: opacity 0.3s;
	&.ms-loaded {
		opacity: 1;
	}
}

$(theme_prefix) {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}
	.flexslider {
      width: 100%;
		margin-bottom: 0;
	}
	.flexslider:not(.filmstrip) .slides,
	.rslides,
	.nivoSlider,
	.coin-slider .coin-slider {
	}

	.rslides img,
	.nivoSlider {
	}

	/**
	* Dots
	* You should inspect the sliders to see more specific rules
	* mixin use: @mixin mixinName ...supported_libraries
	*/

   .flex-control-nav {
      width: 100%;
   }

	@mixin dotsContainer flex, rslides, nivo {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		position: relative;
		background: transparent;
		line-height: 1.5;
		margin: 0;
		padding: 0 !important;
		z-index: 8;
		transition: top .2s;
		width: 100%;
		bottom: 0;
      	li {
			display: flex;
			align-items: center;
			flex: 1;
			a {
				text-decoration: none;
			}
			/* &:last-child a {
				border-right: 1px solid #ccc;
				&:hover,
				&.flex-active {
					border-right-color: #343536;
				}
			}
			&:first-child a {
				border-left: 1px solid #ccc;
				&:hover,
				&.flex-active {
					border-left-color: #343536;
				}
			} */
      	}

		.has-carousel-mode&,
		.ms-is-small& {
			margin-top: 5px;
			margin-bottom: 10px;
			li {
				flex: none;
			}
		}
	}

	@mixin dotsContainer coin {
		display: flex;
		flex-wrap: wrap;
		position: absolute;
		bottom: 0;
		background: transparent;
		line-height: 15px;
		margin: 0;
		padding: 0 !important;
		z-index: 8;
		transition: top .2s;
      	justify-content: flex-start;
		width: 100%;
		left: 0!important;
		margin-left: 0!important;
      	li {
			display: flex;
			align-items: center;
			flex: 1;
			a {
				text-decoration: none;
			}
      	}
	}

	@mixin dotsLink {
		box-shadow: none !important;
		transition: background .2s ease-in-out, background .2s ease-in-out;
		/* border: 1px solid transparent;
		border-top: 0;
		border-bottom: 1px solid #ccc; */
		border:0;
		cursor: pointer;
		display: flex;
		flex:1;
		justify-content: center;
		align-items: center;
		line-height: initial;
		width: 100%;
		height: 93px;
		background: #ffffff;
		margin: 0;
		padding: 1rem;
		font-size: 14px;
		color: #343536;
		text-indent: 0;
		border-radius: 0;

		.has-carousel-mode&,
	    div:not(.has-thumb-nav).ms-is-small& {
			height: 1.5em;
			width: 1.5em;
			margin-right: 10px;
			margin-bottom: 5px;
			padding: 0;
      	}
	    .ms-is-small& {
			text-indent: -9999px;
		}
		.has-carousel-mode& {
			text-indent: 0;
		}
	}

	@mixin dotsLinkLastItem {
		margin-right: 0;
	}

	@mixin dotsLinkActive {
		color: #ffffff;
		background: #343536;
		/* border-bottom-color: #343536; */
		&::after {
			opacity: 1;
		}
	}

	/**
	* Arrows
	*
	*/
   @mixin arrowsContainer flex, nivo {
	}

	@mixin arrowsLink {
		box-shadow: none;
		width: 70px;
		height: 70px;
		color: black;
		opacity: 0;
		overflow: hidden;
		transition: all .2s ease-in-out;
		margin-top: 0;
		top: 50%;
		transform: translateY(-50%);
		background: transparent;
		border-radius: 50%;

      .ms-is-small& {
         width: 40px;
         height: 40px;
         top: 50%;
         transform: translateY(-50%);
      }

		&::before {
         content: '' !important;
         width: 18px;
         height: 30px;
         position: absolute;
         display: block;
         background-size: 100%;
         left: 50%;
         top: 50%;
         transform: translate(-50%, -50%);
		}
	}

   @mixin arrowsLink__prev {
      left: 2%;

      &:before {
         background: url("images/arrow-left.png") no-repeat center center;
      }
	}

   @mixin arrowsLink__next {
      right: 2%;

      &:before {
         background: url("images/arrow-right.png") no-repeat center center;
      }
	}

   @mixin sliderHover__arrowsLinks {
		opacity: 1 !important;

		&:hover {
			color: black;
			opacity: 1 !important;
		}
	}

   @mixin arrowsLink rslides {


      .ms-is-small& {

      }

		&.prev {

         .ms-is-small& {

         }
		}

      &.next {


         .ms-is-small& {

         }
		}

	}

   .coin-slider .coin-slider div {
		display: block !important;
	}

   .coin-slider .coin-slider .cs-prev,
   .coin-slider .coin-slider .cs-next {
   }

	/**
	* Caption
	*/
	@mixin caption flex, rslides, nivo {
      width: 100%;
      height: 145px;
      bottom: 0;
      background: rgba(0, 0, 0, 0.8);
		color: inherit;
		margin: 0;
		padding: 0;
		transition: 0.5s all;
      background: linear-gradient(rgba(0,0,0,0), rgba(0,0,0,0.8));
      color: #ffffff;
	}

	@mixin caption rslides {

	}

	@mixin caption nivo {
		transform: translateY(0);
	}

	@mixin caption coin {
		padding: 20px;
		margin: 10px;
		width: calc(100% - 20px);
	}

	.flexslider ul.slides .flex-active-slide .caption-wrap,
	.rslides li[class*=rslides] .caption-wrap {
		transform: translateY(0);
	}

	.flexslider ul.slides .caption-wrap .caption,
	.rslides .caption-wrap .caption,
	.nivoSlider .nivo-caption {
		font-size: 0.9rem;
		text-align: center;
		color: #ffffff;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		padding: 0;
		bottom: 70px;

		.ms-is-small& {
			bottom: 60px;
         width: 90%;
		}
	}

   .nivoSlider .nivo-caption {
      bottom: 0;
		font-size: 1rem;
      padding-top: 25px;

      .ms-is-small& {
         bottom: 0;
         padding-top: 45px;
      }
   }

   /**
	* Filmstrip
	*/
	.filmstrip {
		z-index: 4;
		width: 100%;
		border-radius: 0;
		margin-top: 10px;

		ul.flex-direction-nav li a {

			&::after {
				width: 10px;
			}

			&.flex-prev,
			&.flex-next  {
            width: 60px;
            height: 60px;
            top: 50%;
            transform: translateY(-50%);

            .ms-is-small& {
               width: 40px;
               height: 40px;
            }
         }

			&.flex-prev {
				left: 10px;

            .ms-is-small& {
               left: 10px;
            }
			}

			&.flex-next {
				right: 10px;

            .ms-is-small& {
               right: 10px;
            }
			}
		}
	}

	&.has-filmstrip {

		@mixin arrowsContainer flex {
			width: 90px;
		}

		@mixin caption flex {
			margin-right: 110px;
		}
	}

   /**
   * Thumbnail
   */
   .slider-wrapper .nivo-controlNav.nivo-thumbs-enabled a:hover,
   .slider-wrapper .nivo-controlNav.nivo-thumbs-enabled a.active {
      border: 0 none;
   }
}
