
.carousel {
    display: block;
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
}

.carousel-stage {
    overflow: hidden;
    position: relative;
    width: 100%;
    height: auto;
    border: none;
}

.carousel-stage ol {
    margin: 0;
    padding: 0;
    position: relative;
    top: 0;
}

/* if the images in the slides aren't all of equal height, a max-width
 * can be used to correctly align the caption */

.carousel-stage li {
    float: left;
    list-style: none outside none;
    position: relative;
    text-align: center;
    padding: 0;
    max-height: 420px;
}

/* depending on whether you want to fit to width or height, adjust these
 * properties accordingly */

.carousel-stage li img {
    width: 100%;
    height: auto;
    display: block;

    /* padding-left: 165px; */
}

/* the caption */

.carousel-stage li p {
    position: absolute;
    bottom: 0;
    background: rgba(0,0,0,0.65);
    color: #fff;
    margin: 0;
    width: 96%;
    padding: 2%;
}

/* slide overlay */

section#intro a.slide-overlay {
    width: 60%;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1000;
}

section#intro a.slide-overlay img {
    width: 100%;
    max-width: 474px;
    height: auto;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    -webkit-transition: opacity 0.3s ease;
    -moz-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
}

section#intro a.slide-overlay img.hover {
    z-index: 0;
}

section#intro a.slide-overlay:hover img,
section#intro a.slide-overlay:focus img {
    opacity: 0;
}

section#intro a.slide-overlay:hover img.hover,
section#intro a.slide-overlay:focus img.hover {
    opacity: 1;
}

/* Controls */

.carousel .carousel-sliders {
    position: absolute;
    top: 50%;
    z-index: 100;
    width: 100%;
    margin-top: -45px;
}

.carousel .carousel-sliders a {
    color: #fff;
    font-size: 42px;
    background: #000;
}

.carousel .carousel-sliders a span {
    padding: 0 10px;
}

/* Right */

.carousel .carousel-sliders a.right {
    float: right;
    position: relative;
    left: 85px;

    -webkit-transition: left 0.3s ease;
    -moz-transition: left 0.3s ease;
    -ms-transition: left 0.3s ease;
    transition: left 0.3s ease;
}

.carousel .carousel-sliders a.right img {
    float: right;
}

.carousel .carousel-sliders a.right:hover,
.carousel .carousel-sliders a.right:focus {
    text-decoration: none;
    left: 0;
}

/* Left */

.carousel .carousel-sliders a.left {
    float: left;
    position: relative;
    right: 85px;

    -webkit-transition: right 0.3s ease;
    -moz-transition: right 0.3s ease;
    -ms-transition: right 0.3s ease;
    transition: right 0.3s ease;
}

.carousel .carousel-sliders a.left img {
    float: left;
}

.carousel .carousel-sliders a.left:hover,
.carousel .carousel-sliders a.left:focus {
    text-decoration: none;
    right: 0;
}

/* Navigation */

.carousel-navigation {
    position: absolute;
    bottom: 10px;
    left: 0;
    z-index: 1000;
    width: 100%;
}

.carousel-navigation ol {
    list-style: none outside none;
    padding: 0 0 0 25px;
    margin: 0;
}

.carousel-navigation li {
    float: left;
    text-align: center;
    margin-right: 5px;
}

.carousel-navigation li a {
    opacity: 0.5;
    color: #fff;
    font-size: 38px;

    -webkit-transition: opacity 0.2s ease;
    -moz-transition: opacity 0.2s ease;
    transition: opacity 0.2s ease;
}

.carousel-navigation li.selected a {
    opacity: 1;
}

.carousel-navigation a:hover {
    opacity: 1;
    text-decoration: none;
}
