/* Service box
-------------------------------------------------- */
// SHORTCODES
@padding-row: 60px;

.service-box {
    position: relative;
    //margin-top: @padding-row;
    margin-bottom: @padding-row;
    h3 {
        font-size: 21px;
        font-weight: 500;
        margin-top:0;
        margin-bottom: 10px;
    }
    p{
        line-height: 1.8em;
        margin-top: 10px;
    }
    a {
        text-decoration: none;
        color:@color-ancient1;
    }
    &.text-light {
        h3 {
            color: #fff;
        }
    }

    &.filled, &.transparent {
        .service-icon {
            border-radius: 50%;
            background-color:@brand-color;
            padding: 16px;
            color: #fff;
            a {
                color: #fff;
            }
            span {
                margin-right:0;
            }
        }
    }
    &.transparent {
        .service-icon {
            background-color:rgba(0,0,0,.1);
        }
    }

    padding: 0 0 0 80px;
    .service-icon {
        position: absolute;
        a {
            text-decoration: none;
        }
    }
    &.small {
        padding: 0 0 0 48px;
    }
    &.medium {
        padding: 0 0 0 64px;
    }
    &.large {
        padding: 0 0 0 80px;
    }
    &.extra-small {
        padding: 0 0 0 32px;
    }
    &.filled,&.transparent {
        padding: 0 0 0 112px;
        &.small {
            padding: 0 0 0 80px;
        }
        &.medium {
            padding: 0 0 0 112px;
        }
        &.large {
            padding: 0 0 0 144px;
        }
        &.extra-small {
            padding: 0 0 0 48px;
        }
    }

    &.style-right {
        padding: 0 64px 0 0;
        text-align: right;
        .service-icon {
            right: 0;
            left: auto;
            span {
                margin-right:0;
            }
        }
        &.small {
            padding: 0 48px 0 0;
        }
        &.medium {
            padding: 0 64px 0 0;
        }
        &.large {
            padding: 0 80px 0 0;
        }
        &.extra-small {
            padding: 0 32px 0 0;
        }
        &.filled,&.transparent {
            padding: 0 112px 0 0;
            &.small {
                padding: 0 80px 0 0;
            }
            &.medium {
                padding: 0 112px 0 0;
            }
            &.large {
                padding: 0 144px 0 0;
            }
            &.extra-small {
                padding: 0 48px 0 0;
            }
        }
    }

    &.style-center {
        text-align: center;
        padding: 0;
        .service-icon {
            position: relative;
            margin-bottom:20px;
        }
        h3 {
            &:after {
                content:' ';
                width:30px;
                border-bottom:2px solid @brand-color;
                margin: 20px auto;
                display:block;
            }
        }
        &.filled,&.transparent {
            padding: 0;
            .service-icon {
                width: 96px;
                margin:0 auto 30px;
            }
            &.small {
                .service-icon {
                    width: 64px;
                }
            }
            &.large {
                .service-icon {
                    width: 128px;
                }
            }
            &.extra-small {
                .service-icon {
                    width: 32px;
                }
            }
        }
        &.style-above {
            text-align: left;
            h3:after {
                display: none;
            }
        }
    }

    &.style-bordered {
        padding: 20px 20px 30px;
        border: 1px solid @brand-color;
        text-align: center;
        margin-top: @padding-row + 48;
        .service-icon {
            position: relative;
            margin-left: auto;
            margin-right: auto;
            line-height: 96px;
            width: 96px;
            height: 96px;
            border-radius: 50%;
            border: 1px solid @brand-color;
            background-color: @content-bg-color;
            top: -68px;
            display: block;
            color:@brand-color;
            span {
                margin: 0;
                color: @brand-color;
                line-height: 1;
            }
        }
        &.small {
            margin-top: @padding-row + 32;
            .service-icon {
                line-height: 64px;
                width: 64px;
                height: 64px;
                top: -52px;
            }
            h3 {
                margin-top: -32px;
            }
        }
        &.medium {
            .service-icon {
                line-height: 96px;
                width: 96px;
                height: 96px;
                top: -68px;
            }
            h3 {
                margin-top: -48px;
            }
        }
        &.large {
            margin-top: @padding-row + 64;
            .service-icon {
                line-height: 128px;
                width: 128px;
                height: 128px;
                top: -84px;
            }
            h3 {
                margin-top: -64px;
            }
        }
        &.extra-small {
            margin-top: @padding-row + 16;
            .service-icon {
                line-height: 32px;
                width: 32px;
                height: 32px;
                top: -36px;
            }
            h3 {
                margin-top: -16px;
            }
        }

        h3 {
            margin-top: -48px;
        }
        p:last-child {
            margin-bottom:0;
        }
    }

    &.style-boxed {
        text-align: center;
        padding: 50px 40px;
        background-color:@color-ancient1;
        -webkit-box-shadow: 0px 0px 70px 0px rgba(0,0,0,0.15);
        -moz-box-shadow: 0px 0px 70px 0px rgba(0,0,0,0.15);
        box-shadow: 0px 0px 70px 0px rgba(0,0,0,0.15);
        .transition(all, 0.4s);
        .service-icon {
            position: relative;
            margin-bottom:30px;
            background: none;
        }
        h3 {
            margin-bottom: 15px;
        }
        p:last-child {
            margin-bottom:0;
        }
        &.transparent {
            padding: 30px 25px 40px;
            background-color:rgba(255,255,255,.1);
        }
        &:hover {
            background-color: @color-ancient1 !important;
            color: #fff;
            .service-icon {
                color: #fff;
                a {
                    color: #fff;
                }
                img {
                    filter: brightness(0) invert(1);
                }
            }
            h3, .more-link {
                color: #fff;
            }
        }
    }

    // Default font size and sizes
    .service-icon {
        font-size: 48px;
        position: absolute;
        top: 0;
        left: 0;
        line-height: 1;
    }
    &.extra-small .service-icon {
        font-size:16px;
    }
    &.small {
        font-size: 100%;
        .service-icon {
            font-size:23px;
        }
    }
    &.medium .service-icon {
        font-size: 48px;
    }
    &.large .service-icon {
        font-size: 64px;
    }
    &.filled,&.transparent {
        .service-icon {
            padding: 24px;
        }
        &.extra-small .service-icon {
            padding: 8px;
        }
        &.small .service-icon {
            padding: 16px;
        }
        &.medium .service-icon {
            padding: 24px;
        }
        &.large .service-icon {
            padding: 32px;
        }
    }
    &.style-inline {
        padding: 0 !important;
        .service-icon {
            position: absolute;
            font-size: 22px;
            left:0;
            top:0;
        }
        h3 {
            margin-left: 32px;
        }
        &.style-right {
            h3 {
                margin-left: 0;
                margin-right: 32px;
            }
        }
    }
    &.style-boxed {
        .service-icon {
            padding: 0 !important;
        }
    }
}