.carousel > input[type=radio]:nth-child(5):checked ~ .carousel__next > label:nth-child(1), .carousel > input[type=radio]:nth-child(5):checked ~ .carousel__prev > label:nth-child(4), .carousel > input[type=radio]:nth-child(4):checked ~ .carousel__next > label:nth-child(5), .carousel > input[type=radio]:nth-child(4):checked ~ .carousel__prev > label:nth-child(3), .carousel > input[type=radio]:nth-child(3):checked ~ .carousel__next > label:nth-child(4), .carousel > input[type=radio]:nth-child(3):checked ~ .carousel__prev > label:nth-child(2), .carousel > input[type=radio]:nth-child(2):checked ~ .carousel__next > label:nth-child(3), .carousel > input[type=radio]:nth-child(2):checked ~ .carousel__prev > label:nth-child(1), .carousel > input[type=radio]:nth-child(1):checked ~ .carousel__next > label:nth-child(2), .carousel > input[type=radio]:nth-child(1):checked ~ .carousel__prev > label:nth-child(5) {
    opacity: 1 !important;
    z-index: 3;
}

*,
*:before,
*:after {
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.container {
    /*width: 900px;*/
    /*min-width: 900px;*/
    max-width: 1920px;
    margin: 64px auto;
}

.carousel {
    width: 100%;
    position: relative;
    overflow: hidden;
}
.carousel > input[type=radio] {
    position: absolute;
    left: 0;
    opacity: 0;
    top: 0;
}
.carousel > input[type=radio]:checked ~ .carousel__items .carousel__item,
.carousel > input[type=radio]:checked ~ .carousel__prev > label,
.carousel > input[type=radio]:checked ~ .carousel__next > label {
    opacity: 0;
}
.carousel > input[type=radio]:nth-child(1):checked ~ .carousel__items .carousel__item:nth-child(1) {
    opacity: 1;
}
.carousel > input[type=radio]:nth-child(1):checked ~ .carousel__nav > label:nth-child(1) {
    background: #ccc;
    cursor: default;
    pointer-events: none;
}
.carousel > input[type=radio]:nth-child(2):checked ~ .carousel__items .carousel__item:nth-child(2) {
    opacity: 1;
}
.carousel > input[type=radio]:nth-child(2):checked ~ .carousel__nav > label:nth-child(2) {
    background: #ccc;
    cursor: default;
    pointer-events: none;
}
.carousel > input[type=radio]:nth-child(3):checked ~ .carousel__items .carousel__item:nth-child(3) {
    opacity: 1;
}
.carousel > input[type=radio]:nth-child(3):checked ~ .carousel__nav > label:nth-child(3) {
    background: #ccc;
    cursor: default;
    pointer-events: none;
}
.carousel > input[type=radio]:nth-child(4):checked ~ .carousel__items .carousel__item:nth-child(4) {
    opacity: 1;
}
.carousel > input[type=radio]:nth-child(4):checked ~ .carousel__nav > label:nth-child(4) {
    background: #ccc;
    cursor: default;
    pointer-events: none;
}
.carousel > input[type=radio]:nth-child(5):checked ~ .carousel__items .carousel__item:nth-child(5) {
    opacity: 1;
}
.carousel > input[type=radio]:nth-child(5):checked ~ .carousel__nav > label:nth-child(5) {
    background: #ccc;
    cursor: default;
    pointer-events: none;
}
.carousel__items {
    margin: 0;
    padding: 0;
    list-style-type: none;
    width: 100%;
    /*height: 600px;*/
    position: relative;
}
.carousel__item__title {
    position: absolute;
    width: 100%;
    text-align: center;
    color: white;
    font-weight: bold;
    text-shadow: -1px 0 #000000, 0 1px #000000, 1px 0 #000000, 0 -1px #000000;
}

.carousel__item__title.title-1 {
    top: 50px;
}
.carousel__item__title.title-2 {
    top: 75px;
    left: 50px;
}
.carousel__item__title.title-3 {
    top: 160px;
}

@media screen and (min-width: 384px){
    .carousel__items {
        height: 260px;
    }
    .carousel__item__title{
        font-size: 18px;
    }
    .carousel__item__title.title-1 {
        top: 70px;
    }
    .carousel__item__title.title-2 {
        top: 90px;
        left: 50px;
    }
    .carousel__item__title.title-3 {
        top: 200px;
    }
}

@media screen and (min-width: 512px){
    .carousel__items {
        height: 300px;
    }
    .carousel__item__title{
        font-size: 20px;
    }
    .carousel__item__title.title-1 {
        top: 100px;
    }
    .carousel__item__title.title-2 {
        top: 120px;
        left: 60px;
    }
    .carousel__item__title.title-3 {
        top: 240px;
    }
}

@media screen and (min-width: 640px){
    .carousel__items {
        height: 340px;
    }
    .carousel__item__title{
        font-size: 22px;
    }
    .carousel__item__title.title-1 {
        top: 130px;
    }
    .carousel__item__title.title-2 {
        top: 160px;
        left: 80px;
    }
    .carousel__item__title.title-3 {
        top: 270px;
    }
}

@media screen and (min-width: 768px){
    .carousel__items {
        height: 380px;
    }
    .carousel__item__title{
        font-size: 24px;
    }
    .carousel__item__title.title-1 {
        top: 160px;
    }
    .carousel__item__title.title-2 {
        top: 190px;
        left: 100px;
    }
    .carousel__item__title.title-3 {
        top: 310px;
    }
}

@media screen and (min-width: 896px){
    .carousel__items {
        height: 420px;
    }
    .carousel__item__title{
        font-size: 26px;
    }
    .carousel__item__title.title-1 {
        top: 190px;
    }
    .carousel__item__title.title-2 {
        top: 210px;
        left: 120px;
    }
    .carousel__item__title.title-3 {
        top: 340px;
    }
}

@media screen and (min-width: 1024px){
    .carousel__items {
        height: 460px;
        top: -20px;
    }
    .carousel__item__title{
        font-size: 28px;
    }
    .carousel__item__title.title-1 {
        top: 220px;
    }
    .carousel__item__title.title-2 {
        top: 240px;
        left: 100px;
    }
    .carousel__item__title.title-3 {
        top: 390px;
    }
}

@media screen and (min-width: 1152px){
    .carousel__items {
        height: 500px;
        top: -40px;
    }
    .carousel__item__title{
        font-size: 30px;
    }
    .carousel__item__title.title-1 {
        top: 250px;
    }
    .carousel__item__title.title-2 {
        top: 270px;
        left: 70px;
    }
    .carousel__item__title.title-3 {
        top: 450px;
    }
}


@media screen and (min-width: 1280px){
    .carousel__items {
        height: 540px;
        top: -80px;
    }
    .carousel__item__title{
        font-size: 32px;
    }
    .carousel__item__title.title-1 {
        top: 280px;
    }
    .carousel__item__title.title-2 {
        top: 300px;
        left: 80px;
    }
    .carousel__item__title.title-3 {
        top: 520px;
    }
}

@media screen and (min-width: 1408px){
    .carousel__items {
        height: 580px;
        top: -100px;
    }
    .carousel__item__title{
        font-size: 34px;
    }
    .carousel__item__title.title-1 {
        top: 310px;
    }
    .carousel__item__title.title-2 {
        top: 330px;
        left: 90px;
    }
    .carousel__item__title.title-3 {
        top: 580px;
    }
}

@media screen and (min-width: 1536px){
    .carousel__items {
        height: 620px;
        top: -120px;
    }
    .carousel__item__title{
        font-size: 36px;
    }
    .carousel__item__title.title-1 {
        top: 340px;
    }
    .carousel__item__title.title-2 {
        top: 360px;
        left: 100px;
    }
    .carousel__item__title.title-3 {
        top: 640px;
    }
}

@media screen and (min-width: 1664px){
    .carousel__items {
        height: 640px;
        top: -140px;
    }
    .carousel__item__title{
        font-size: 38px;
    }
    .carousel__item__title.title-1 {
        top: 370px;
    }
    .carousel__item__title.title-2 {
        top: 390px;
        left: 110px;
    }
    .carousel__item__title.title-3 {
        top: 680px;
    }
}

@media screen and (min-width: 1792px){
    .carousel__items {
        height: 680px;
        top: -160px;
    }
    .carousel__item__title{
        font-size: 40px;
    }
    .carousel__item__title.title-1 {
        top: 400px;
    }
    .carousel__item__title.title-2 {
        top: 420px;
        left: 120px;
    }
    .carousel__item__title.title-3 {
        top: 730px;
    }
}

@media screen and (min-width: 1920px){
    .carousel__items {
        height: 750px;
        top: -180px;
    }
    .carousel__item__title{
        font-size: 42px;
    }
    .carousel__item__title.title-1 {
        top: 410px;
    }
    .carousel__item__title.title-2 {
        top: 450px;
        left: 130px;
    }
    .carousel__item__title.title-3 {
        top: 800px;
    }
}

.carousel__item {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    transition: opacity 2s;
    -webkit-transition: opacity 2s;
}
.carousel__item img {
    width: 100%;
    vertical-align: top;
}
.carousel__prev > label, .carousel__next > label {
    border: 1px solid #fff;
    border-radius: 50%;
    cursor: pointer;
    display: block;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    opacity: 0;
    z-index: 2;
}
.carousel__prev > label:hover, .carousel__prev > label:focus, .carousel__next > label:hover, .carousel__next > label:focus {
    opacity: 0.5 !important;
}
.carousel__prev > label:before, .carousel__prev > label:after, .carousel__next > label:before, .carousel__next > label:after {
    content: "";
    position: absolute;
    width: inherit;
    height: inherit;
}
.carousel__prev > label:before, .carousel__next > label:before {
    background: linear-gradient(to top, #fff 0%, #fff 10%, rgba(51, 51, 51, 0) 10%), linear-gradient(to left, #fff 0%, #fff 10%, rgba(51, 51, 51, 0) 10%);
    width: 60%;
    height: 60%;
    top: 20%;
}
.carousel__prev > label {
    left: 2%;
}
.carousel__prev > label:before {
    left: 35%;
    top: 20%;
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
}
.carousel__next > label {
    right: 2%;
}
.carousel__next > label:before {
    left: 10%;
    transform: rotate(315deg);
    -webkit-transform: rotate(315deg);
}
.carousel__nav {
    position: absolute;
    bottom: 3%;
    left: 0;
    text-align: center;
    width: 100%;
    z-index: 3;
}
.carousel__nav > label {
    border: 1px solid #fff;
    display: inline-block;
    border-radius: 50%;
    cursor: pointer;
    margin: 0 0.125%;
    width: 20px;
    height: 20px;
}