/*

===================================================================
CONTENT BOX - CONTENT-BOX.CSS
===================================================================
Table of contents

 - Global
 - Side image
 - Top icon
 - Side icon
 - Top icon
 - Badge
 - Info
 - Blog side and top
 - Testimonials
 - Team
 - Pricing table
 - Call to action

-------------------------------------------------------------------

# GLOBAL
===================================================================

*/

.cnt-box {
    position: relative;
    overflow: hidden;
}

.cnt-box:hover .img-box img {
    opacity: .8;
}

.cnt-box:hover .img-box:before {
    opacity: 1;
    transition: all 0s;
}

.cnt-box .caption h2 {
    font-size: 20px;
    margin-top: 0;
    margin-bottom: 15px;
}

.cnt-box .caption h3 {
    font-size: 15px;
}

.cnt-box .caption p {
    font-size: 15px;
    margin: 0;
}

.cnt-box .caption .btn, .cnt-box .caption .btn-text {
    margin-top: 15px;
}

.cnt-box.boxed {
    border-radius: 3px;
}

.cnt-box.boxed .caption {
    padding: 30px;
}

.cnt-box.align-center .caption {
    text-align: center;
}

.cnt-box.align-right .caption {
    text-align: right;
}

.cnt-box.align-left .caption {
    text-align: left;
}

.extra-field {
    display: inline-block;
}

.cnt-box .extra-field + p {
    margin-top: 15px;
}

.section-color .cnt-box.boxed .caption, .section-color .cnt-box-top-icon.boxed > i {
    background-color: #FFF;
}

/*

# SIDE IMAGE
===================================================================

*/
.cnt-box-side {
    display: flex;
}

.cnt-box-side > .img-box {
    width: 30%;
}

.cnt-box-side > .caption {
    width: 70%;
    padding-left: 30px;
}

.cnt-box-side.boxed > .img-box, .cnt-box-side.boxed > .img-box > img {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.cnt-box-side.align-right {
    flex-direction: row-reverse;
}

.cnt-box-side.align-right > .caption {
    padding-left: 0;
    padding-right: 30px;
}

/*

# TOP IMAGE
===================================================================

*/

.cnt-box-top .caption {
    padding-top: 30px;
}

.cnt-box-top.boxed > .img-box, .cnt-box-top.boxed > .img-box > img {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
}

/*

# SIDE ICON
===================================================================

*/

.cnt-box-side-icon {
    display: flex;
}

.cnt-box-side-icon > i {
    width: 50px;
    font-size: 50px;
    line-height: 50px;
    text-align: left;
    margin: 1px 0 0 1px;
}

.cnt-box-side-icon > .caption {
    width: 100%;
    padding-left: 30px;
}

.cnt-box-side-icon.boxed > i {
    padding: 30px;
    width: 80px;
    margin: 0;
}

.cnt-box-side-icon.align-right {
    flex-direction: row-reverse;
}

.cnt-box-side-icon.align-right > .caption {
    padding-left: 0;
    padding-right: 30px;
}

/*

# TOP ICON
===================================================================

*/

.cnt-box-top-icon > i {
    font-size: 50px;
    line-height: 50px;
    text-align: left;
    margin: 0 0 30px 1px;
    display: block;
}

.cnt-box-top-icon.boxed > i {
    margin: 0;
    padding: 30px 30px 0 30px;
}

.cnt-box-top-icon.align-center > i {
    text-align: center;
}

.cnt-box-top-icon.align-right > i {
    text-align: right;
}

/*

# BADGE
===================================================================

*/

.cnt-box-badge .caption {
    padding-top: 30px;
    position: relative;
}

.cnt-box-badge .badge {
    position: absolute;
    width: 50px;
    height: 50px;
    line-height: 50px;
    text-align: center;
    color: #fff;
    border-radius: 3px;
    top: -35px;
    right: 15px;
}

.cnt-box-badge.boxed .badge {
    right: 30px;
}

.cnt-box-badge.align-center .badge {
    left: 50%;
    margin-left: -25px;
}

.cnt-box-badge.align-right .badge {
    left: 15px;
    right: auto;
}

/*

# INFO
===================================================================

*/

.cnt-box-info {
    position: relative;
}

.cnt-box-info .cnt-info {
    padding: 15px 0;
}

.cnt-box-info .cnt-info > div {
    display: flex;
    justify-content: space-between;
}

.cnt-box-info .caption {
    padding-top: 30px;
}

.cnt-box-info .bottom-info {
    padding: 15px 0 0 0;
}

.cnt-box-info .bottom-info .caption > *:last-child {
    padding-bottom: 0;
    margin-bottom: 0;
}

.cnt-box-info .extra-field {
    position: absolute;
    z-index: 1;
    margin: 15px;
}

.cnt-box-info.boxed .extra-field {
    margin: 30px;
}

/*

# BLOG SIDE AND TOP
===================================================================

*/

.cnt-box-blog-side {
    display: flex;
}

.cnt-box-blog-side > .img-box {
    width: 30%;
}

.cnt-box-blog-side > .caption {
    width: 70%;
    padding-left: 30px;
}


.cnt-box-blog-side .icon-list, .cnt-box-blog-top .icon-list {
    font-size: 14px;
    line-height: 30px;
    margin-bottom: 15px;
}

.icon-list span.icon-links {
    display: flex;
}

.cnt-box-blog-side .blog-date, .cnt-box-blog-top .blog-date {
    position: absolute;
    width: 80px;
    height: 80px;
    color: #FFF;
    z-index: 5;
    text-align: center;
}

.cnt-box-blog-side .blog-date span, .cnt-box-blog-top .blog-date span {
    display: block;
}

.cnt-box-blog-side .blog-date span:first-child, .cnt-box-blog-top .blog-date span:first-child {
    font-size: 25px;
    padding: 15px 0 5px 0;
}

.cnt-box-blog-side .blog-date span:last-child, .cnt-box-blog-top .blog-date span:last-child {
    font-size: 12px;
}

.cnt-box-blog-top .caption h2 {
    margin-top: 30px;
}

.cnt-box-blog-side .icon-list i, .cnt-box-blog-top .icon-list i {
    font-size: 115%;
}

.cnt-box-blog-side.align-center .icon-list, .cnt-box-blog-top.align-center .icon-list {
    justify-content: center;
}

.cnt-box-blog-side.align-right .icon-list, .cnt-box-blog-top.align-right .icon-list {
    justify-content: flex-end;
}

.align-right .icon-list span.icon-links {
    margin-right: 0;
}

.cnt-box-blog-side.align-right {
    flex-direction: row-reverse;
}

.cnt-box-blog-side.align-right > .caption {
    padding-left: 0;
    padding-right: 30px;
}

.cnt-box-blog-side.align-right .blog-date, .cnt-box-blog-top.align-right .blog-date {
    right: 0;
}

.cnt-box-blog-side.align-right .icon-list > span, .cnt-box-blog-top.align-right .icon-list > span {
    margin-left: 25px;
    margin-right: 0;
}

/*

# TESTIMONIALS
===================================================================

*/

.cnt-box-testimonials > img, .cnt-box-testimonials-bubble .thumb-bar img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
}

.cnt-box-testimonials > img {
    margin: 0 0 30px 0;
}

.cnt-box-testimonials > p:not(.testimonial-info) {
    margin-top: 0;
}

.cnt-box-testimonials .testimonial-info span {
    font-size: 14px;
    display: inline-block;
    margin-right: 10px;
}

.cnt-box-testimonials-bubble > p {
    text-align: left;
    border-radius: 3px;
    padding: 25px;
    margin-bottom: 15px;
    position: relative;
}

.cnt-box-testimonials-bubble > p:after {
    position: absolute;
    bottom: -18px;
    left: 30px;
    content: '';
    display: block;
    border-width: 20px;
    border-style: solid;
    border-top-width: 2px;
    border-top-color: rgba(0, 0, 0, 0);
    border-bottom-color: rgba(0, 0, 0, 0);
    border-left-color: rgba(0, 0, 0, 0);
}

.cnt-box-testimonials-bubble .thumb-bar {
    display: flex;
    align-items: center;
    margin-top: 30px;
}

.cnt-box-testimonials-bubble .thumb-bar p {
    margin: 0;
}

.cnt-box-testimonials-bubble .thumb-bar img {
    margin-right: 15px;
}

.cnt-box-testimonials-bubble .thumb-bar span {
    font-size: 14px;
    display: block;
}

.cnt-box-testimonials-bubble .thumb-bar span:last-child {
    font-size: 12px;
}

.cnt-box-testimonials.align-center {
    text-align: center;
}

.cnt-box-testimonials.align-center > img {
    margin-left: auto;
    margin-right: auto;
}

.cnt-box-testimonials.align-right {
    text-align: right;
}

.cnt-box-testimonials.align-right > img {
    margin-left: auto;
    margin-right: 0;
}

.cnt-box-testimonials.align-right .testimonial-info span {
    margin-left: 10px;
    margin-right: 0;
}
/*

# TEAM
===================================================================

*/
.cnt-box-team {
    padding-bottom: 145px;
    border-radius: 3px;
}

.cnt-box-team .caption h2 {
    margin-bottom: 5px;
}

.cnt-box-team > span {
    font-size: 14px;
    display: block;
}

.cnt-box-team .caption {
    position: absolute;
    text-align: center;
    padding: 25px 15px 0 15px;
    height: 145px;
    overflow: hidden;
    background-color: #FFF;
    margin: 0;
    bottom: 0;
    z-index: 9;
    right: 0;
    left: 0;
    transition: all .5s;
}

.cnt-box-team:hover .caption {
    height: 200px;
}

.cnt-box-team > img {
    width: 100%;
    display: block;
    transition: all .3s;
}

.cnt-box-team:hover > img {
    transform: translateY(10px) scale(1.1);
}

.cnt-box-team .icon-links {
    justify-content: center;
    margin: 20px 0;
}

.cnt-box-team.align-right .icon-links {
    justify-content: flex-end;
}

.cnt-box-team.align-left .icon-links {
    justify-content: flex-start;
}
/*

# PRICING TABLE
===================================================================

*/
.cnt-pricing-table {
    text-align: center;
    border-width: 1px;
    border-style: solid;
    border-radius: 3px;
    transition: all .5s;
}

.cnt-pricing-table:hover {
    transform: translateY(15px);
}

.cnt-pricing-table .top-area, .cnt-pricing-table .bottom-area {
    padding: 30px;
}

.cnt-pricing-table > ul {
    list-style: none;
    padding: 0;
    margin: 0 0 30px 0;
}

.cnt-pricing-table > ul > li {
    list-style: none;
    padding: 5px 30px;
    position: relative;
}

.cnt-pricing-table h2 {
    font-size: 20px;
}

.cnt-pricing-table .price {
    font-size: 30px;
    font-weight: 300;
    margin: 30px 0 20px 0;
}

.cnt-pricing-table .price span {
    font-size: 50px;
    display: inline-block;
    margin-left: 5px;
}

.cnt-pricing-table .price label {
    display: inline;
    font-weight: normal;
    font-style: normal;
}

.cnt-pricing-table .top-area p {
    margin: 0;
}

.pricing-table-big {
    padding: 20px 0;
    margin-top: -20px;
    height: calc(100% + 40px);
}

.pricing-table-big > ul {
    margin: 20px 0 30px 0;
}

.cnt-pricing-table.align-right {
    text-align: right;
}

.cnt-pricing-table.align-left {
    text-align: left;
}
/*

# CALL TO ACTION
===================================================================

*/
.cnt-call {
    padding: 30px 50px;
    border-radius: 3px;
    text-align: center;
}

.cnt-call > i {
    display: inline-block;
    font-size: 30px;
    margin-bottom: 15px;
}

.cnt-call.align-right {
    text-align: right;
}

.cnt-call.align-right > i {
    margin-right: 0;
}

.cnt-call.align-left {
    text-align: left;
}

.cnt-call.align-left > i {
    margin-left: 0;
}
/*

# RESPONSIVE
===================================================================

*/
@media (max-width: 575.98px) {
    .cnt-box-side {
        display: block;
    }

    .cnt-box-side > .img-box {
        width: 100%;
        margin-bottom: 30px;
    }

    .cnt-box-side.boxed > .img-box {
        margin-bottom: 0;
    }

    .cnt-box-side > .caption {
        width: 100%;
        padding-left: 0;
    }

}