html,
body,
iframe,
header,
footer,
main,
aside,
nav,
section,
article,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ul,
ol,
li,
hr,
blockquote,
pre,
a,
address,
del,
em,
strong,
sub,
sup,
figure,
figcaption,
img,
form,
fieldset,
legend,
label,
input,
select,
textarea,
button,
table,
thead,
tbody,
tfoot,
tr,
th,
td {
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    background: none;
    font-size: 100%;
    font: inherit;
    vertical-align: baseline;
}

html,
body,
iframe,
header,
footer,
main,
aside,
nav,
section,
article,
div,
h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd,
ul,
ol,
li,
hr,
pre,
figure,
figcaption,
address,
form,
fieldset,
legend,
label,
input,
select,
textarea,
button {
    display: block;
}

input,
select,
textarea,
button {
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-appearance: none;
}

html,
body {
    -webkit-text-size-adjust: none;
}

dl,
dt,
dd,
ul,
ol,
li {
    list-style: none;
}

table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
}

a,
button {
    cursor: pointer;
}

/**/
/* defaults */
/**/

html,
body {
    background: #fff;
    font: 400 15px/1 Roboto, Helvetica, Arial, sans-serif;
    color: #535353;
}

a {
    text-decoration: none;
    color: #037cff;
    -ms-transition: background 0.3s, color 0.3s;
    -moz-transition: background 0.3s, color 0.3s;
    -webkit-transition: background 0.3s, color 0.3s;
}

a:hover {
    text-decoration: none;
    color: #000;
}

/**/
/* headings */
/**/

h1 {
    font-size: 65px;
    font-weight: 100;
    color: #000;
}

/**/
/* forms */
/**/

select,
textarea,
input[type="url"],
input[type="tel"],
input[type="text"],
input[type="email"],
input[type="password"] {
    border-radius: 0;
    font-size: 13px;
    line-height: 17px;
    font-weight: 300;
    color: #000;
    -webkit-appearance: none;
}

textarea {
    resize: none;
}

/**/
/* buttons */
/**/

.button {
    position: relative;
    display: inline-block;
    padding: 12px 30px;
    border-radius: 5px;
    background: #037cff;
    font-size: 15px;
    line-height: 24px;
    text-align: center;
    color: #fff;
    -ms-transition: background 0.3s, color 0.3s;
    -moz-transition: background 0.3s, color 0.3s;
    -webkit-transition: background 0.3s, color 0.3s;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    cursor: pointer;
}

.button:hover {
    background: none;
    box-shadow: inset 0 0 0 1px #037cff;
    color: #037cff;
}

.button i {
    position: absolute;
    top: 0;
    left: 10px;
    width: 38px;
    font-size: 18px;
    line-height: 48px;
}

.button-left {
    margin-right: -1px;
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.button-middle {
    border-radius: 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.button-middle + .button-middle,
.button-middle + .button-right {
    margin-left: -1px;
}

.button-right {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.button-with-left-icon {
    padding-left: 48px;
}

.button-with-right-icon {
    padding-right: 48px;
}

.button-with-right-icon i {
    right: 10px;
    left: auto;
}

.button-alt {
    background: none;
    box-shadow: inset 0 0 0 1px #037cff;
    color: #037cff;
}

.button-alt:hover {
    background: #037cff;
    color: #fff;
}

.button-xlarge {
    padding: 16px 45px;
    font-size: 18px;
    line-height: 26px;
}

.button-large {
    padding: 16px 40px;
    font-size: 16px;
    line-height: 21px;
}

.button-small {
    padding: 10px 25px;
    font-size: 14px;
    line-height: 23px;
}

.button-xsmall {
    padding: 10px 20px;
    font-size: 13px;
    line-height: 18px;
}

.button-xsmall i {
    width: 28px;
    font-size: 14px;
    line-height: 38px;
}

.button-xsmall.button-with-left-icon {
    padding-left: 38px;
}

.button-white {
    background: #fff;
    box-shadow: inset 0 0 0 1px #fff;
    color: #000;
}

.button-white:hover {
    box-shadow: inset 0 0 0 1px #fff;
    color: #fff;
}

.button-white.button-alt {
    background: none;
    color: #fff;
}

.button-white.button-alt:hover {
    background: #fff;
    color: #000;
}

.button-full-width {
    display: block;
    width: 100%;
}

/*----------------------------------------------*/
/*                   PLUGINS                    */
/*----------------------------------------------*/
/**/
/* isotope */
/**/

.isotope-item {
    z-index: 2;
}

.isotope-item.isotope-hidden {
    z-index: 1;
}

.isotope,
.isotope .isotope-item {
    transition-duration: 0.6s;
    -o-transition-duration: 0.6s;
    -ms-transition-duration: 0.6s;
    -moz-transition-duration: 0.6s;
    -webkit-transition-duration: 0.6s;
}

.isotope {
    transition-property: height, width;
    -o-transition-property: height, width;
    -ms-transition-property: height, width;
    -moz-transition-property: height, width;
    -webkit-transition-property: height;
}

.isotope .isotope-item {
    transition-property: transform;
    -o-transition-property: -o-transform, opacity;
    -ms-transition-property: -ms-transform, opacity;
    -moz-transition-property: -moz-transform, opacity;
    -webkit-transition-property: -webkit-transform, opacity;
}

.isotope.no-transition,
.isotope.no-transition .isotope-item,
.isotope .isotope-item.no-transition {
    transition-duration: 0s;
    -o-transition-duration: 0s;
    -ms-transition-duration: 0s;
    -moz-transition-duration: 0s;
    -webkit-transition-duration: 0s;
}

/**/
/* owl carousel */
/**/

.owl-buttons {
    position: absolute;
    right: 0;
    bottom: 100%;
    margin-bottom: 10px;
    font-size: 0;
}

.owl-buttons div {
    display: inline-block;
    width: 28px;
    height: 28px;
    margin-left: -1px;
    border: 1px solid #c5c5c5;
    font-size: 24px;
    line-height: 26px;
    text-align: center;
    color: #c5c5c5;
    -ms-transition: border 0.3s, background 0.3s, color 0.3s;
    -moz-transition: border 0.3s, background 0.3s, color 0.3s;
    -webkit-transition: border 0.3s, background 0.3s, color 0.3s;
}

.owl-buttons div:hover {
    position: relative;
    border-color: #037cff;
    background: #037cff;
    color: #fff;
}

.owl-buttons .owl-prev {
    padding-right: 2px;
    border-radius: 5px 0 0 5px;
}

.owl-buttons .owl-next {
    padding-left: 2px;
    border-radius: 0 5px 5px 0;
}

.owl-pagination {
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    margin-top: 14px;
    font-size: 0;
    text-align: center;
}

.owl-pagination div {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin: 0 4px;
    border-radius: 50%;
    background: #b8b8b8;
}

.owl-pagination .active {
    background: none;
    box-shadow: 0 0 0 1px #037cff;
}

@media screen and (max-width: 980px) {
    /* pad */
    .owl-buttons {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .owl-buttons {
        display: block;
    }
}

/*----------------------------------------------*/
/*                    LAYOUT                    */
/*----------------------------------------------*/
/**/
/* clearfix */
/**/

.clearfix:after {
    content: '';
    display: table;
    clear: both;
}

/**/
/* grid */
/**/

.grid-row {
    width: 1170px;
    margin: 0 auto;
}

.grid-row:after {
    content: '';
    display: table;
    clear: both;
}

.grid-col {
    float: left;
    margin-left: 30px;
}

.grid-col:first-child {
    margin-left: 0;
}

.grid-col-3 {
    width: 270px;
}

.grid-col-4 {
    width: 370px;
}

.grid-col-6 {
    width: 570px;
}

.grid-col-9 {
    width: 870px;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .grid-row {
        width: 940px;
    }

    .grid-col {
        margin-left: 20px;
    }

    .grid-col-3 {
        width: 220px;
    }

    .grid-col-4 {
        width: 300px;
    }

    .grid-col-6 {
        width: 460px;
    }

    .grid-col-9 {
        width: 700px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .grid-row {
        width: 738px;
    }

    .grid-col {
        margin-left: 18px;
    }

    .grid-col-3 {
        width: 171px;
    }

    .grid-col-4 {
        width: 234px;
    }

    .grid-col-6 {
        width: 360px;
    }

    .grid-col-9 {
        width: 549px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .grid-row {
        width: auto;
        margin: 0 20px;
    }

    .grid-col {
        float: none;
        width: 100%;
        margin: 0 0 60px 0;
    }

    .grid-col:last-child {
        margin-bottom: 0;
    }
}

/**/
/* page */
/**/

.page {
    position: relative;
    overflow: hidden;
}

.page-boxed {
    max-width: 1250px;
    margin: 0 auto;
    box-shadow: 0 0 20px rgba(0, 0, 0, 0.5);
}

.page-header-top {
    position: relative;
    z-index: 10;
    padding: 6px 0;
    /* IE10 Consumer Preview */

    background-image: -ms-linear-gradient(top, #939393 0%, #696969 100%);
    /* Mozilla Firefox */

    background-image: -moz-linear-gradient(top, #939393 0%, #696969 100%);
    /* Opera */

    background-image: -o-linear-gradient(top, #939393 0%, #696969 100%);
    /* Webkit (Safari/Chrome 10) */

    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #939393), color-stop(1, #696969));
    /* Webkit (Chrome 11+) */

    background-image: -webkit-linear-gradient(top, #939393 0%, #696969 100%);
    /* W3C Markup, IE10 Release Preview */

    background-image: linear-gradient(to bottom, #939393 0%, #696969 100%);
}

.page-header-top .switcher {
    position: absolute;
    top: 100%;
    left: 50%;
    display: none;
    width: 27px;
    height: 9px;
    margin: 9px 0 0 -14px;
    background: url(../img/page-header-top-switcher.png);
}

.page-header-bottom {
    position: relative;
    z-index: 9;
    padding: 12px 0;
    background: rgba(255, 255, 255, 0.9);
    transition: padding 0.3s, background 0.9s;
    -ms-transition: padding 0.3s, background 0.9s;
    -moz-transition: padding 0.3s, background 0.9s;
    -webkit-transition: padding 0.3s, background 0.9s;
}

.page-header-bottom.fixed {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
}

.page-header-bottom .grid-row {
    position: relative;
}

.page-header-bottom + .page-header-bottom-holder {
    position: absolute;
    height: 100px;
    pointer-events: none;
    transition: height 0.3s;
    -ms-transition: height 0.3s;
    -moz-transition: height 0.3s;
    -webkit-transition: height 0.3s;
}

.page-header-bottom.fixed {
    position: fixed;
    z-index: 100;
    top: 0;
    left: 0;
    width: 100%;
    padding: 12px 0;
}

.page-header-bottom.fixed + .page-header-bottom-holder {
    position: static;
    height: 70px;
}

.page-header-bottom-alt {
    position: fixed;
    left: 0;
    top: -150px;
    width: 100%;
    opacity: 0;
    color: #037cff;
    -ms-transition: opacity 0.3s, top 0.5s;
    -moz-transition: opacity 0.3s, top 0.5s;
    -webkit-transition: opacity 0.3s, top 0.5s;
    transition: opacity 0.3s, top 0.5s;
}

.page-header-bottom-alt + .page-header-bottom-holder {
    position: absolute;
    top: calc(100vh + 99px);
}

.page-header-bottom-alt.fixed {
    left: 0;
    opacity: 1;
    display: block;
}

.page-header-bottom-alt.fixed + .page-header-bottom-holder {
    position: absolute;
    top: 100vh;
}

.page-content {
    position: relative;
    padding: 70px 0;
    background: #fff;
}

.no-bottom-padding {
    padding-bottom: 0px;
}

.page-content-alt {
    position: relative;
    padding: 70px 0 10px;
    background: #f7f7f7;
}

.page-content-alt-2 {
    position: relative;
    padding: 70px 0 10px;
    background: #fff;
}

.page-content .grid-row,
.page-content-alt .grid-row,
.page-content-alt-2 .grid-row {
    margin-bottom: 60px;
}

.page-footer-top {
    position: relative;
    overflow: hidden;
    padding-bottom: 45px;
    padding-top: 45px;
    background: #f4f4f4;

}

.page-footer-top .grid-row:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d2d2d2;
    background: -ms-linear-gradient(left, #f4f4f4 0%, #e0e0e0 25%, #e0e0e0 75%, #f4f4f4 100%);
    background: -moz-linear-gradient(left, #f4f4f4 0%, #e0e0e0 25%, #e0e0e0 75%, #f4f4f4 100%);
    background: -webkit-linear-gradient(left, #f4f4f4 0%, #e0e0e0 25%, #e0e0e0 75%, #f4f4f4 100%);
}

.page-footer-top .grid-col {
    margin-bottom: 0;
    margin-top: 50px;
}

.page-footer-top .grid-row {
    margin-bottom: 0;
    position: relative;
}

.page-footer-bottom {
    position: relative;
    padding: 30px 0;
    background: #e8e8e8;
}

.page-footer-bottom .grid-row {
    position: relative;
    margin-bottom: 0;
}

.page-footer-bottom .grid-row:before {
    content: '';
    position: absolute;
    top: -30px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d2d2d2;
    background: -ms-linear-gradient(left, #e8e8e8 0%, #d2d2d2 25%, #d2d2d2 75%, #e8e8e8 100%);
    background: -moz-linear-gradient(left, #e8e8e8 0%, #d2d2d2 25%, #d2d2d2 75%, #e8e8e8 100%);
    background: -webkit-linear-gradient(left, #e8e8e8 0%, #d2d2d2 25%, #d2d2d2 75%, #e8e8e8 100%);
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
    /* retina */
only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
    .page-header-top .switcher {
        background-image: url(../img/page-header-top-switcher@2x.png);
        background-size: 27px 9px;
    }
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .page-boxed {
        max-width: 1000px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .page-boxed {
        max-width: 788px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .page-header-top {
        position: relative;
        margin-top: 0px;
        padding: 0;
        text-align: center;
        transition: margin 0.3s;
        -ms-transition: margin 0.3s;
        -moz-transition: margin 0.3s;
        -webkit-transition: margin 0.3s;
    }

    .page-header-top .top-button1 {
        margin-left: 30%;
    }

    .page-header-top .row {
        margin: 0 -20px;
        padding: 6px 0;
        /*border-bottom: 1px solid #a8a5a5;*/
    }

    .page-header-top .row:last-of-type {
        border-bottom: none;
    }

    .page-header-top .row + .row {
        margin-top: 1px;
    }

    .page-header-top .switcher {
        display: block;
    }

    .page-header-top.visible {
        margin-top: 0;
    }

    .page-header-bottom-alt {
        position: static;
        opacity: 1;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
    }
}

/*----------------------------------------------*/
/*                    HEADER                    */
/*----------------------------------------------*/
/**/
/* language selector */
/**/

.language-selector {
    float: right;
    margin-right: 35px;
    font-size: 12px;
    line-height: 23px;
    color: #fff;
}

.language-selector i {
    display: block;
    float: left;
    margin-right: 5px;
    font-size: 19px;
    line-height: 23px;
}

.language-selector a {
    display: block;
    padding: 0 10px;
    color: #fff;
}

.language-selector span {
    display: block;
    float: left;
}

.language-selector div {
    position: relative;
    float: left;
    height: 21px;
    margin-left: 6px;
    border: 1px solid #b4b4b4;
    border-radius: 5px;
    line-height: 21px;
    cursor: default;
}

.language-selector div:after {
    content: '';
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 3px;
}

.language-selector div i {
    display: inline-block;
    vertical-align: middle;
    float: none;
    margin: 0 0 0 10px;
    font-size: 12px;
    line-height: 23px;
}

.language-selector div ul {
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    display: none;
    min-width: 100px;
    overflow: hidden;
    margin-top: 3px;
    border-radius: 5px;
    background: rgba(255, 255, 255, 0.95);
}

.language-selector div li {
    border-top: 1px solid #e2e2e2;
    text-align: left;
}

.language-selector div li:first-child {
    border-top: 0;
}

.language-selector div ul a {
    padding: 2px 10px;
    color: #535353;
}

.language-selector div ul a:hover {
    background: #037cff;
    color: #fff;
}

.language-selector div:hover ul {
    display: block;
}

@media screen and (max-width: 767px) {
    /* phone */
    .language-selector {
        float: none;
        display: inline-block;
        vertical-align: middle;
        margin: 0;
    }
}

/**/
/* cart summary */
/**/

.cart-summary {
    float: left;
    font-size: 12px;
    line-height: 23px;
    color: #fff;
}

.cart-summary i {
    display: block;
    float: left;
    margin-right: 5px;
    font-size: 19px;
    line-height: 23px;
}

.cart-summary a {
    display: block;
    padding: 0 10px;
    color: #fff;
}

.cart-summary span {
    display: block;
    float: left;
}

.cart-summary div {
    position: relative;
    float: left;
    height: 21px;
    margin-left: 6px;
    border: 1px solid #b4b4b4;
    border-radius: 5px;
    line-height: 21px;
    cursor: default;
}

.cart-summary div:after {
    content: '';
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    height: 3px;
}

.cart-summary div i {
    display: inline-block;
    vertical-align: middle;
    float: none;
    margin: 0 0 0 10px;
    font-size: 12px;
    line-height: 23px;
}

.cart-summary div ul {
    position: absolute;
    z-index: 100;
    top: 100%;
    left: 0;
    display: none;
    width: 240px;
    overflow: hidden;
    margin-top: 3px;
    border-radius: 10px;
    background: #fff;
}

.cart-summary div:hover ul {
    display: block;
}

.cart-summary div li {
    min-height: 54px;
    padding: 15px;
    border-bottom: 1px solid #e9e9e9;
    font-size: 13px;
    line-height: 18px;
    color: #000;
}

.cart-summary div li a {
    display: inline;
    padding: 0;
    color: #535353;
}

.cart-summary div li a:hover {
    color: #037cff;
}

.cart-summary div li img {
    display: block;
    float: left;
    width: 54px;
    height: 54px;
    margin-right: 10px;
    border-radius: 10px;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.cart-summary div li img:hover {
    opacity: 0.7;
}

.cart-summary div .subtotal {
    min-height: 0;
    padding: 9px 0 9px 0;
    border: 0;
    text-align: center;
    color: #037cff;
}

.cart-summary div .total {
    min-height: 34px;
    padding: 0;
    line-height: 34px;
    text-align: center;
}

.cart-summary div .total i {
    display: inline-block;
    float: none;
    margin: 0;
    font-size: 14px;
    line-height: 1;
}

.cart-summary div .total a {
    display: block;
    float: right;
    width: 120px;
    border: 1px solid #037cff;
    border-radius: 0 0 10px 0;
    background: #037cff;
    color: #fff;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.cart-summary div .total a:hover {
    background: #fff;
    color: #037cff;
}

.cart-summary div .total a:first-child {
    float: left;
    width: 119px;
    border-radius: 0 0 0 10px;
}

@media screen and (max-width: 767px) {
    /* phone */
    .cart-summary {
        float: none;
        display: inline-block;
        vertical-align: middle;
    }

    .cart-summary div ul {
        left: 50%;
        margin-left: -120px;
    }
}

/**/
/* follow us */
/**/

.follow-us a {
    display: block;
    float: left;
    width: 23px;
    height: 23px;
    margin-left: 5px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.8);
    color: #7d7d7d;
    font-size: 16px;
    line-height: 23px;
    text-align: center;
    -ms-transition: background 0.3s;
    -moz-transition: background 0.3s;
    -webkit-transition: background 0.3s;
}

.follow-us a:hover {
    background: #037cff;
    color: #fff;
}

.follow-us a:last-child {
    margin-left: 0;
}

@media screen and (max-width: 767px) {
    /* phone */
    .follow-us {
        display: inline-block;
        vertical-align: middle;
    }
}

/**/
/* logo */
/**/

.logo {
    position: relative;
    float: left;
    height: 50px;
    transition: height 0.3s;
    -ms-transition: height 0.3s;
    -moz-transition: height 0.3s;
    -webkit-transition: height 0.3s;
}

.logo img {
    position: relative;
    display: block;
    width: auto;
    height: 100%;
}

.page-header-bottom.fixed .logo {
    height: 45px;
}

@media screen and (max-width: 767px) {
    /* phone */
    .logo {
        height: 38px;
    }
}

/**/
/* main nav */
/**/

.main-nav {
    position: absolute;
    top: 50%;
    right: 0;
    margin-top: -19px;
}

.main-nav li {
    position: relative;
    display: block;
    float: left;
    width: 107px;
    margin-left: 3px;
    padding-bottom: 2px;
    font-size: 13px;
    line-height: 34px;
    font-weight: 400;
    text-align: center;
}

.main-nav li a {
    display: block;
    color: #333333;
}

.main-nav li a img {
    vertical-align: middle;
}

.main-nav li:hover > a {
    background: #037cff;
    color: #fff;
}

.main-nav li .active {
    border-color: transparent;
    background: #037cff;
    color: #fff;
}

.main-nav li ul {
    position: absolute;
    z-index: 10;
    top: 100%;
    left: -9999px;
    width: 200px;
    border-radius: 5px;
    box-shadow: 0 0 12px rgba(0, 0, 0, 0.1);
    opacity: 0;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.main-nav li:hover > ul {
    left: 0;
    opacity: 1;
}

.main-nav li li {
    float: none;
    width: auto;
    margin: 0;
    padding: 0;
    border-top: 1px solid #e2e2e2;
    line-height: 39px;
    font-weight: 300;
    text-align: left;
}

.main-nav li li:first-child {
    border-top: 0;
}

.main-nav li li a {
    border: none;
    padding-left: 35px;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 0;
    color: #535353;
}

.main-nav li li:first-child > a {
    border-radius: 5px 5px 0 0;
}

.main-nav li li:last-child > a {
    border-radius: 0 0 5px 5px;
}

.main-nav li li a:hover,
.main-nav li li a.active {
    background: #037cff;
    color: #fff;
}

.main-nav li li ul:before {
    content: '';
    position: absolute;
    top: 0;
    right: 100%;
    width: 2px;
    height: 100%;
    background: transparent;
}

.main-nav li:hover li:hover ul {
    top: 0;
    left: 100%;
    margin-left: 2px;
}

@media screen and (max-width: 980px) {
    /* pad */
    .main-nav li {
        width: 87px;
        font-size: 12px;
    }

    .main-nav li ul {
        width: 150px;
    }

    .main-nav li li a {
        padding-left: 20px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .main-nav {
        display: none;
    }
}

/**/
/* mobile nav */
/**/

.mobile-nav {
    position: absolute;
    top: 50%;
    right: 0;
    display: none;
    margin-top: -15px;
}

.mobile-nav ul {
    position: absolute;
    z-index: 98;
    top: 100%;
    right: 0;
    width: 240px;
    margin-top: 37px;
    padding: 14px 15px 15px;
    border-radius: 10px;
    background: rgba(243, 242, 242, 0.6);
    opacity: 0;
    pointer-events: none;
    transform: translate(270px, 0);
    -ms-transform: translate(270px, 0);
    -moz-transform: translate(270px, 0);
    -webkit-transform: translate(270px, 0);
    transition: opacity 0.3s, transform 0.3s;
    -ms-transition: opacity 0.3s, -ms-transform 0.3s;
    -moz-transition: opacity 0.3s, -moz-transform 0.3s;
    -webkit-transition: opacity 0.3s, -webkit-transform 0.3s;
}

.mobile-nav ul.opened {
    z-index: 99;
    opacity: 1;
    pointer-events: all;
    transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
}

.mobile-nav ul.closed {
    z-index: 98;
    opacity: 0;
    pointer-events: none;
    transform: translate(-270px, 0);
    -ms-transform: translate(-270px, 0);
    -moz-transform: translate(-270px, 0);
    -webkit-transform: translate(-270px, 0);
}

.mobile-nav ul li {
    margin-top: 1px;
}

.mobile-nav ul a {
    position: relative;
    display: block;
    padding: 10px 0 10px 15px;
    border-radius: 5px;
    background: #ebebeb;
    font-size: 13px;
    line-height: 16px;
    color: #535353;
}

.mobile-nav ul a:hover,
.mobile-nav ul a.active {
    color: #037cff;
}

.mobile-nav ul i {
    display: block;
    float: right;
    width: 36px;
    height: 16px;
    font-size: 14px;
    line-height: 16px;
    text-align: center;
}

.mobile-nav ul .back {
    background: #e1e1e1;
    text-align: center;
}

.mobile-nav ul .back em {
    position: relative;
    top: -1px;
    font-style: normal;
}

.mobile-nav ul:nth-child(2) {
    text-transform: uppercase;
    transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    -moz-transform: translate(0, 20px);
    -webkit-transform: translate(0, 20px);
}

.mobile-nav ul:nth-child(2).opened {
    transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    -moz-transform: translate(0, 0);
    -webkit-transform: translate(0, 0);
}

.mobile-nav ul:nth-child(2).closed {
    transform: translate(-270px, 0);
    -ms-transform: translate(-270px, 0);
    -moz-transform: translate(-270px, 0);
    -webkit-transform: translate(-270px, 0);
}

.mobile-nav .switcher {
    display: block;
    font-size: 16px;
    line-height: 30px;
    color: #535353;
}

.mobile-nav .switcher:after {
    content: 'MENU';
}

.mobile-nav .switcher i {
    display: block;
    float: left;
    width: 30px;
    height: 30px;
    margin-right: 6px;
    border-radius: 5px;
    background: #4c7092;
    background: -ms-linear-gradient(top, #4c7092 0%, #436381 100%);
    background: -moz-linear-gradient(top, #4c7092 0%, #436381 100%);
    background: -webkit-linear-gradient(top, #4c7092 0%, #436381 100%);
    font-size: 14px;
    line-height: 32px;
    text-align: center;
    color: #fff;
}

.mobile-nav .switcher.opened:after {
    content: 'CLOSE';
}

.mobile-nav .switcher.opened i {
    line-height: 30px;
}

.mobile-nav .switcher.opened i:before {
    content: "\f00d";
}

@media screen and (max-width: 767px) {
    /* phone */
    .mobile-nav {
        display: block;
    }
}

/**/
/* page-title */
/**/

.page-title {
    position: relative;
    z-index: 2;
    background: #f5f5f5;
    border-top: 1px solid #e6e6e6;
}

.page-title h1 {
    float: left;
    margin: 25px 10px -10px 0;
    font-size: 35px;
    line-height: 44px;
    font-weight: 400;
    color: #037cff;
}

.page-title h1 i {
    display: block;
    float: left;
    margin: 11px 6px 0 0;
    width: 17px;
    height: 18px;
    padding-left: 1px;
    border: 2px solid #037cff;
    border-radius: 50%;
    font-size: 16px;
    line-height: 18px;
    text-align: center;
}

.page-title nav {
    float: right;
    padding: 34px 0;
    font-size: 13px;
    line-height: 24px;
}

.page-title nav a {
    color: #000;
}

.page-title nav span {
    color: #037cff;
}

/**/
/* parallaxify */
/**/

.slideshow-wrap * {
    line-height: inherit !important;
}

#scene {
    position: absolute;
    top: 0;
    width: 104%;
    left: -2%;
}

#bg_substrate {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1080px;
    background: #fff none 50% 0 no-repeat;
    background-size: cover;
}

.parallaxify-wrap {
    position: relative;
    overflow: hidden;
}

#bg_container {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 1080px;
    background-color: transparent;
    background-position: 50% 0;
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (max-width: 980px) {
    /* pad */
    #bg_container,
    #bg_substrate {
        height: 100vw;
    }
}

@media screen and (max-width: 479px) {
    /* pad */
    .page-header-top .top-button1 {
        margin-left: 25%;
    }

    #bg_container,
    #bg_substrate {
        height: 120vw;
    }
}

/**/
/* slideshow */
/**/

.slideshow-wrap {
    padding: 60px 0px;
}

.slideshow h1 {
    font-size: 74px;
    line-height: 1;
    font-weight: 100;
    text-transform: uppercase;
    color: cornflowerblue;
}

.slideshow h2 {
    font-size: 27px;
    line-height: 1;
    font-weight: 100;
    color: deepskyblue;
}

@media screen and (max-width: 1200px) {
    .slideshow-wrap {
        width: 940px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 980px) {
    .slideshow-wrap {
        width: 738px;
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
    .slideshow-wrap {
        width: auto;
        margin: 0 20px;
        padding: 30px 0px;
    }
}

/**/
/* features */
/**/

.ft_wrapper {
    position: relative;
}

.ft_wrapper > * {
    position: relative;
    z-index: 1;
}

.ft_wrapper:before {
    content: "";
    position: absolute;
    top: 0;
    height: 350px;
    left: 0;
    right: 0;
    background: -webkit-linear-gradient(bottom, #fff 65%, rgba(255, 255, 255, 0.3));
    background: -moz-linear-gradient(bottom, #fff 65%, rgba(255, 255, 255, 0.3));
    background: -o-linear-gradient(bottom, #fff 65%, rgba(255, 255, 255, 0.3));
    background: -ms-linear-gradient(bottom, #fff 65%, rgba(255, 255, 255, 0.3));
    background: linear-gradient(bottom, #fff 65%, rgba(255, 255, 255, 0.3));
}

.ft_wrapper:after {
    content: "";
    position: absolute;
    top: 350px;
    bottom: 0;
    left: 0;
    right: 0;
    background: #fff;
}

.features {
    position: relative;
    margin: 0 0 0 -30px;
    font-weight: 300;
}

.features li {
    display: inline-block;
    vertical-align: top;
    width: 270px;
    margin: 0 0 30px 30px;
    text-align: center;
}

.features li > div {
    padding: 45px 10px 20px;
}

.features h3 {
    margin: 20px 0 15px;
    font-size: 23px;
    line-height: 24px;
    color: #000;
}

.features p {
    line-height: 24px;
}

.features .sep {
    height: 1px;
    margin: 10px 0;
    background: #e0e0e0;
    background: -ms-linear-gradient(left, #ffffff 0%, #e0e0e0 50%, #ffffff 100%);
    background: -moz-linear-gradient(left, #ffffff 0%, #e0e0e0 50%, #ffffff 100%);
    background: -webkit-linear-gradient(left, #ffffff 0%, #e0e0e0 50%, #ffffff 100%);
}

.features .icon {
    position: relative;
    width: 106px;
    height: 74px;
    overflow: hidden;
    margin: 0 auto;
    border-radius: 20px;
    font-size: 44px;
    line-height: 74px;
    text-shadow: 0 2px rgba(0, 0, 0, 0.3);
    color: #fff;
}

.features .icon:before {
    content: "";
    position: absolute;
    width: 105px;
    height: 46px;
    left: 0;
    bottom: 0;
    border-radius: 23px;
    /* IE10 Consumer Preview */

    background-image: -ms-linear-gradient(left, #59D2FF 0%, #0E81FE 100%);
    /* Mozilla Firefox */

    background-image: -moz-linear-gradient(left, #59D2FF 0%, #0E81FE 100%);
    /* Opera */

    background-image: -o-linear-gradient(left, #59D2FF 0%, #0E81FE 100%);
    /* Webkit (Safari/Chrome 10) */

    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #59D2FF), color-stop(1, #0E81FE));
    /* Webkit (Chrome 11+) */

    background-image: -webkit-linear-gradient(left, #59D2FF 0%, #0E81FE 100%);
    /* W3C Markup, IE10 Release Preview */

    background-image: linear-gradient(to right, #59D2FF 0%, #0E81FE 100%);
}

.features .icon:after {
    content: "";
    position: absolute;
    width: 74px;
    height: 74px;
    left: 50%;
    bottom: 0;
    margin-left: -37px;
    border-radius: 37px;
    /* IE10 Consumer Preview */

    background-image: -ms-linear-gradient(left, #49BDF3 0%, #087AF2 100%);
    /* Mozilla Firefox */

    background-image: -moz-linear-gradient(left, #49BDF3 0%, #087AF2 100%);
    /* Opera */

    background-image: -o-linear-gradient(left, #49BDF3 0%, #087AF2 100%);
    /* Webkit (Safari/Chrome 10) */

    background-image: -webkit-gradient(linear, left top, right top, color-stop(0, #49BDF3), color-stop(1, #087AF2));
    /* Webkit (Chrome 11+) */

    background-image: -webkit-linear-gradient(left, #49BDF3 0%, #087AF2 100%);
    /* W3C Markup, IE10 Release Preview */

    background-image: linear-gradient(to right, #49BDF3 0%, #087AF2 100%);
}

.features .icon > i {
    position: relative;
    z-index: 1;
    padding-top: 14px;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .features {
        margin-left: -20px;
    }

    .features li {
        width: 218px;
        margin-left: 20px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .features {
        margin: 0 0 22px -18px;
    }

    .features li {
        width: 358px;
        margin: 0 0 20px 20px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .features {
        margin: 0 -10px 22px -4%;
    }

    .features li {
        width: 48%;
        margin: 0 0 2% 2%;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .features {
        margin: 0 0 20px 0;
        padding-top: 20px;
    }

    .features li {
        width: 100%;
        margin: 0 0 20px;
    }
}

/**/
/* bgvideo */
/**/

.bgvideo {
    position: relative;
    height: 600px;
    overflow: hidden;
}

.bgvideo:after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.bgvideo video {
    position: absolute;
    top: 50%;
    left: 50%;
    width: auto;
    height: auto;
    margin: -540px 0 0 -960px;
    min-width: 100%;
    min-height: 100%;
    background-size: cover;
}

.bgvideo .pic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /*background: url(../pic/video.jpg) 50% 50% no-repeat;*/
    background-size: cover;
}

.bgvideo .slogan {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 50%;
    width: 900px;
    margin: -140px 0 0 -450px;
    padding: 65px 0 25px;
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.1);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.25);
    font-size: 100px;
    font-weight: 100;
    text-align: center;
    text-transform: uppercase;
    color: #fff;
}

.bgvideo .slogan ul {
    position: relative;
    height: 130px;
    overflow: hidden;
}

.bgvideo .slogan li {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    opacity: 0;
    transition: opacity 0.2s;
    -ms-transition: opacity 0.2s;
    -moz-transition: opacity 0.2s;
    -webkit-transition: opacity 0.2s;
}

.bgvideo .slogan .active {
    z-index: 1;
    opacity: 1;
    transition: opacity 0.6s;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.bgvideo .slogan a {
    display: block;
    width: 30px;
    margin: 0 auto;
    margin-top: 30px;
    font-size: 42px;
    line-height: 0;
    color: #fff;
}

.bgvideo .slogan a i {
    vertical-align: middle;
    line-height: 10px;
    opacity: 0.6;
}

.bgvideo .slogan a i:first-child {
    opacity: 0.8;
}

.bgvideo .slogan a i:last-child {
    opacity: 0.2;
}

.bgvideo .slogan span {
    display: block;
    font-size: 30px;
    line-height: 1;
    text-transform: none;
}

.bgvideo .slogan img {
    position: absolute;
    top: 0;
    left: 50%;
    margin: -38px 0 0 -38px;
}

@media screen and (max-width: 1024px) {
    .bgvideo video {
        display: none;
    }
}

@media screen and (max-width: 980px) {
    .bgvideo .slogan {
        width: 738px;
        margin: -124px 0 0 -369px;
        font-size: 70px;
    }

    .bgvideo .slogan ul {
        height: 105px;
    }

    .bgvideo .slogan span {
        margin-top: 5px;
    }
}

@media screen and (max-width: 767px) {
    .bgvideo .slogan {
        width: 440px;
        margin: -112px 0 0 -220px;
        font-size: 50px;
    }

    .bgvideo .slogan ul {
        height: 75px;
    }

    .bgvideo .slogan span {
        font-size: 20px;
    }
}

@media screen and (max-width: 480px) {
    .bgvideo .slogan {
        width: 300px;
        margin: -101px 0 0 -150px;
        font-size: 32px;
    }

    .bgvideo .slogan ul {
        height: 53px;
    }

    .bgvideo .slogan span {
        font-size: 16px;
    }
}

/*----------------------------------------------*/
/*                    CONTENT                   */
/*----------------------------------------------*/
/**/
/* paralaxed */
/**/

.parallaxed {
    position: relative;
    overflow: hidden;
}

.parallaxed > * {
    position: relative;
}

.parallaxed > *:not(.parallax-image) {
    z-index: 1;
}

.parallax-image {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
}

.parallax-image img {
    width: auto;
    z-index: -2;
}

.paralaxed .grid-row {
    position: relative;
}

.paralaxed .owl-pagination div {
    background: #fff;
}

.paralaxed .owl-pagination .active {
    background: none;
}

/**/
/* share */
/**/

.share {
    margin-top: 15px;
}

.share a {
    position: relative;
    display: block;
    float: left;
    width: 22px;
    height: 22px;
    margin: 5px 6px 0;
    border-radius: 3px;
    font-size: 14px;
    line-height: 22px;
    text-align: center;
    color: #fff;
}

.share a:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 100%;
    margin-top: -3px;
    border-top: 3px solid transparent;
    border-right: 3px solid transparent;
    border-bottom: 3px solid transparent;
}

.share span {
    display: block;
    float: left;
    margin-top: 5px;
    padding: 0 10px;
    border: 1px solid #e3e3e3;
    border-radius: 3px;
    font-size: 11px;
    line-height: 20px;
}

.share .fa-facebook {
    background: #39579a;
}

.share .fa-facebook:after {
    border-right-color: #39579a;
}

.share .fa-twitter {
    background: #01acee;
}

.share .fa-twitter:after {
    border-right-color: #01acee;
}

.share .fa-pinterest {
    background: #cd1d1f;
}

.share .fa-pinterest:after {
    border-right-color: #cd1d1f;
}

.share .fa-google-plus {
    background: #d34836;
}

.share .fa-google-plus:after {
    border-right-color: #d34836;
}

.share .fa-linkedin {
    background: #1783bc;
}

.share .fa-linkedin:after {
    border-right-color: #1783bc;
}

/**/
/* filter */
/**/

.filter {
    position: relative;
    z-index: 1;
    margin-bottom: 30px;
    font-weight: 400;
    text-align: center;
}

.filter a {
    display: inline-block;
    width: 168px;
    margin-left: -1px;
    font-size: 15px;
    line-height: 36px;
    text-align: center;
    box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
    color: #535353;
}

.filter a:first-child {
    margin: 0;
    border-radius: 5px 0 0 5px;
}

.filter a:last-child {
    border-radius: 0 5px 5px 0;
}

.filter .active {
    position: relative;
    background: #037cff;
    color: #fff;
}

@media screen and (max-width: 767px) {
    /* phone */
    .filter a {
        width: 100%;
        margin: -1px 0 0 0;
    }

    .filter a:first-child {
        border-radius: 5px 5px 0 0;
    }

    .filter a:last-child {
        border-radius: 0 0 5px 5px;
    }
}

/**/
/* portfolio */
/**/

.portfolio h2 {
    margin-bottom: 30px;
    font-size: 50px;
    font-weight: 100;
    color: #000;
}

.portfolio .grid {
    margin: -30px -15px 0;
}

.portfolio .item {
    position: relative;
    float: left;
    margin-top: 30px;
    padding: 0 15px;
    text-align: center;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.portfolio .item h1 {
    margin-bottom: 20px;
    font-size: 65px;
    font-weight: 100;
    text-align: left;
    color: #000000;
}

.portfolio .item h3 {
    margin: 15px 0 5px;
    font-size: 24px;
    font-weight: 300;
    color: #000;
}

.portfolio .item p {
    margin-bottom: 15px;
    font-size: 15px;
    line-height: 24px;
    font-weight: 300;
}

.portfolio .item .pic {
    padding: 10px;
    border-radius: 15px;
    background: #f5f5f5;
    box-shadow: inset 0 0 0 1px #dedede;
}

.portfolio .item .pic div {
    position: relative;
    overflow: hidden;
    padding-bottom: 100%;
}

.portfolio .item .pic img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}

.portfolio .item .pic ul {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -30px;
    text-align: center;
    font-size: 0;
    opacity: 0;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.portfolio .item .pic:hover ul {
    opacity: 1;
}

.portfolio .item .pic li {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    -ms-transition: right 0.3s, left 0.3s, opacity 0.3s;
    -moz-transition: right 0.3s, left 0.3s, opacity 0.3s;
    -webkit-transition: right 0.3s, left 0.3s, opacity 0.3s;
}

.portfolio .pic li:first-child {
    left: -200%;
}

.portfolio .pic:hover li:first-child {
    left: 0;
}

.portfolio .pic li:last-child {
    right: -200%;
}

.portfolio .pic:hover li:last-child {
    right: 0;
}

.portfolio .item .pic li:hover {
    opacity: 0.7;
}

.portfolio .item .pic span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    background: #037cff;
    opacity: 0;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.portfolio .item .pic:hover span {
    opacity: 0.8;
}

.portfolio .item .pic a {
    display: block;
    width: 58px;
    height: 58px;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: 28px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}

.portfolio-1 .item {
    width: 100%;
    margin-bottom: 80px;
}

.portfolio-1 .item:after {
    content: '';
    position: absolute;
    top: 100%;
    right: 15px;
    left: 15px;
    height: 1px;
    margin-top: 50px;
    background: #e0e0e0;
}

.portfolio-1 .item:last-child {
    margin-bottom: 0;
}

.portfolio-1 .item:last-child:after {
    display: none;
}

.portfolio-1 .item .pic div {
    padding-bottom: 50%;
}

.portfolio-2 .item {
    width: 50%;
}

.portfolio-3 .item {
    width: 400px;
}

.portfolio-4 .item {
    width: 300px;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .portfolio .grid {
        margin-right: -10px;
        margin-left: -10px;
    }

    .portfolio .item {
        padding: 0 10px;
    }

    .portfolio .item .pic ul {
        margin-top: -25px;
    }

    .portfolio .item .pic a {
        width: 48px;
        height: 48px;
        font-size: 24px;
        line-height: 50px;
    }

    .portfolio-3 .item {
        width: 320px;
    }

    .portfolio-4 .item {
        width: 240px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .portfolio .grid {
        margin-right: -9px;
        margin-left: -9px;
    }

    .portfolio .item h1 {
        font-size: 50px;
    }

    .portfolio .item {
        padding: 0 9px;
    }

    .portfolio-2 .item {
        width: 378px;
    }

    .portfolio-3 .item,
    .portfolio-4 .item {
        width: 252px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .portfolio-2 .item,
    .portfolio-3 .item,
    .portfolio-4 .item {
        width: 49.99%;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .portfolio .item {
        width: 100%;
    }
}

/**/
/* portfolio nav */
/**/

.portfolio-nav {
    position: relative;
    height: 47px;
    padding: 7px 0;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
    font-size: 15px;
    line-height: 47px;
    font-weight: 100;
}

.portfolio-nav .prev,
.portfolio-nav .next {
    display: block;
    float: left;
    color: #535353;
}

.portfolio-nav .prev i,
.portfolio-nav .next i {
    display: block;
    float: left;
    width: 45px;
    height: 45px;
    margin-right: 10px;
    border: 1px solid #868686;
    border-radius: 5px;
    font-size: 25px;
    line-height: 45px;
    text-align: center;
    -ms-transition: background 0.3s, color 0.3s;
    -moz-transition: background 0.3s, color 0.3s;
    -webkit-transition: background 0.3s, color 0.3s;
}

.portfolio-nav .prev:hover i,
.portfolio-nav .next:hover i {
    background: #868686;
    color: #fff;
}

.portfolio-nav .next {
    float: right;
}

.portfolio-nav .next i {
    float: right;
    margin: 0 0 0 10px;
}

.portfolio-nav .grid {
    display: block;
    width: 45px;
    height: 45px;
    margin: 0 auto;
    border: 1px solid #868686;
    border-radius: 5px;
}

.portfolio-nav .grid:hover {
    background: #868686;
}

.portfolio-nav span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 4px;
    height: 4px;
    margin: -3px 0 0 -3px;
    border: 1px solid #868686;
    border-radius: 50%;
    background: #fff;
}

.portfolio-nav span:after,
.portfolio-nav span:before {
    content: '';
    position: absolute;
    top: -1px;
    width: 4px;
    height: 4px;
    border: 1px solid #868686;
    border-radius: 50%;
    background: #fff;
}

.portfolio-nav span:after {
    left: 8px;
}

.portfolio-nav span:before {
    left: -10px;
}

.portfolio-nav span.t {
    margin-top: -12px;
}

.portfolio-nav span.b {
    margin-top: 6px;
}

/**/
/* blog */
/**/

.blog-wrap {
    overflow: hidden;
}

.blog .grid {
    margin: 0 -15px -100px;
}

.blog .item {
    position: relative;
    float: left;
    margin-bottom: 101px;
    padding: 0 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.blog .item:after {
    content: '';
    position: absolute;
    top: 100%;
    right: 15px;
    left: 15px;
    height: 1px;
    margin-top: 50px;
    background: #e0e0e0;
}

.blog .item h3 {
    margin-bottom: 25px;
    font-size: 65px;
    font-weight: 100;
    color: #000000;
}

.blog .item p {
    margin-top: 24px;
    line-height: 24px;
    font-weight: 300;
}

.blog .item .center {
    text-align: center;
}

.blog .item .pic {
    position: relative;
    padding: 10px;
    border: 1px solid #dedede;
    border-radius: 15px;
    background: #f5f5f5;
}

.blog .item .pic-small {
    width: 550px;
    float: left;
    margin-right: 30px;
}

.blog .item .info {
    padding: 5px 0 5px 80px;
    border-radius: 10px 10px 0 0;
    background: #fff;
    font-size: 13px;
    line-height: 17px;
    font-weight: 300;
}

.blog .item .info div {
    display: table-cell;
    vertical-align: middle;
    height: 46px;
    padding: 0 18px;
    border-left: 1px solid #e7e7e7;
    white-space: nowrap;
}

.blog .item .info div:first-child {
    width: 99%;
    padding-right: 8px;
    padding-left: 0;
    border-left: 0;
    white-space: normal;
}

.blog .item .info-alt {
    border-radius: 10px;
}

.blog .item .date {
    position: absolute;
    z-index: 1;
    top: -1px;
    left: -1px;
    width: 76px;
    height: 63px;
    padding-top: 13px;
    border-radius: 15px;
    background: #037cff;
    box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.15);
    font-size: 20px;
    text-align: center;
    color: #fff;
}

.blog .item .date span {
    display: block;
    margin-bottom: -4px;
    font-size: 32px;
}

.blog .item .frame {
    position: relative;
    overflow: hidden;
    padding-bottom: 50%;
    border-radius: 0 0 10px 10px;
    -webkit-transform: scale(1);
}

.blog .item .frame img,
.blog .item .frame iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 0 0 10px 10px;
}

.blog .item .audio {
    position: relative;
    height: 30px;
    padding: 39px 15px 39px 215px;
    border-radius: 0 0 10px 10px;
}

.blog .item .audio img {
    position: absolute;
    top: 15px;
    left: 15px;
    border-radius: 10px;
}

.blog .item .audio audio {
    width: 100%;
}

.blog .item .audio .song {
    position: absolute;
    bottom: 37px;
    left: 106px;
    width: 90px;
    height: 15px;
    overflow: hidden;
    color: #fff;
}

.blog .item .audio .author {
    position: absolute;
    top: 37px;
    left: 106px;
    width: 90px;
    height: 15px;
    overflow: hidden;
    color: #fff;
}

.blog-1 .item {
    width: 100%;
}

.blog-2 .item {
    width: 50%;
}

.blog-3 .item {
    width: 400px;
}

.blog-3 .item h3 {
    font-size: 50px;
}

.blog-3 .item .audio {
    padding-left: 120px;
}

.blog-3 .item .audio img {
    display: none;
}

.blog-3 .item .audio .song,
.blog-3 .item .audio .author {
    left: 15px;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .blog .grid {
        margin-right: -10px;
        margin-left: -10px;
    }

    .blog .item h3 {
        font-size: 55px;
    }

    .blog .item {
        padding: 0 10px;
    }

    .blog .item .pic-small {
        width: 440px;
        margin-right: 20px;
    }

    .blog-3 .item {
        width: 50%;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .blog .grid {
        margin-right: -9px;
        margin-left: -9px;
    }

    .blog .item h3 {
        font-size: 45px;
    }

    .blog .item {
        padding: 0 9px;
    }

    .blog .item .pic-small {
        width: 340px;
        margin-right: 18px;
    }

    .blog-2 .item .audio {
        padding-left: 120px;
    }

    .blog-2 .item .audio img {
        display: none;
    }

    .blog-2 .item .audio .song,
    .blog-2 .item .audio .author {
        left: 15px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .blog .item {
        width: 100%;
    }

    .blog .item .pic-small {
        width: auto;
        margin-bottom: 24px;
    }

    .blog .item .audio {
        padding-left: 120px;
    }

    .blog .item .audio img {
        display: none;
    }

    .blog .item .audio .song,
    .blog .item .audio .author {
        left: 15px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .blog .item .info div {
        padding: 0 10px;
    }
}

/**/
/* comments */
/**/

.comments {
    margin-top: 110px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e3e3e3;
}

.comments h2 {
    font-size: 50px;
    font-weight: 100;
    color: #000;
}

.comments li {
    position: relative;
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #e0e0e0;
    line-height: 21px;
    font-weight: 300;
}

.comments li:first-child {
    padding-top: 0;
    border-top: 0;
}

.comments li ul {
    margin-top: 20px;
    border-top: 1px solid #e3e3e3;
}

.comments li li {
    padding-left: 85px;
}

.comments .text {
    min-height: 70px;
    overflow: hidden;
}

.comments .author {
    margin-bottom: 10px;
    color: #000;
}

.comments .author .reply {
    display: block;
    float: right;
    padding: 0 15px;
    border-radius: 5px;
    background: #037cff;
    font-size: 13px;
    line-height: 23px;
    color: #fff;
}

.comments .fa-user {
    display: block;
    float: left;
    width: 68px;
    height: 68px;
    margin-right: 10px;
    border: 1px solid #037cff;
    border-radius: 10px;
    font-size: 28px;
    line-height: 68px;
    text-align: center;
    color: #037cff;
}

.comments .rating {
    float: right;
    width: 103px;
    height: 18px;
    margin-top: 1px;
}

.comments .rating span {
    display: block;
    height: 18px;
}

@media screen and (max-width: 980px) {
    /* pad */
    .comments li li {
        padding-left: 60px;
    }

    .comments .avatar {
        width: 50px;
        height: 50px;
        margin-right: 10px;
    }

    .comments .avatar i {
        font-size: 26px;
        line-height: 50px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .comments li li {
        padding-left: 20px;
    }
}

/**/
/* add comment */
/**/

.add-comment {
    margin-top: 60px;
}

.add-comment h2 {
    font-size: 50px;
    font-weight: 100;
    color: #000;
}

.add-comment input {
    float: left;
    width: 270px;
    margin: 30px 0 20px 30px;
    padding: 6px 10px;
    border-radius: 10px;
    background: #ddd;
}

.add-comment h2 + input {
    margin-left: 0;
}

.add-comment textarea {
    width: 100%;
    margin-bottom: 20px;
    padding: 6px 10px;
    border-radius: 10px;
    background: #ddd;
}

.add-comment .rating {
    float: left;
    width: 270px;
    margin: 30px 0 20px 30px;
    font-size: 13px;
    line-height: 30px;
    font-weight: 300;
}

.add-comment .rating input {
    display: none;
}

.add-comment .rating label {
    display: block;
    float: right;
    width: 19px;
    height: 18px;
    margin-top: 5px;
    padding: 0 1px;
    font-size: 17px;
    line-height: 17px;
    cursor: pointer;
}

.add-comment .rating label i {
    display: block;
    height: 18px;
}

.add-comment .rating input:checked ~ label i {
    background-position: 0 -18px;
}

@media screen and (max-width: 1190px) {
    /* laptop */
    .add-comment input,
    .add-comment .rating {
        width: 220px;
        margin-left: 20px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .add-comment input,
    .add-comment .rating {
        width: 171px;
        margin-left: 18px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .add-comment input,
    .add-comment .rating {
        float: none;
        width: 100%;
        margin-left: 0;
    }
}

/**/
/* woocommerce */
/**/

.woocommerce-ordering {
    float: right;
}

.woocommerce-ordering select {
    height: 29px;
    padding: 0 37px 0 10px;
    border: 1px solid #d8d8d8;
    border-radius: 10px;
    font-size: 13px;
    line-height: 27px;
    font-weight: 300;
    color: #535353;
}

.woocommerce-result-count {
    float: left;
    font-size: 13px;
    line-height: 29px;
    font-weight: 300;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
    /* retina */
only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
    .woocommerce-ordering select {
        background-size: 25px 23px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .woocommerce-ordering {
        float: none;
    }

    .woocommerce-ordering select {
        width: 100%;
    }

    .woocommerce-result-count {
        float: none;
        margin-bottom: 10px;
    }
}

/**/
/* products grid */
/**/

.products-grid h2 {
    margin-top: 50px;
    padding-top: 50px;
    border-top: 1px solid #e0e0e0;
    font-size: 65px;
    font-weight: 100;
    color: #000;
}

.products-grid > ul {
    margin: 0 -15px;
}

.products-grid > ul > li {
    display: inline-block;
    vertical-align: top;
    width: 300px;
    margin-top: 30px;
    padding: 0 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.products-grid > ul > li > div {
    position: relative;
    padding: 10px 10px 20px;
    border: 1px solid #dedede;
    border-radius: 15px;
    background: transparent;
    text-align: center;
    z-index: 1;
    background: #f5f5f5;
}

.products-grid > ul > li > div:before {
    content: "";
    position: absolute;
    background: #fff;
    border-radius: 10px;
    top: 10px;
    bottom: 10px;
    left: 10px;
    right: 10px;
    z-index: -1;
}

.products-grid h3 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 300;
}

.products-grid h3 a {
    color: #000;
}

.products-grid h3 a:hover {
    color: #037cff;
}

.products-grid .pic {
    position: relative;
    margin-bottom: 10px;
    padding-bottom: 100%;
    border-radius: 10px;
    overflow: hidden;
}

.products-grid .pic img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}

.products-grid .pic span {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 10px;
    background: #037cff;
    opacity: 0;
    pointer-events: none;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.products-grid .pic ul {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -30px;
    text-align: center;
    font-size: 0;
    opacity: 0;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.products-grid .pic li {
    position: relative;
    display: inline-block;
    margin: 0 5px;
    -ms-transition: right 0.3s, left 0.3s, opacity 0.3s;
    -moz-transition: right 0.3s, left 0.3s, opacity 0.3s;
    -webkit-transition: right 0.3s, left 0.3s, opacity 0.3s;
}

.products-grid .pic a {
    display: block;
    width: 58px;
    height: 58px;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: 28px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}

.products-grid .pic li:hover {
    opacity: 0.7;
}

.products-grid .pic li:first-child {
    left: -200%;
}

.products-grid .pic li:last-child {
    right: -200%;
}

.products-grid .pic:hover ul {
    opacity: 1;
}

.products-grid .pic:hover li:first-child {
    left: 0;
}

.products-grid .pic:hover li:last-child {
    right: 0;
}

.products-grid .pic:hover span {
    opacity: 0.8;
}

.products-grid .sale {
    position: absolute;
    z-index: 1;
    top: -10px;
    right: -10px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #ed1c24;
    background: -ms-linear-gradient(top, #ed1c24 0%, #d11920 100%);
    background: -moz-linear-gradient(top, #ed1c24 0%, #d11920 100%);
    background: -webkit-linear-gradient(top, #ed1c24 0%, #d11920 100%);
    box-shadow: 1px 1px 0 rgba(0, 0, 0, 0.3);
    font-size: 14px;
    line-height: 50px;
    color: #fff;
}

.products-grid .price {
    font-size: 18px;
    line-height: 45px;
    color: #037cff;
}

.products-grid .rating {
    width: 103px;
    height: 18px;
    margin: 0 auto;
}

.products-grid .rating span {
    display: block;
    height: 18px;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
    /* retina */
only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
    .products-grid .rating {
        background-size: 103px 36px;
    }

    .products-grid .rating span {
        background-position: 0 -18px;
        background-size: 103px 36px;
    }
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .products-grid h2 {
        font-size: 55px;
    }

    .products-grid > ul {
        margin: 0 -10px;
    }

    .products-grid > ul > li {
        width: 240px;
        padding-right: 10px;
        padding-left: 10px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .products-grid h2 {
        font-size: 45px;
    }

    .products-grid > ul {
        margin-right: -9px;
        margin-left: -9px;
    }

    .products-grid > ul > li {
        width: 283px;
        padding-right: 9px;
        padding-left: 9px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .products-grid > ul > li {
        width: 50%;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .products-grid > ul > li {
        width: 100%;
    }
}

/**/
/* product */
/**/

.product h1 {
    font-size: 30px;
    font-weight: 100;
    color: #000;
}

.product .price {
    margin-top: 15px;
    font-size: 24px;
    font-weight: 300;
    color: #037cff;
}

.product .description {
    margin-top: 35px;
    line-height: 24px;
    font-weight: 300;
}

.product .description span {
    font-weight: 400;
    color: #000;
}

.product .main-features {
    margin-top: 35px;
    line-height: 28px;
    font-weight: 300;
}

.product .main-features span {
    font-weight: 400;
    color: #000;
}

.product .main-features li {
    position: relative;
    margin-top: 6px;
    padding: 10px 10px 10px 50px;
    border: 1px solid #d1d1d1;
    border-radius: 5px;
}

.product .main-features i {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 24px;
    height: 26px;
    padding-left: 2px;
    border: 1px solid #d1d1d1;
    border-radius: 50%;
    font-size: 12px;
    line-height: 26px;
    text-align: center;
    color: #cfcfcf;
}

.product .quantity {
    margin-top: 35px;
}

.product .quantity p {
    margin-bottom: 10px;
    color: #000;
}

.product .quantity a {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 41px;
    height: 37px;
    border: 1px solid #d1d1d1;
}

.product .quantity a:after,
.product .quantity a:before {
    content: '';
    position: absolute;
    top: 18px;
    left: 11px;
    width: 19px;
    height: 1px;
    background: #037cff;
}

.product .quantity input {
    display: inline-block;
    vertical-align: top;
    width: 38px;
    height: 39px;
    margin: 0 -1px;
    border: 1px solid #d1d1d1;
    font-size: 17px;
    line-height: 37px;
    font-weight: 300;
    text-align: center;
}

.product .quantity .plus {
    border-radius: 0 5px 5px 0;
}

.product .quantity .plus:after {
    top: 9px;
    left: 20px;
    width: 1px;
    height: 19px;
}

.product .quantity .minus {
    border-radius: 5px 0 0 5px;
}

.product .categories {
    margin-top: 20px;
    font-size: 12px;
    line-height: 16px;
    font-weight: 300;
}

.product .button {
    margin-top: 20px;
}

.product .pic {
    position: relative;
    padding: 9px;
    border: 1px solid #dedede;
    border-radius: 20px;
    background: #f5f5f5;
    overflow: hidden;
}

.product .pic img {
    width: 100%;
    height: auto;
    border-radius: 10px;
}

.product .pic span {
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    border-radius: 20px;
    background: #037cff;
    opacity: 0;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.product .pic span i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 58px;
    height: 58px;
    margin: -30px 0 0 -30px;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: 28px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}

.product .pic a:hover span {
    opacity: 0.8;
}

.product .thumbnails {
    margin-left: -9px;
    font-size: 0;
}

.product .thumbnails li {
    display: inline-block;
    vertical-align: top;
    width: 134px;
    margin: 9px 0 0 9px;
}

.product .thumbnails a {
    position: relative;
    display: block;
    padding: 9px;
    border: 1px solid #dedede;
    border-radius: 10px;
    background: #f5f5f5;
}

.product .thumbnails img {
    width: 100%;
    border-radius: 5px;
}

.product .thumbnails span {
    position: absolute;
    top: -1px;
    right: -1px;
    bottom: -1px;
    left: -1px;
    border-radius: 10px;
    background: #037cff;
    opacity: 0;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.product .thumbnails span i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -13px 0 0 -13px;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    color: #fff;
}

.product .thumbnails a:hover span {
    opacity: 0.8;
}

.product .left-col {
    float: left;
    width: 420px;
}

.product .right-col {
    float: right;
    width: 420px;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .product .left-col,
    .product .right-col {
        width: 340px;
    }

    .product .thumbnails {
        margin-left: -8px;
    }

    .product .thumbnails li {
        margin: 8px 0 0 8px;
        width: 108px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .product .left-col,
    .product .right-col {
        width: 265px;
    }

    .product .thumbnails {
        margin-left: -9px;
    }

    .product .thumbnails li {
        margin: 9px 0 0 9px;
        width: 128px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .product .left-col {
        width: 38%;
    }

    .product .right-col {
        width: 58%;
    }

    .product .thumbnails li {
        width: 50%;
        margin-left: 0;
        padding-left: 9px;
        box-sizing: border-box;
        -moz-box-sizing: border-box;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .product .left-col,
    .product .right-col {
        width: 100%;
    }

    .product .left-col {
        margin-bottom: 30px;
    }

    .product .thumbnails li {
        width: 33.33%;
    }
}

/**/
/* product tabs */
/**/

.product-tabs {
    position: relative;
    overflow: hidden;
    margin-top: 30px;
    padding-top: 50px;
    border-top: 1px solid #e0e0e0;
}

.product-tabs > div {
    position: absolute;
    top: 87px;
    left: 0;
    opacity: 0;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.product-tabs > input {
    display: none;
}

.product-tabs > label {
    display: inline-block;
    width: 33.33%;
    border: 1px solid #d1d1d1;
    margin-right: -1px;
    line-height: 35px;
    text-align: center;
    cursor: pointer;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-transition: background 0.3s, color 0.3s;
    -moz-transition: background 0.3s, color 0.3s;
    -webkit-transition: background 0.3s, color 0.3s;
}

.product-tabs > label:hover {
    color: #037cff;
}

.product-tabs > .first {
    border-radius: 5px 0 0 5px;
}

.product-tabs > .last {
    border-radius: 0 5px 5px 0;
}

.product-tabs > input:checked + label {
    position: relative;
    border-color: rgba(0, 0, 0, 0.2);
    background: #037cff;
    color: #fff;
}

.product-tabs > #product-tab1:checked ~ #product-tab-content1,
.product-tabs > #product-tab2:checked ~ #product-tab-content2,
.product-tabs > #product-tab3:checked ~ #product-tab-content3 {
    position: relative;
    top: 0;
    opacity: 1;
}

.product-tabs .description {
    line-height: 24px;
    font-weight: 300;
}

.product-tabs .description p {
    margin-top: 24px;
}

.product-tabs .description dl {
    margin-top: 24px;
}

.product-tabs .description dt {
    float: left;
    margin-right: 0.5em;
    font-weight: 400;
    color: #000;
}

.product-tabs .comments {
    margin: 0;
    padding: 0;
    border: 0;
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .product-tabs > label {
        display: block;
        width: 100%;
        margin: 0 0 -1px 0;
    }

    .product-tabs > .first {
        border-radius: 5px 5px 0 0;
    }

    .product-tabs > .last {
        border-radius: 0 0 5px 5px;
    }

    .product-tabs > div {
        top: 158px;
    }
}

/**/
/* cart products */
/**/

.cart-products {
    overflow: hidden;
    border: 1px solid #d1d1d1;
    border-radius: 15px;
}

.cart-products table {
}

.cart-products th {
    padding: 14px 20px 14px 20px;
    background: #f7f7f7;
    font-weight: 300;
    text-align: center;
    color: #000;
}

.cart-products td .button {
    margin: 0px;
    padding: 9px 15px;
}

.cart-products td {
    vertical-align: middle;
    padding: 20px 20px 20px 20px;
    border-bottom: 1px solid #d1d1d1;
    /*   font-weight: 300;*/
}

@media screen and (max-width: 500px) {
    .cart-products td {
        padding: 20px 0;
        word-break: break-all;
    }
}

.cart-products td[colspan="6"] {
    padding-left: 20px;
    border: 0;
    text-align: right;
}

.cart-products .pic {
    width: 1px;
    padding-right: 0;
    padding-left: 20px;
}

.cart-products .pic img {
    display: block;
    width: 54px;
    height: 54px;
    border-radius: 10px;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.cart-products .pic img:hover {
    opacity: 0.7;
}

.cart-products .name {
    padding-left: 10px;
    text-align: left;
}

.cart-products .price {
    text-align: center;
}

.cart-products .quantity div {
    width: 123px;
    margin: 0 auto;
}

.cart-products .quantity a {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 41px;
    height: 37px;
    border: 1px solid #d1d1d1;
}

.cart-products .quantity a:after,
.cart-products .quantity a:before {
    content: '';
    position: absolute;
    top: 18px;
    left: 11px;
    width: 19px;
    height: 1px;
    background: #037cff;
}

.cart-products .quantity input {
    display: inline-block;
    vertical-align: top;
    width: 38px;
    height: 39px;
    margin: 0 -1px;
    border: 1px solid #d1d1d1;
    font-size: 17px;
    line-height: 37px;
    font-weight: 300;
    text-align: center;
}

.cart-products .quantity .plus {
    border-radius: 0 5px 5px 0;
}

.cart-products .quantity .plus:after {
    top: 9px;
    left: 20px;
    width: 1px;
    height: 19px;
}

.cart-products .quantity .minus {
    border-radius: 5px 0 0 5px;
}

.cart-products .remove {
    width: 1px;
}

.cart-products .remove a {
    display: block;
    width: 16px;
    height: 16px;
    margin: 0 auto;
    border-radius: 50%;
    background: #037cff;
    font-size: 10px;
    line-height: 16px;
    text-align: center;
    color: #fff;
}

.cart-products .button {
    margin-left: 10px;
}

.cart-products .coupon {
    position: relative;
    float: left;
    width: 121px;
    padding-right: 159px;
}

.cart-products .coupon input {
    width: 100%;
    padding: 11px 10px;
    border: 1px solid #d1d1d1;
    border-radius: 5px;
    font-size: 15px;
    line-height: 24px;
}

.cart-products .coupon button {
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
}

@media screen and (max-width: 980px) {
    /* pad */
    .cart-products th,
    .cart-products td {
        padding-right: 15px;
    }

    .cart-products .pic {
        display: none;
    }

    .cart-products .name {
        padding-left: 15px;
    }

    .cart-products .button {
        margin-top: 10px;
    }

    .cart-products .coupon {
        float: none;
        width: auto;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .cart-products th,
    .cart-products td {
        padding-right: 10px;
    }

    .cart-products td[colspan="6"] {
        padding-left: 10px;
    }

    .cart-products .name {
        padding-left: 10px;
    }

    .cart-products .quantity div {
        width: 38px;
    }

    .cart-products .quantity a {
        display: none;
    }
}

/**/
/* cart totals */
/**/

.cart-totals {
    float: right;
    width: 340px;
    margin-top: 40px;
    text-align: right;
}

.cart-totals h2 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 300;
    color: #000;
}

.cart-totals table {
    font-weight: 300;
}

.cart-totals tr:last-child {
    color: #000;
}

.cart-totals th {
    padding: 10px 0;
    border-top: 1px solid #e0e0e0;
    text-align: left;
}

.cart-totals td {
    padding: 10px 0;
    border-top: 1px solid #e0e0e0;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .cart-totals {
        width: 300px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .cart-totals {
        float: none;
        width: 100%;
    }
}

/**/
/* shipping calculator */
/**/

.shipping-calculator {
    width: 420px;
    margin-top: 40px;
}

.shipping-calculator form {
    margin-top: 10px;
    padding: 30px;
    border-radius: 15px;
    background: #f3f2f2;
}

.shipping-calculator input,
.shipping-calculator select {
    width: 100%;
    height: 29px;
    margin-bottom: 20px;
    padding: 6px 5px 6px 10px;
    border-radius: 5px;
    background: #ddd;
}

.shipping-calculator select {
}

.shipping-calculator button {
    width: 100%;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
    /* retina */
only screen and (min--moz-device-pixel-ratio: 1.5), only screen and (min-device-pixel-ratio: 1.5) {
    .shipping-calculator select {
        background-size: 29px 15px;
    }
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .shipping-calculator {
        width: 380px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .shipping-calculator {
        width: 100%;
    }
}

/**/
/* pager */
/**/

.pager {
    margin-top: 30px;
    padding-top: 30px;
    border-top: 1px solid #e0e0e0;
    text-align: center;
}

.pager a {
    display: inline-block;
    vertical-align: top;
    width: 38px;
    margin-left: -1px;
    border: 1px solid #037cff;
    font-size: 16px;
    line-height: 38px;
    font-weight: 300;
    text-align: center;
    color: #000;
}

.pager a:hover {
    color: #037cff;
}

.pager a:first-child {
    margin-left: 0;
    border-radius: 5px 0 0 5px;
}

.pager a:last-child {
    border-radius: 0 5px 5px 0;
}

.pager .active {
    background: #037cff;
    color: #fff;
    cursor: default;
}

.pager .active:hover {
    color: #fff;
}

/**/
/* not found */
/**/

.not-found {
    width: 525px;
    margin: 30px auto 0;
    text-align: center;
}

.not-found h1 {
    font-size: 50px;
    line-height: 54px;
    font-weight: 100;
}

.not-found h2 {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid #e5e5e5;
    font-size: 24px;
    font-weight: 300;
}

.not-found img {
    display: block;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    /* phone */
    .not-found {
        width: auto;
    }

    .not-found img {
        width: 262px;
        height: 125px;
    }
}

/**/
/* countdown */
/**/

.countdown {
    margin-top: 60px;
    text-align: center;
}

.countdown li {
    position: relative;
    display: inline-block;
    width: 158px;
    height: 158px;
    overflow: hidden;
    margin: 0 15px;
    border-radius: 15px;
    background: #037cff;
    font-size: 34px;
    font-weight: 100;
    text-transform: lowercase;
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.25);
    color: #fff;
}

.countdown li:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    background: -ms-linear-gradient(top, #fff 0%, #000 100%);
    background: -moz-linear-gradient(top, #fff 0%, #000 100%);
    background: -webkit-linear-gradient(top, #fff 0%, #000 100%);
    opacity: 0.15;
}

.countdown li span {
    position: relative;
    display: block;
    padding-top: 20px;
    font-size: 74px;
    font-weight: 300;
}

.countdown p {
    margin-top: 30px;
    font-size: 24px;
    line-height: 30px;
    font-weight: 100;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .countdown li {
        margin: 0 10px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .countdown li {
        margin: 0 9px 18px;
    }
}

/**/
/* subscription */
/**/

.subscription {
    text-align: center;
}

.subscription h2 {
    font-size: 56px;
    font-weight: 100;
    color: #000;
}

.subscription h3 {
    margin: 10px 0 25px;
    font-size: 24px;
    font-weight: 300;
    color: #037cff;
}

.subscription form {
    position: relative;
    max-width: 640px;
    margin: 0 auto;
}

.subscription input {
    width: 100%;
    height: 38px;
    padding: 6px 10px;
    border: 1px solid #d1d1d1;
    background: #fff;
    border-radius: 5px;
    font-size: 15px;
    line-height: 24px;
}

.subscription button {
    position: absolute;
    top: 0;
    right: 0;
    border-radius: 0 5px 5px 0;
    font-size: 15px;
}

.subscription label.error {
    color: #ff6766;
    margin: 3px;
    text-align: center;
}

.subscription .message-success i,
.subscription .message-error i {
    float: left;
    padding-right: 5px;
}

.subscription .message-success,
.subscription .message-error {
    text-align: left;
    padding-top: 5px;
}

.subscription .message-success {
    color: #6bcbca;
}

.subscription .message-error {
    color: #ff6766;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .subscription h2 {
        font-size: 50px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .subscription h2 {
        font-size: 45px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .subscription h2 {
        font-size: 40px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .subscription .button-left,
    .subscription .button-right {
        border-radius: 5px;
    }

    .subscription .button-left {
        margin-bottom: 5px;
    }
}

/**/
/* projects */
/**/

.projects {
    margin: -60px 0 -70px;
}

.projects .filter {
    margin-right: 20px;
    margin-left: 20px;
}

.projects ul {
    overflow: visible !important;
}

.projects li {
    display: inline-block;
    vertical-align: top;
    width: 19.97%;
}

.projects li:hover {
    z-index: 3 !important;
}

.projects li img {
    display: block;
    width: 100%;
    height: auto;
}

.projects h3 {
    margin-bottom: 15px;
    font-size: 17px;
    font-weight: 400;
    color: #000;
}

.projects p {
    font-size: 13px;
    font-weight: 400;
}

.projects .cont {
    position: absolute;
    z-index: 10;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 0 20px;
    border: 1px solid #fff;
    /*background: url(../img/projects-cont.png);*/
    box-shadow: 0 0 15px rgba(0, 0, 0, 0.1);
    text-align: center;
    font-size: 13px;
    line-height: 16px;
    font-weight: 300;
    opacity: 0;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.projects .text {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    margin-top: -55px;
}

.projects .icons {
    position: absolute;
    right: 20px;
    bottom: 0;
    left: 20px;
    padding: 26px 0 25px;
}

.projects .icons a {
    display: inline-block;
    margin: 0 5px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(0, 0, 0, 0.4);
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.15);
    font-size: 14px;
    line-height: 32px;
    color: #fff;
}

.projects .icons a:hover {
    background: rgba(0, 0, 0, 0.6);
}

.projects li:hover img {
    filter: blur(2px);
    -ms-filter: blur(2px);
    -webkit-filter: blur(2px);
}

.projects li:hover .cont {
    opacity: 1;
}

@media screen and (min-width: 1200px) {
    .projects li {
        width: 16.64%;
    }
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .projects li {
        width: 24.97%;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .projects li {
        width: 33.31%;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .projects li {
        width: 49.99%;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .projects li {
        width: 100%;
    }
}

/**/
/* timeline */
/**/

.timeline {
    position: relative;
    padding: 0 75px;
}

.timeline:before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    border-left: 1px solid #d1d1d1;
}

.timeline .end {
    position: absolute;
    bottom: 0;
    left: 50%;
    margin-left: -5px;
    width: 9px;
    height: 9px;
    border: 1px solid #d1d1d1;
    border-radius: 50%;
    background: #fff;
}

.timeline .year {
    position: relative;
    clear: both;
    margin: 0 auto;
    width: 60px;
    height: 60px;
    border: 6px solid #fff;
    border-radius: 50%;
    background: #037cff;
    box-shadow: 0 0 0 1px #d1d1d1;
    font-size: 18px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}

.timeline .item {
    position: relative;
    width: 465px;
    margin: 25px 0;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.timeline .item:before {
    content: "\f00c";
    position: absolute;
    top: 10px;
    width: 23px;
    height: 23px;
    border: 1px solid #037cff;
    border-radius: 50%;
    background: #fff;
    font-family: FontAwesome;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    color: #037cff;
}

.timeline .head {
    position: relative;
    padding: 10px 20px;
    border: 1px solid #ebebeb;
    border-radius: 10px 10px 0 0;
    background: #f9f9f9;
    background: -ms-linear-gradient(top, #f9f9f9 0%, #f2f2f2 100%);
    background: -moz-linear-gradient(top, #f9f9f9 0%, #f2f2f2 100%);
    background: -webkit-linear-gradient(top, #f9f9f9 0%, #f2f2f2 100%);
    font-size: 15px;
    line-height: 24px;
    font-weight: 300;
}

.timeline .head:after {
    content: '';
    position: absolute;
    top: 13px;
    border-top: 7px solid transparent;
    border-bottom: 7px solid transparent;
}

.timeline .head:before {
    content: '';
    position: absolute;
    top: 14px;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
}

.timeline .cont {
    padding: 10px 20px;
    border: 1px solid #ebebeb;
    border-top: 0;
    border-radius: 0 0 10px 10px;
    font-size: 13px;
    line-height: 24px;
    font-weight: 300;
}

.timeline .date {
    font-size: 13px;
    color: #037cff;
}

.timeline .item-left {
    float: left;
    clear: left;
    text-align: right;
}

.timeline .item-left:before {
    right: -58px;
}

.timeline .item-left .head:after {
    left: 100%;
    border-left: 7px solid #f6f6f6;
}

.timeline .item-left .head:before {
    left: 100%;
    border-left: 8px solid rgba(0, 0, 0, 0.07);
}

.timeline .item-left .date {
    float: left;
    margin-right: 10px;
}

.timeline .item-right {
    float: right;
    clear: right;
}

.timeline .item-right:before {
    left: -57px;
}

.timeline .item-right .head:after {
    right: 100%;
    border-right: 7px solid #f6f6f6;
}

.timeline .item-right .head:before {
    right: 100%;
    border-right: 8px solid rgba(0, 0, 0, 0.07);
}

.timeline .item-right .date {
    float: right;
    margin-left: 10px;
}

.timeline .item-first {
    margin-top: 75px;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .timeline {
        padding: 0;
    }

    .timeline .item {
        width: 425px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .timeline .item {
        width: 334px;
    }

    .timeline .item-left:before {
        right: -48px;
    }

    .timeline .item-right:before {
        left: -47px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .timeline:before {
        left: 36px;
    }

    .timeline .end {
        left: 36px;
    }

    .timeline .year {
        margin: 0;
    }

    .timeline .item {
        float: none;
        width: auto;
        margin-left: 71px;
    }

    .timeline .item-left {
        text-align: left;
    }

    .timeline .item-left:before {
        right: auto;
        left: -47px;
    }

    .timeline .item-left .head:after {
        right: 100%;
        left: auto;
        border-right: 7px solid #f6f6f6;
        border-left: 0;
    }

    .timeline .item-left .head:before {
        right: 100%;
        left: auto;
        border-right: 8px solid rgba(0, 0, 0, 0.07);
        border-left: 0;
    }

    .timeline .item-left .date {
        float: right;
        margin: 0 0 0 10px;
    }

    .timeline .item-first {
        margin-top: 25px;
    }
}

/**/
/* sitemap */
/**/

.sitemap li {
    display: inline-block;
    vertical-align: top;
    width: 14.28%;
    text-align: center;
}

.sitemap li p {
    margin-top: 14px;
    font-size: 14px;
    line-height: 18px;
}

.sitemap li .title {
    margin-bottom: 4px;
    font-size: 18px;
}

.sitemap li .title a {
    color: inherit;
}

.sitemap .icon {
    display: block;
    width: 60px;
    height: 60px;
    margin: 0 auto;
    border-radius: 10px;
    font-size: 28px;
    line-height: 60px;
    text-align: center;
    color: #fff;
}

.sitemap .red {
    background: #ff2969;
    background: -ms-linear-gradient(top, #ff2969 0%, #ff5c3a 100%);
    background: -moz-linear-gradient(top, #ff2969 0%, #ff5c3a 100%);
    background: -webkit-linear-gradient(top, #ff2969 0%, #ff5c3a 100%);
}

.sitemap .orange {
    background: #feb900;
    background: -ms-linear-gradient(top, #feb900 0%, #ff9600 100%);
    background: -moz-linear-gradient(top, #feb900 0%, #ff9600 100%);
    background: -webkit-linear-gradient(top, #feb900 0%, #ff9600 100%);
}

.sitemap .blue {
    background: #4c7092;
    background: -ms-linear-gradient(top, #4c7092 0%, #436381 100%);
    background: -moz-linear-gradient(top, #4c7092 0%, #436381 100%);
    background: -webkit-linear-gradient(top, #4c7092 0%, #436381 100%);
}

.sitemap .light-blue {
    background: #1acefd;
    background: -ms-linear-gradient(top, #1acefd 0%, #1e58ef 100%);
    background: -moz-linear-gradient(top, #1acefd 0%, #1e58ef 100%);
    background: -webkit-linear-gradient(top, #1acefd 0%, #1e58ef 100%);
}

.sitemap .green {
    background: #79ea32;
    background: -ms-linear-gradient(top, #79ea32 0%, #2bbe06 100%);
    background: -moz-linear-gradient(top, #79ea32 0%, #2bbe06 100%);
    background: -webkit-linear-gradient(top, #79ea32 0%, #2bbe06 100%);
}

.sitemap .purple {
    background: #fb5bc4;
    background: -ms-linear-gradient(top, #fb5bc4 0%, #a845fd 100%);
    background: -moz-linear-gradient(top, #fb5bc4 0%, #a845fd 100%);
    background: -webkit-linear-gradient(top, #fb5bc4 0%, #a845fd 100%);
}

.sitemap .dark-purple {
    background: #7850c7;
    background: -ms-linear-gradient(top, #7850c7 0%, #49349e 100%);
    background: -moz-linear-gradient(top, #7850c7 0%, #49349e 100%);
    background: -webkit-linear-gradient(top, #7850c7 0%, #49349e 100%);
}

@media screen and (max-width: 980px) {
    /* pad */
    .sitemap {
        margin-top: -50px;
    }

    .sitemap li {
        width: 25%;
        margin-top: 50px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .sitemap li {
        width: 33.33%;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .sitemap li {
        width: 50%;
    }
}

/**/
/* map */
/**/

.map {
    padding: 10px;
    border-radius: 20px;
    background: #f5f5f5;
    box-shadow: inset 0 0 0 1px #dedede;
}

.map + h1 {
    margin: 60px 0 -30px;
    padding-top: 50px;
    border-top: 1px solid #e0e0e0;
    text-align: center;
}

.map .google-map {
    height: 480px;
    overflow: hidden;
    -webkit-transform: rotate(0.000001deg);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 10px;
}

/**/
/* contacts */
/**/

.contacts h3 {
    font-size: 24px;
    font-weight: 300;
    color: #000;
}

.contacts p {
    margin-top: 24px;
    font-size: 15px;
    line-height: 24px;
    font-weight: 300;
}

.contacts p span {
    display: block;
    font-weight: 400;
    color: #000;
}

.contacts .links a {
    display: block;
    float: left;
    margin: 5px 5px 0 0;
    width: 44px;
    height: 44px;
    border: 1px solid #037cff;
    border-radius: 50%;
    font-size: 22px;
    line-height: 44px;
    text-align: center;
    color: #037cff;
}

.contacts .links a:hover {
    background: #037cff;
    color: #fff;
}

/**/
/* feedback */
/**/

.feedback form {
    padding: 30px;
    border-radius: 15px;
    background: #f3f2f2;
}

.feedback label {
    display: block;
    margin-bottom: 10px;
    font-size: 13px;
    font-weight: 300;
}

.feedback input,
.feedback textarea {
    width: 100%;
    margin-bottom: 20px;
    padding: 6px 10px;
    border-radius: 5px;
    background: #ddd;
}

.feedback label.error {
    color: #ed1c24;
    margin: 3px;
    text-align: right;
}

.feedback input.error,
.feedback textarea.error {
    border: 1px solid #ed1c24;
    margin-bottom: 2px;
}

.feedback .message {
    display: none;
    margin-bottom: 30px;
}

/*----------------------------------------------*/
/*                   COMPOSER                   */
/*----------------------------------------------*/
/**/
/* text */
/**/

.composer h1 {
    margin-bottom: 30px;
    font-size: 65px;
    font-weight: 100;
    color: #000;
}

.composer h2 {
    margin-bottom: 20px;
    font-size: 40px;
    font-weight: 100;
    color: #000;
}

.composer h3 {
    margin-bottom: 20px;
    font-size: 24px;
    font-weight: 300;
    color: #037cff;
}

.composer h4 {
    margin-bottom: 20px;
    color: #037cff;
}

.composer p {
    line-height: 24px;
    font-weight: 300;
}

.composer strong {
    font-weight: 400;
    color: #000;
}

.composer hr {
    height: 1px;
    margin: 50px 0;
    background: #e0e0e0;
}

.composer hr.alt {
    background: #037cff;
}

.composer hr.alt-2 {
    height: 4px;
    border: 1px solid #037cff;
    border-radius: 3px;
    background: none;
}

.composer .buttons .button {
    margin-bottom: 5px;
}

.composer .wysiwyg p {
    margin-top: 24px;
}

.composer .wysiwyg .pad-player {
    display: inline-block;
    width: 100%;
    position: relative;
    overflow: hidden;
    padding-bottom: 66%;
    -webkit-box-shadow: 0px 0px 0px 1px #dedede;
    -moz-box-shadow: 0px 0px 0px 1px #dedede;
    box-shadow: 0px 0px 0px 1px #dedede;
    border-radius: 15px;
    background: #f5f5f5;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
    -webkit-transform: scale(1);
}

.composer .wysiwyg .pad-player iframe {
    position: absolute;
    top: 10px;
    left: 10px;
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    -webkit-transform: rotate(0.000001deg);
    -webkit-border-radius: 10px;
    -moz-border-radius: 10px;
    border-radius: 10px;
}

.composer .wysiwyg .pic-clear {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
}

.full-width {
    width: 100%;
}

.composer .wysiwyg .pic-left {
    float: left;
    margin-right: 30px;
}

.composer .center {
    text-align: center;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .composer h1 {
        font-size: 60px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer h1 {
        font-size: 55px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .composer h1 {
        font-size: 50px;
    }
}

/**/
/* grid */
/**/

.composer .columns-row {
    margin: 0 -15px;
}

.composer .columns-row:after {
    content: '';
    display: table;
    clear: both;
}

.composer .columns-col {
    float: left;
    padding: 0 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.composer .columns-col-3 {
    width: 25%;
}

.composer .columns-col-4 {
    width: 33.33%;
}

.composer .columns-col-6 {
    width: 50%;
}

.composer .columns-col-8 {
    width: 66.66%;
}

.composer .columns-col-9 {
    width: 75%;
}

.composer .columns-col-12 {
    width: 100%;
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer .columns-col {
        width: 100%;
    }

    .composer .columns-col + .columns-col {
        margin-top: 30px;
    }
}

/**/
/* accordion */
/**/

.composer .accordion dt {
    position: relative;
    margin-top: 10px;
    padding-left: 35px;
    font-size: 15px;
    line-height: 25px;
    font-weight: 300;
    cursor: pointer;
    -ms-transition: color 0.3s;
    -moz-transition: color 0.3s;
    -webkit-transition: color 0.3s;
}

.composer .accordion dt:hover {
    color: #037cff;
}

.composer .accordion dt:first-child {
    margin-top: 0;
}

.composer .accordion dt i {
    position: absolute;
    top: 0;
    left: 0;
    width: 23px;
    height: 23px;
    border: 1px solid #037cff;
    border-radius: 50%;
}

.composer .accordion dt i:after,
.composer .accordion dt i:before {
    content: '';
    position: absolute;
    top: 11px;
    left: 4px;
    width: 15px;
    height: 1px;
    background: #037cff;
}

.composer .accordion dt i:after {
    top: 4px;
    left: 11px;
    width: 1px;
    height: 15px;
}

.composer .accordion dd {
    position: relative;
    display: none;
    margin-top: 10px;
    padding: 10px 20px;
    border-radius: 10px;
    background: #037cff;
    font-size: 14px;
    line-height: 24px;
    font-weight: 300;
    color: #fff;
}

.composer .accordion dd:before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 9px;
    border-right: 4px solid transparent;
    border-bottom: 4px solid #037cff;
    border-left: 4px solid transparent;
}

.composer .accordion .active {
    color: #037cff;
    pointer-events: none;
}

.composer .accordion .active i:after {
    display: none;
}

.composer .accordion-alt dt {
    margin-top: 5px;
    border: 5px solid transparent;
    border-radius: 10px;
    background: #f3f2f2;
    -ms-transition: background 0.3s, color 0.3s;
    -moz-transition: background 0.3s, color 0.3s;
    -webkit-transition: background 0.3s, color 0.3s;
}

.composer .accordion-alt dd {
    margin-top: 1px;
    border-radius: 0 0 10px 10px;
}

.composer .accordion-alt dd:before {
    display: none;
}

.composer .accordion-alt .active,
.composer .accordion-alt .active:hover {
    border-radius: 10px 10px 0 0;
    background: #037cff;
    color: #fff;
}

.composer .accordion-alt .active i {
    border-color: #fff;
}

.composer .accordion-alt .active i:after,
.composer .accordion-alt .active i:before {
    background: #fff;
}

/**/
/* callout */
/**/

.composer .callout {
    margin-top: 30px;
    padding: 50px 20px;
    border: 1px solid #d1d1d1;
    border-radius: 10px;
    background: #f7f7f7;
    box-shadow: inset 0 0 0 10px #fff;
    text-align: center;
}

.composer .callout h2 {
    margin-bottom: 10px;
}

.composer .callout-alt {
    border-color: #037cff;
    background: #037cff;
    box-shadow: none;
    color: #fff;
}

.composer .callout-alt h2,
.composer .callout-alt h3 {
    color: #fff;
}

.composer .callout-alt2 {
    position: relative;
    padding-right: 268px;
    padding-left: 30px;
    border-color: #037cff;
    box-shadow: none;
    text-align: left;
}

.composer .callout-alt2 h3 {
    font-size: 21px;
    color: inherit;
}

.composer .callout-alt2 .button {
    position: absolute;
    top: 50%;
    right: 30px;
    margin-top: -29px;
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer .callout-alt2 {
        padding-right: 30px;
        text-align: center;
    }

    .composer .callout-alt2 .button {
        position: static;
        margin-top: 20px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .composer .callout .button-left,
    .composer .callout .button-right {
        border-radius: 5px;
    }

    .composer .callout .button-left {
        margin-bottom: 5px;
    }
}

/**/
/* chart graph */
/**/

.composer .chart-graph {
    overflow: hidden;
}

.composer .chart-graph > div {
    height: 400px;
}

/**/
/* chart pie */
/**/

.composer .chart-pie {
    position: relative;
    overflow: hidden;
}

.composer .chart-pie > div {
    width: 260px;
    height: 260px;
    margin: 0 auto;
    font-size: 20px;
    font-weight: 300;
}

.composer .chart-pie > span {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    margin: -25px 0 0 -50px;
    font-size: 50px;
    font-weight: 100;
    text-align: center;
    color: #037cff;
}

/**/
/* soc icon */
/**/

.composer .soc-icon {
    display: inline-block;
    vertical-align: top;
    width: 44px;
    height: 44px;
    margin-bottom: 5px;
    border: 1px solid #037cff;
    background: #fff;
    border-radius: 50%;
    font-size: 24px;
    line-height: 44px;
    text-align: center;
}

.composer .soc-icon:hover {
    background: #037cff;
    color: #fff;
}

.composer .soc-icon-alt {
    background: #037cff;
    color: #fff;
}

.composer .soc-icon-alt:hover {
    background: none;
    color: #037cff;
}

.composer .soc-icon-grey {
    border-color: transparent;
    background: #b4b4b4;
    color: #fff;
}

.composer .soc-icon-grey-alt {
    box-shadow: inset 1px 1px 0 rgba(0, 0, 0, 0.15);
    text-shadow: 1px 1px 0 rgba(0, 0, 0, 0.15);
}

.composer .soc-icon-small {
    width: 30px;
    height: 30px;
    font-size: 18px;
    line-height: 30px;
}

/**/
/* list */
/**/

.composer .list li {
    position: relative;
    margin-top: 6px;
    padding: 10px 10px 10px 50px;
    border: 1px solid #d1d1d1;
    border-radius: 5px;
    line-height: 28px;
    font-weight: 300;
}

.composer .list li:first-child {
    margin-top: 0;
}

.composer .list li i {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 24px;
    height: 26px;
    padding-left: 2px;
    border: 1px solid #d1d1d1;
    border-radius: 50%;
    font-size: 12px;
    line-height: 26px;
    text-align: center;
    color: #cfcfcf;
}

.composer .list .active {
    border-color: #037cff;
    color: #037cff;
}

.composer .list .active i {
    border-color: #037cff;
    color: #037cff;
}

.composer .list-alt li i {
    border-color: transparent;
    font-size: 24px;
    color: #535353;
}

.composer .list-alt .active {
    background: #037cff;
    color: #fff;
}

.composer .list-alt .active i {
    border-color: transparent;
    color: #fff;
}

/**/
/* message */
/**/

.composer .message {
    position: relative;
    padding: 10px 20px 10px 101px;
    border: 1px solid #037cff;
    border-radius: 10px;
    color: #037cff;
}

.composer .message:before {
    content: '';
    position: absolute;
    top: 0;
    left: 80px;
    width: 0;
    height: 100%;
    border-right: 1px solid #037cff;
}

.composer .message h4 {
    margin-bottom: 5px;
    font-size: 18px;
    line-height: 24px;
}

.composer .message p {
    font-size: 14px;
    line-height: 18px;
}

.composer .message i {
    position: absolute;
    top: 50%;
    left: 20px;
    width: 38px;
    height: 38px;
    margin-top: -20px;
    border: 1px solid #037cff;
    border-radius: 50%;
    font-size: 20px;
    line-height: 38px;
    text-align: center;
}

.composer .message-warning,
.composer .message-warning:before,
.composer .message-warning h4,
.composer .message-warning i {
    border-color: #94846e !important;
    color: #94846e !important;
}

.composer .message-success,
.composer .message-success:before,
.composer .message-success h4,
.composer .message-success i {
    border-color: #6bcbca !important;
    color: #6bcbca !important;
}

.composer .message-error,
.composer .message-error:before,
.composer .message-error h4,
.composer .message-error i {
    border-color: #ff6766 !important;
    color: #ff6766 !important;
}

/**/
/* milestone */
/**/

.composer .milestone {
    position: relative;
    display: inline-block;
    width: 178px;
    height: 158px;
    overflow: hidden;
    margin-bottom: 10px;
    padding-top: 20px;
    border: 1px solid #037cff;
    border-radius: 15px;
    text-align: center;
    color: #037cff;
}

.composer .milestone p {
    position: relative;
    z-index: 1;
    font-size: 16px;
    line-height: 20px;
}

.composer .milestone .fa {
    position: relative;
    z-index: 1;
    display: block;
    margin-bottom: 4px;
    font-size: 72px;
    text-align: center;
}

.composer .milestone .value {
    position: relative;
    z-index: 1;
    font-size: 42px;
}

.composer .milestone-alt {
    border-color: transparent;
    background: #037cff;
    color: #fff;
}

.composer .milestone-alt:after,
.composer .milestone-alt:before {
    content: '';
    position: absolute;
    top: 50%;
    left: -25%;
    width: 150%;
    height: 100%;
    background: rgba(0, 0, 0, 0.05);
    -webkit-transform-origin: 50% 0;
    -webkit-transform: rotate(45deg);
}

.composer .milestone-alt:before {
    -webkit-transform: rotate(135deg);
}

/**/
/* pricing table */
/**/

.composer .pricing-table {
    margin: -10px -5px 0 -5px;
}

.composer .pricing-table .col {
    display: inline-block;
    vertical-align: top;
    width: 210px;
    margin: 10px 5px 0 5px;
    border: 1px solid #037cff;
    border-radius: 10px;
    overflow: hidden;
    text-align: center;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.composer .pricing-table .head {
    padding: 11px 0;
    background: #037cff;
    font-size: 26px;
    font-weight: 300;
    color: #fff;
}

.composer .pricing-table .price {
    padding: 54px 0;
    font-size: 84px;
    line-height: 64px;
    font-weight: 300;
    color: #000;
}

.composer .pricing-table .price sup {
    vertical-align: top;
    font-size: 36px;
    line-height: 1;
}

.composer .pricing-table .price sub {
    vertical-align: bottom;
    margin-left: -50px;
    font-size: 13px;
    line-height: 1;
}

.composer .pricing-table .listing li {
    padding: 10px 0;
    font-weight: 300;
}

.composer .pricing-table .listing li:nth-child(odd) {
    background: #f3f2f2;
}

.composer .pricing-table .foot {
    padding: 35px 0;
}

.composer .pricing-table .featured {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
}

.composer .pricing-table .featured .price {
    color: #037cff;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .composer .pricing-table .col {
        width: 167px;
    }

    .composer .pricing-table .price {
        font-size: 64px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer .pricing-table .col {
        width: 269px;
    }

    .composer .pricing-table .price {
        font-size: 84px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .composer .pricing-table .col {
        width: 48%;
        margin-right: 1%;
        margin-left: 1%;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .composer .pricing-table {
        margin-right: 0;
        padding-left: 0;
    }

    .composer .pricing-table .col {
        width: 100%;
    }
}

/**/
/* progress bar */
/**/

.composer .progress-bar li {
    margin-top: 10px;
    line-height: 27px;
    font-weight: 300;
}

.composer .progress-bar li:first-child {
    margin-top: 0;
}

.composer .progress-bar .bar {
    height: 25px;
    border: 1px solid #d1d1d1;
    border-radius: 5px;
}

.composer .progress-bar .bar span {
    position: relative;
    display: block;
    height: 25px;
    border-radius: 4px;
    background: #037cff;
}

.composer .progress-bar .bar span:after {
    content: '';
    position: absolute;
    top: -2px;
    left: 100%;
    width: 29px;
    height: 29px;
    margin-left: -14px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 6px rgba(0, 0, 0, 0.20);
}

.composer .progress-bar-alt li {
    margin-top: 37px;
}

.composer .progress-bar-alt li:first-child {
    margin-top: 27px;
}

.composer .progress-bar-alt .name {
    position: relative;
    z-index: 1;
    margin-bottom: -27px;
    padding-left: 10px;
}

.composer .progress-bar-alt .bar {
    border-color: #037cff;
}

.composer .progress-bar-alt .bar em {
    position: absolute;
    top: -32px;
    left: 100%;
    width: 35px;
    margin-left: -17px;
    border-radius: 5px;
    background: #037cff;
    font-size: 13px;
    text-align: center;
    color: #fff;
}

.composer .progress-bar-alt .bar em:after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -4px;
    border-top: 4px solid #037cff;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
}

.composer .progress-bar-alt .bar span {
    border-right: 1px solid #037cff;
    border-radius: 9px 0 0 9px;
    background: #f3f2f2;
}

.composer .progress-bar-alt .bar span:after {
    display: none;
}

/**/
/* process */
/**/

.composer .process {
    position: relative;
    margin: 0 -15px;
}

.composer .process:after,
.composer .process:before {
    content: '';
    position: absolute;
    z-index: 1;
    top: 64px;
    width: 5px;
    height: 5px;
    border: 1px solid #535353;
    border-radius: 50%;
    background: #fff;
}

.composer .process:after {
    left: 0;
    margin-left: 12px;
    border-color: #037cff;
}

.composer .process:before {
    right: 0;
    margin-right: 12px;
}

.composer .process li {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 270px;
    margin: 0 15px;
    text-align: center;
}

.composer .process li:after {
    content: '';
    position: absolute;
    z-index: 1;
    top: 52px;
    left: 100%;
    width: 29px;
    height: 29px;
    border: 1px solid #535353;
    border-radius: 50%;
    background: #fff;
    font-family: FontAwesome;
    font-size: 14px;
    line-height: 30px;
}

.composer .process li:before {
    content: '';
    position: absolute;
    top: 67px;
    left: 0;
    width: 100%;
    border-bottom: 1px solid #535353;
}

.composer .process li:last-child:after {
    display: none;
}

.composer .process h3 {
    margin-bottom: 15px;
    font-size: 18px;
    color: #000;
}

.composer .process i {
    position: relative;
    display: block;
    width: 133px;
    height: 133px;
    margin: 0 auto 20px;
    border: 1px solid #535353;
    border-radius: 15px;
    background: #fff;
    font-size: 42px;
    line-height: 134px;
    text-align: center;
}

.composer .process .done:after {
    content: "\f00c";
    border-color: #037cff;
    color: #037cff;
}

.composer .process .done:before {
    border-color: #037cff;
}

.composer .process .done i {
    border-color: #037cff;
    color: #037cff;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .composer .process {
        margin: 0 -10px;
    }

    .composer .process:after {
        margin-left: 7px;
    }

    .composer .process:before {
        margin-right: 7px;
    }

    .composer .process li {
        width: 220px;
        margin: 0 10px;
    }

    .composer .process li:after {
        margin-left: -5px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer .process {
        margin: -50px 0 0;
    }

    .composer .process:after,
    .composer .process:before,
    .composer .process li:after,
    .composer .process li:before {
        display: none;
    }

    .composer .process li {
        width: 50%;
        margin: 50px 0 0;
    }

    .composer .process p {
        padding: 0 10px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .composer .process li {
        width: 100%;
    }

    .composer .process p {
        padding: 0;
    }
}

/**/
/* services */
/**/

.composer .services {
    margin: -50px -15px 0;
}

.composer .services li {
    display: inline-block;
    vertical-align: top;
    width: 300px;
    margin-top: 50px;
    padding: 0 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.composer .services h3 {
    margin: 0;
    padding-left: 90px;
    font-size: 18px;
    font-weight: 300;
    color: #000;
}

.composer .services p {
    margin-top: 10px;
    padding-left: 90px;
}

.composer .services .icon {
    display: block;
    float: left;
    width: 70px;
    height: 70px;
    border-radius: 10px;
    background: #037cff;
    font-size: 28px;
    line-height: 70px;
    text-align: center;
    text-shadow: 5px 5px 0 rgba(0, 0, 0, 0.05);
    color: #fff;
}

.composer .services-alt li {
    text-align: center !important;
}

.composer .services-alt h3,
.composer .services-alt p {
    padding-left: 0 !important;
}

.composer .services-alt .sep {
    height: 1px;
    margin-top: 10px;
    background: #e0e0e0;
    background: -ms-linear-gradient(left, #ffffff 0%, #e0e0e0 50%, #ffffff 100%);
    background: -moz-linear-gradient(left, #ffffff 0%, #e0e0e0 50%, #ffffff 100%);
    background: -webkit-linear-gradient(left, #ffffff 0%, #e0e0e0 50%, #ffffff 100%);
}

.composer .services-alt .icon {
    float: none !important;
    width: 134px;
    height: 134px;
    margin: 0 auto 15px !important;
    border: 1px solid #888;
    border-radius: 15px;
    background: none;
    font-size: 64px;
    line-height: 134px;
    text-shadow: none;
    color: #888;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .composer .services {
        margin-right: -10px;
        margin-left: -10px;
    }

    .composer .services li {
        width: 240px;
        padding: 0 10px;
    }

    .composer .services h3,
    .composer .services p {
        padding-left: 85px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer .services {
        margin-right: -9px;
        margin-left: -9px;
    }

    .composer .services li {
        width: 189px;
        padding: 0 9px;
        text-align: center;
    }

    .composer .services .icon {
        float: none;
        margin: 0 auto 10px;
    }

    .composer .services h3,
    .composer .services p {
        padding-left: 0;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .composer .services li {
        width: 50%;
        padding: 0 9px;
        text-align: left;
    }

    .composer .services .icon {
        float: left;
        margin: 0;
    }

    .composer .services h3,
    .composer .services p {
        padding-left: 85px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .composer .services li {
        width: 100%;
    }
}

/**/
/* tabs */
/**/

.composer .tabs {
    position: relative;
}

.composer .tabs > input {
    display: none;
}

.composer .tabs > label {
    position: relative;
    display: inline-block;
    vertical-align: top;
    margin-right: -1px;
    padding: 0 50px;
    border-right: 1px solid #fff;
    border-left: 1px solid #fff;
    background: #037cff;
    line-height: 56px;
    text-align: center;
    color: #fff;
    cursor: pointer;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.composer .tabs > label:nth-child(2) {
    border-left-color: #037cff;
}

.composer .tabs > div {
    position: absolute;
    top: 56px;
    left: 0;
    margin-top: -1px;
    padding: 20px;
    border: 1px solid #037cff;
    opacity: 0;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.composer .tabs > input:checked + label {
    z-index: 1;
    padding-bottom: 1px;
    border-top: 1px solid #037cff;
    border-right-color: #037cff;
    border-left-color: #037cff;
    border-bottom: 0;
    background: #fff;
    line-height: 54px;
    color: #037cff;
    cursor: default;
}

.composer .tabs > .tabs-head-1:checked ~ .tabs-cont-1,
.composer .tabs > .tabs-head-2:checked ~ .tabs-cont-2,
.composer .tabs > .tabs-head-3:checked ~ .tabs-cont-3,
.composer .tabs > .tabs-head-4:checked ~ .tabs-cont-4,
.composer .tabs > .tabs-head-5:checked ~ .tabs-cont-5 {
    position: relative;
    top: 0;
    opacity: 1;
}

.composer .tabs-alt > label {
    float: left;
    clear: left;
    width: 70px;
    height: 70px;
    margin: 0;
    padding: 0;
    border: 0 !important;
    font-size: 20px;
    line-height: 70px !important;
}

.composer .tabs-alt > div {
    top: 0;
    left: 0;
    margin: 0 0 0 70px;
    padding: 31px;
    border: 0;
    background: #f3f2f2;
}

.composer .tabs-alt > input:checked + label {
    padding-bottom: 0;
    background: #f3f2f2;
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer .tabs > label {
        padding: 0 30px;
    }

    .composer .tabs-alt > label {
        padding: 0;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .composer .tabs > label {
        padding: 0 20px;
    }

    .composer .tabs-alt > label {
        width: 70px;
    }
}

/**/
/* team */
/**/

.composer .team {
    margin: -50px -15px 0;
}

.composer .team li {
    display: inline-block;
    vertical-align: top;
    width: 300px;
    margin-top: 50px;
    padding: 0 15px;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.composer .team li > div {
    overflow: hidden;
    padding: 9px;
    border: 1px solid #d1d1d1;
    border-radius: 15px;
    text-align: center;
}

.composer .team h3 {
    margin-bottom: 10px;
    font-size: 18px;
    font-weight: 300;
    color: #000;
}

.composer .team h4 {
    font-weight: 300;
}

.composer .team img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}

.composer .team .pic {
    position: relative;
    margin-bottom: 15px;
    padding-bottom: 100%;
}

.composer .team .social {
    margin: 25px -9px -9px;
    padding: 10px 0;
    background: #f7f7f7;
}

.composer .team .social a {
    margin: 0 1px;
}

.composer .team-alt li > div {
    border-color: #037cff;
}

.composer .team-alt .social {
    background: #037cff;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .composer .team {
        margin-right: -10px;
        margin-left: -10px;
    }

    .composer .team li {
        width: 240px;
        padding: 0 10px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .composer .team {
        margin-right: -9px;
        margin-left: -9px;
    }

    .composer .team li {
        width: 189px;
        padding: 0 9px;
        text-align: center;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .composer .team li {
        width: 49.99%;
        padding: 0 9px;
    }
}

@media screen and (max-width: 479px) {
    /* mini phone */
    .composer .team li {
        width: 100%;
    }
}

/**/
/* testimonial */
/**/

.composer .testimonial .date {
    position: relative;
    margin-bottom: 15px;
    font-size: 12px;
    text-align: center;
    color: #000;
}

.composer .testimonial .date:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    left: 50%;
    margin-left: 70px;
    border-bottom: 1px solid #e0e0e0;
}

.composer .testimonial .date:before {
    content: '';
    position: absolute;
    top: 50%;
    right: 50%;
    left: 0;
    margin-right: 70px;
    border-bottom: 1px solid #e0e0e0;
}

.composer .testimonial .text {
    position: relative;
    min-height: 96px;
    margin-left: 40px;
    margin-right: 40px;
    padding: 20px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
    font-size: 13px;
}

.composer .testimonial .text:before {
}

.composer .testimonial .text:after {
}

.composer .testimonial .text a {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 46px;
    height: 46px;
    font-size: 20px;
    line-height: 46px;
    text-align: center;
}

.composer .testimonial .author {
    float: left;
    display: inline-block;
    font-size: 13px;
    line-height: 15px;
    font-weight: 300;
    text-align: center;
}

.composer .testimonial .author img {
    display: block;
    width: 100px;
    height: 100px;
    margin-bottom: 3px;
    border-radius: 50%;
    border: 3px solid #fff;
}

.composer .testimonial-group .author img {
    border: 0;
}

.composer .testimonial .author span {
    display: block;
    font-weight: 400;
    color: #000;
}

.composer .testimonial-alt .text {
    background: #037cff;
    box-shadow: none;
    color: #fff;
}

.composer .testimonial-alt .text:after {
    border-right-color: #037cff;
}

.composer .testimonial-alt .text:before {
    display: none;
}

.composer .testimonial-alt .text a {
    color: #fff;
}

.composer .testimonial-group {
    text-align: center;
}

.composer .testimonial-group .text {
    display: none;
    margin: 0 0 15px 0;
    text-align: left;
}

.composer .testimonial-group .text:after {
    display: none;
}

.composer .testimonial-group .text.active {
    display: block;
}

.composer .testimonial-group .author {
    position: relative;
    display: inline-block;
    vertical-align: top;
    float: none;
    margin: 0 2px;
    cursor: pointer;
}

.composer .testimonial-group .author div {
    position: absolute;
    top: 0;
    left: 0;
    width: 100px;
    height: 100px;
    border-radius: 50%;
    background: #037cff;
    opacity: 0.5;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.composer .testimonial-group .author.active {
    cursor: default;
}

.composer .testimonial-group .author.active:before {
    content: '';
    position: absolute;
    top: -15px;
    left: 44px;
    border-top: 6px solid #037cff;
    border-right: 6px solid transparent;
    border-left: 6px solid transparent;
}

.composer .testimonial-group .author.active div {
    opacity: 0;
}

.owl-carousel .testimonial {
    padding-bottom: 5px;
}

/**/
/* toggle */
/**/

.composer .toggle dt {
    position: relative;
    margin-top: 5px;
    padding: 5px 40px 5px 15px;
    border-radius: 5px;
    background: #f3f2f2;
    font-size: 15px;
    line-height: 25px;
    font-weight: 300;
    cursor: pointer;
}

.composer .toggle dt:hover {
    color: #037cff;
}

.composer .toggle dt:first-child {
    margin-top: 0;
}

.composer .toggle dt i {
    position: absolute;
    top: 5px;
    right: 5px;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #037cff;
}

.composer .toggle dt i:after,
.composer .toggle dt i:before {
    content: '';
    position: absolute;
    top: 12px;
    left: 5px;
    width: 15px;
    height: 1px;
    background: #fff;
}

.composer .toggle dt i:after {
    top: 5px;
    left: 12px;
    width: 1px;
    height: 15px;
}

.composer .toggle dd {
    display: none;
    margin: 15px 0;
    padding: 0 15px;
    font-size: 15px;
    line-height: 24px;
    font-weight: 300;
}

.composer .toggle dd:last-child {
    margin-bottom: 0;
}

.composer .toggle .active i:after {
    display: none;
}

.composer .toggle-alt dt {
    background: none;
    box-shadow: inset 0 0 0 1px #037cff;
    color: #037cff;
}

.composer .toggle-alt dt:hover {
    color: #000;
}

/**/
/* twitter */
/**/

.composer .twitter-feed li {
    position: relative;
    margin-top: 2px;
    padding-left: 90px;
    background: #037cff;
    color: #fff;
}

.composer .twitter-feed li:first-child {
    margin-top: 0;
}

.composer .twitter-feed p {
    padding: 15px 20px;
    border-left: 2px solid #fff;
    font-size: 13px;
    line-height: 20px;
}

.composer .twitter-feed a {
    font-weight: 400;
    color: #fff;
}

.composer .twitter-feed a:hover {
    text-decoration: underline;
}

.composer .twitter-feed i {
    position: absolute;
    top: 50%;
    left: 20px;
    width: 48px;
    height: 48px;
    margin-top: -25px;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: 24px;
    line-height: 48px;
    text-align: center;
    color: #fff;
}

.composer .twitter-feed-alt p {
    padding-top: 14px;
    padding-bottom: 14px;
    border: 1px solid #037cff;
    border-left: 0;
    background: #fff;
    color: #535353;
}

.composer .twitter-feed-alt a {
    color: #037cff;
}

.composer .twitter-feed-alt p span {
    color: #000;
    font-weight: 400;
    opacity: 1;
}

.composer .twitter-carousel {
    text-align: center;
    margin: 0 58px;
}

.composer .twitter-carousel p {
    font-size: 14px;
    line-height: 24px;
}

.composer .twitter-carousel p span {
    font-weight: 400;
    color: #000;
}

.composer .twitter-carousel .button {
    margin-top: 10px;
    padding-top: 4px;
    padding-bottom: 4px;
}

.composer .twitter-carousel .fa-twitter {
    display: block;
    width: 62px;
    height: 62px;
    margin: 0 auto 10px;
    border-radius: 10px;
    background: #037cff;
    font-size: 24px;
    line-height: 62px;
    color: #fff;
}

.composer .twitter-carousel .owl-buttons {
    top: 0;
    right: -58px;
    left: -58px;
    margin: 0;
}

.composer .twitter-carousel .owl-buttons div {
    width: 46px;
    height: 46px;
    margin: 0;
    border-color: #037cff;
    border-radius: 5px;
    font-size: 30px;
    line-height: 44px;
    color: #037cff;
}

.composer .twitter-carousel .owl-buttons div:hover {
    color: #fff;
}

.composer .twitter-carousel .owl-buttons .owl-prev {
    float: left;
}

.composer .twitter-carousel .owl-buttons .owl-next {
    float: right;
}

.composer .twitter-carousel-alt {
    margin: 0;
}

.composer .twitter-carousel-alt .owl-pagination {
    margin-top: 62px;
}

/**/
/* video */
/**/

.composer .video {
    padding: 10px;
    border-radius: 15px;
    background: #f5f5f5;
    box-shadow: inset 0 0 0 1px #dedede;
}

.composer .video div {
    position: relative;
    overflow: hidden;
    padding-bottom: 50%;
    border-radius: 10px;
    -webkit-transform: scale(1);
}

.composer .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -webkit-transform: rotate(0.000001deg);
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 10px;
}

/*----------------------------------------------*/
/*                    WIDGETS                   */
/*----------------------------------------------*/
/**/
/* widget */
/**/

.widget-area {
    padding: 15px;
    border-radius: 10px;
    background: #f3f2f2;
}

.widget .head {
    margin-bottom: 10px;
    font-size: 16px;
    line-height: 30px;
    color: #000;
}

.widget .head i {
    display: block;
    float: left;
    width: 30px;
    height: 25px;
    margin-right: 6px;
    border-radius: 5px;
    padding-top: 7px;
    text-align: center;
    color: #fff;
    vertical-align: middle;
}

.widget .head .orange {
    background: #feb900;
    background: -ms-linear-gradient(top, #feb900 0%, #ff9600 100%);
    background: -moz-linear-gradient(top, #feb900 0%, #ff9600 100%);
    background: -webkit-linear-gradient(top, #feb900 0%, #ff9600 100%);
}

.widget .head .blue {
    background: #4c7092;
    background: -ms-linear-gradient(top, #4c7092 0%, #436381 100%);
    background: -moz-linear-gradient(top, #4c7092 0%, #436381 100%);
    background: -webkit-linear-gradient(top, #4c7092 0%, #436381 100%);
}

.widget .head .light-blue {
    background: #1acefd;
    background: -ms-linear-gradient(top, #1acefd 0%, #1e58ef 100%);
    background: -moz-linear-gradient(top, #1acefd 0%, #1e58ef 100%);
    background: -webkit-linear-gradient(top, #1acefd 0%, #1e58ef 100%);
}

.widget .head .green {
    background: #79ea32;
    background: -ms-linear-gradient(top, #79ea32 0%, #2bbe06 100%);
    background: -moz-linear-gradient(top, #79ea32 0%, #2bbe06 100%);
    background: -webkit-linear-gradient(top, #79ea32 0%, #2bbe06 100%);
}

.widget .head .purple {
    background: #fb5bc4;
    background: -ms-linear-gradient(top, #fb5bc4 0%, #a845fd 100%);
    background: -moz-linear-gradient(top, #fb5bc4 0%, #a845fd 100%);
    background: -webkit-linear-gradient(top, #fb5bc4 0%, #a845fd 100%);
}

.widget .cont {
    border-radius: 5px;
    background: #fff;
}

.widget .foot {
    margin-top: 10px;
}

.widget + .widget {
    margin: 15px -15px 0;
    padding: 15px 15px 0;
    border-top: 1px solid #e3e3e3;
}

/**/
/* widget search  */
/**/

.widget-search form {
    position: relative;
}

.widget-search input {
    width: 100%;
    padding: 7px 28px;
    border-radius: 5px;
    background: #ddd;
    font-size: 12px;
    line-height: 16px;
}

.widget-search .fa-search {
    position: absolute;
    top: 0;
    left: 0;
    width: 30px;
    height: 30px;
    font-size: 12px;
    line-height: 30px;
    text-align: center;
}

/**/
/* widget categories  */
/**/

.widget-categories li {
    border-top: 1px solid #e9e9e9;
}

.widget-categories li:first-child {
    border-top: 0;
}

.widget-categories a {
    display: block;
    padding: 10px 13px;
    font-size: 13px;
    line-height: 17px;
    color: #535353;
}

.widget-categories a:hover {
    color: #037cff;
}

.widget-categories i {
    float: right;
    line-height: 17px;
}

.widget-categories .active {
    color: #037cff;
}

.widget-categories .active i {
    float: left;
    margin-right: 8px;
}

/**/
/* widget recent posts  */
/**/

.widget-recent-posts li {
    margin-top: 10px;
    padding-top: 10px;
    border-radius: 5px;
    background: #fff;
    text-align: center;
}

.widget-recent-posts p {
    min-height: 54px;
    padding: 0 10px 10px 10px;
    border-bottom: 1px solid #e9e9e9;
    font-size: 13px;
    line-height: 18px;
    text-align: left;
}

.widget-recent-posts img {
    display: block;
    float: left;
    margin: 0 10px;
    border-radius: 10px;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.widget-recent-posts img:hover {
    opacity: 0.7;
}

.widget-recent-posts div a {
    width: 25%;
    border-left: 1px solid #e9e9e9;
    font-size: 14px;
    line-height: 32px;
    color: #ccc;
    box-sizing: border-box;
    -moz-box-sizing: border-box;
}

.widget-recent-posts div a:hover {
    color: #037cff;
}

.widget-recent-posts div span {
    display: inline-block;
    width: 50%;
    font-size: 12px;
    line-height: 32px;
    font-weight: 300;
}

@media screen and (max-width: 980px) {
    /* pad */
    .widget-recent-posts img {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .widget-recent-posts img {
        display: block;
    }
}

/**/
/* widget recent photos  */
/**/

.widget-recent-photos ul {
    margin: -6px 0 0 -6px;
}

.widget-recent-photos li {
    position: relative;
    display: inline-block;
    width: 76px;
    height: 76px;
    overflow: hidden;
    margin: 6px 0 0 6px;
}

.widget-recent-photos li img {
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 10px;
}

.widget-recent-photos li a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    background: #037cff;
    opacity: 0;
    -ms-transition: opacity 0.6s;
    -moz-transition: opacity 0.6s;
    -webkit-transition: opacity 0.6s;
}

.widget-recent-photos li a:hover {
    opacity: 0.8;
}

.widget-recent-photos li i {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 24px;
    margin: -13px 0 0 -13px;
    border: 1px solid #fff;
    border-radius: 50%;
    font-size: 14px;
    line-height: 24px;
    text-align: center;
    color: #fff;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .widget-recent-photos ul {
        margin: -5px 0 0 -5px;
    }

    .widget-recent-photos li {
        width: 60px;
        height: 60px;
        margin: 5px 0 0 5px;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .widget-recent-photos li {
        width: 68px;
        height: 68px;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .widget-recent-photos ul {
        margin: -6px 0 0 -6px;
    }

    .widget-recent-photos li {
        width: 76px;
        height: 76px;
        margin: 6px 0 0 6px;
    }
}

/**/
/* widget recent comments */
/**/

.widget-recent-comments li {
    margin-top: 10px;
    padding-top: 10px;
    border-radius: 5px;
    background: #fff;
    text-align: center;
}

.widget-recent-comments p {
    min-height: 36px;
    padding: 0 10px 10px 10px;
    border-bottom: 1px solid #e9e9e9;
    font-size: 13px;
    line-height: 18px;
    text-align: left;
}

.widget-recent-comments img {
    display: block;
    float: left;
    margin: 0 10px;
}

.widget-recent-comments span {
    display: block;
    padding: 8px 0;
    font-size: 12px;
    line-height: 16px;
    font-weight: 300;
}

@media screen and (max-width: 980px) {
    /* pad */
    .widget-recent-comments img {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .widget-recent-comments img {
        display: block;
    }
}

/**/
/* widget tags  */
/**/

.widget-tags a {
    display: inline-block;
    vertical-align: top;
    margin: 5px 0 0 5px;
    padding: 0 10px;
    border: 1px solid #037cff;
    border-radius: 4px;
    font-size: 14px;
    line-height: 30px;
    font-weight: 300;
}

.widget-tags a:hover {
    background: #037cff;
    color: #fff;
}

.widget-tags .cont {
    padding: 5px 10px 10px 5px;
}

/**/
/* widget details  */
/**/

.widget-details p {
    padding: 9px 13px;
    font-size: 13px;
    line-height: 21px;
}

.widget-details li {
    padding: 10px 13px;
    border-bottom: 1px solid #e9e9e9;
    font-size: 13px;
    line-height: 17px;
}

.widget-details li i {
    float: right;
    line-height: 17px;
}

/**/
/* widget filter */
/**/

.widget-filter .cont {
    padding: 20px 15px;
}

.widget-filter .slider {
    position: relative;
    height: 4px;
    margin: 5px 7px 25px;
    border-radius: 2px;
    background: #e8e8e8;
}

.widget-filter .slider a {
    position: absolute;
    top: -5px;
    width: 14px;
    height: 14px;
    margin-left: -7px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.20);
}

.widget-filter .slider div {
    position: relative;
    height: 4px;
    border-radius: 2px;
    background: #037cff;
}

.widget-filter .slider-label {
    float: right;
    margin: 13px 0 12px;
    font-size: 13px;
    font-weight: 300;
}

@media screen and (max-width: 1200px) {
    /* laptop */
    .widget-filter .slider-label {
        float: none;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .widget-filter .slider-label {
        float: right;
    }
}

/**/
/* widget cart */
/**/

.widget-cart li {
    min-height: 54px;
    padding: 15px;
    border-bottom: 1px solid #e9e9e9;
    font-size: 13px;
    line-height: 18px;
    color: #000;
}

.widget-cart a {
    color: #535353;
}

.widget-cart a:hover {
    color: #037cff;
}

.widget-cart img {
    display: block;
    float: left;
    width: 54px;
    height: 54px;
    margin-right: 10px;
    border-radius: 10px;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.widget-cart img:hover {
    opacity: 0.7;
}

.widget-cart .fa {
    display: block;
    float: right;
    width: 38px;
    border-left: 1px solid #e9e9e9;
    font-size: 14px;
    line-height: 34px;
    text-align: center;
}

.widget-cart .total {
    padding: 9px 0 9px 15px;
    font-size: 13px;
    line-height: 16px;
    color: #037cff;
}

@media screen and (max-width: 980px) {
    /* pad */
    .widget-cart img {
        float: none;
        width: 111px;
        height: 111px;
        margin: 0 0 10px 0;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .widget-cart img {
        float: left;
        width: 54px;
        height: 54px;
        margin: 0 10px 0 0;
    }
}

/**/
/* widget sellers */
/**/

.widget-sellers li {
    min-height: 54px;
    padding: 15px;
    border-bottom: 1px solid #e9e9e9;
    font-size: 13px;
    line-height: 18px;
    color: #000;
}

.widget-sellers li:last-child {
    border-bottom: 0;
}

.widget-sellers a {
    color: #535353;
}

.widget-sellers a:hover {
    color: #037cff;
}

.widget-sellers img {
    display: block;
    float: left;
    width: 54px;
    height: 54px;
    margin-right: 10px;
    border-radius: 10px;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.widget-sellers img:hover {
    opacity: 0.7;
}

.widget-sellers .price {
    color: #037cff;
}

@media screen and (max-width: 980px) {
    /* pad */
    .widget-sellers img {
        float: none;
        width: 111px;
        height: 111px;
        margin: 0 0 10px 0;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .widget-sellers img {
        float: left;
        width: 54px;
        height: 54px;
        margin: 0 10px 0 0;
    }
}

/*----------------------------------------------*/
/*                    FOOTER                    */
/*----------------------------------------------*/
/**/
/* widget */
/**/

.widget-alt {
    font-weight: 400;
    overflow: auto;
    text-overflow: ellipsis;
    overflow: hidden;
}

.widget-alt > * {
    position: relative;
    z-index: 3;
}

.widget-alt .head {
    position: relative;
    margin-bottom: -10px;
    background: #ededed;
    font-size: 16px;
    padding: 15px 0 25px;
    text-align: center;
    color: #000;
    border: 1px solid #d8d8d8;
}

.widget-alt:before {
    position: absolute;
    background: #ededed;
    bottom: calc(100% - 1px);
    height: 17px;
    left: 16px;
    width: 45px;
    border-top: 1px solid #d8d8d8;
    border-right: 2px solid #d8d8d8;
    z-index: 4;
    -webkit-transform: skew(45deg);
    -moz-transform: skew(45deg);
    -ms-transform: skew(45deg);
    transform: skew(45deg);
}

.widget-alt:after {
    position: absolute;
    bottom: calc(100% - 1px);
    left: 0px;
    width: 45px;
    height: 17px;
    background: #ededed;
    border-top: 1px solid #d8d8d8;
    border-left: 1px solid #d8d8d8;
    z-index: 4;
}

.widget-alt .cont {
    padding: 24px;
    border: 1px solid #d8d8d8;
    background: #ededed;
    height: 220px;
    text-overflow: ellipsis;
    overflow: hidden;
}

/**/
/* widget about */
/**/

.widget-alt-about ul {
    padding: 7px 0;
}

.widget-alt-about li {
    position: relative;
    padding-top: 33px;
    font-size: 13px;
    line-height: 22px;
    text-align: center;
    color: #646464;
}

.widget-alt-about li:before {
    content: '';
    position: absolute;
    top: 16px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d7d7d7;
    background: -ms-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
    background: -moz-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
    background: -webkit-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
}

.widget-alt-about li:first-child {
    padding: 0;
}

.widget-alt-about li:first-child:before {
    display: none;
}

/**/
/* widget contacts */
/**/

.widget-alt-contacts address {
    font-size: 13px;
    line-height: 22px;
    text-align: center;
    color: #646464;
}

.widget-alt-contacts address i {
    margin-right: 1ex;
    font-size: 14px;
}

.widget-alt-contacts ul,
.widget-alt-contacts ol {
    position: relative;
    padding-top: 31px;
    font-size: 13px;
    line-height: 22px;
    text-align: center;
    color: #646464;
}

.widget-alt-contacts ul:before,
.widget-alt-contacts ol:before {
    content: '';
    position: absolute;
    top: 14px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d7d7d7;
    background: -ms-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
    background: -moz-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
    background: -webkit-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
}

.widget-alt-contacts ul {
    padding-top: 25px;
}

.widget-alt-contacts ul:before {
    top: 12px;
}

.widget-alt-contacts ul a {
    color: #646464;
}

.widget-alt-contacts ul a:hover {
    color: #000;
}

.widget-alt-contacts ul i {
    margin-right: 1ex;
    font-size: 14px;
}

.widget-alt-contacts ol li {
    display: inline-block;
    margin: 0 3px;
}

.widget-alt-contacts ol a {
    display: block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #b4b4b4;
    font-size: 20px;
    line-height: 32px;
    text-align: center;
    color: #fff;
    -ms-transition: background 0.3s;
    -moz-transition: background 0.3s;
    -webkit-transition: background 0.3s;
}

.widget-alt-contacts ol a:hover {
    background: #037cff;
}

/**/
/* recent posts */
/**/

.widget-alt-posts li {
    position: relative;
    min-height: 58px;
    padding-bottom: 31px;
    font-size: 13px;
    line-height: 18px;
    color: #646464;
}

.widget-alt-posts li:before {
    content: '';
    position: absolute;
    bottom: 15px;
    left: 0;
    width: 100%;
    height: 1px;
    background: #d7d7d7;
    background: -ms-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
    background: -moz-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
    background: -webkit-linear-gradient(left, #ededed 0%, #d7d7d7 50%, #ededed 100%);
}

.widget-alt-posts p {
    overflow: hidden;
}

.widget-alt-posts img {
    float: left;
    margin-right: 10px;
    border-radius: 10px;
    -ms-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -webkit-transition: opacity 0.3s;
}

.widget-alt-posts img:hover {
    opacity: 0.7;
}

.widget-alt-posts span {
    display: block;
    margin-top: 4px;
    font-size: 11px;
}

.widget-alt-posts i {
    margin-left: 1ex;
    font-size: 14px;
}

@media screen and (max-width: 980px) {
    /* pad */
    .widget-alt-posts img {
        display: none;
    }
}

@media screen and (max-width: 767px) {
    /* phone */
    .widget-alt-posts img {
        display: block;
    }
}

/**/
/* feedback */
/**/

.widget-alt-feedback form {
    padding: 15px;
    border-bottom: 1px solid #cecece;
    border-radius: 5px;
    background: #ddd;
}

.widget-alt-feedback input,
.widget-alt-feedback textarea {
    width: 100%;
    padding: 7px 10px;
    border: 1px solid #c2c2c2;
    border-radius: 4px;
    background: #fff;
}

.widget-alt-feedback input {
    margin-bottom: 12px;
}

.widget-alt-feedback input.error,
.widget-alt-feedback textarea.error {
    border-color: #ed1c24;
    -ms-transition: border-color 0.3s;
    -moz-transition: border-color 0.3s;
    -webkit-transition: border-color 0.3s;
}

.widget-alt-feedback textarea {
    margin-bottom: 17px;
}

.widget-alt-feedback .message-success,
.widget-alt-feedback .message-error {
    padding-bottom: 10px;
}

.widget-alt-feedback .message-success {
    color: #6bcbca;
}

.widget-alt-feedback .message-error {
    color: #ff6766;
}

.widget-alt-feedback .message-success i,
.widget-alt-feedback .message-error i {
    float: left;
    padding-right: 5px;
}

.widget-alt-feedback button {
    display: inline-block;
    width: 50%;
    border-top: 1px solid #efefef;
    line-height: 40px;
    color: #646464;
    -ms-transition: color 0.3s;
    -moz-transition: color 0.3s;
    -webkit-transition: color 0.3s;
}

.widget-alt-feedback button:hover {
    color: #037cff;
}

.widget-alt-feedback button:first-child {
    border-right: 1px solid #efefef;
}

.widget-alt-feedback .buttons {
    margin: 0 -15px -15px;
}

/**/
/* secondary nav */
/**/

.secondary-nav {
    float: right;
    font-size: 12px;
}

.secondary-nav li {
    display: inline-block;
    margin-left: 15px;
    padding-left: 15px;
    border-left: 1px solid #7f7f7f;
}

.secondary-nav li:first-child {
    margin-left: 0;
    padding-left: 0;
    border-left: 0;
}

.secondary-nav a {
    color: #535353;
}

.secondary-nav a:hover {
    color: #000;
}

@media screen and (max-width: 767px) {
    /* phone */
    .secondary-nav {
        float: none;
        margin-bottom: 30px;
        text-align: center;
    }

    .secondary-nav li {
        margin-bottom: 10px;
    }
}

/**/
/* copyrights */
/**/

.copyrights {
    font-size: 12px;
    color: #535353;
    /* text-align: center;*/
}

@media screen and (max-width: 767px) {
    /* phone */
    .copyrights {
        text-align: center;
    }
}

/**/
/* scroll top */
/**/

.scroll-top {
    position: fixed;
    z-index: 9;
    right: 10px;
    bottom: 10px;
    display: none;
    width: 56px;
    height: 56px;
    border-radius: 5px;
    background: #ccc;
    font-size: 42px;
    line-height: 54px;
    text-align: center;
    color: #fff;
}

.scroll-top:hover {
    background: #037cff;
    color: #fff;
}

/*----------------------------------------------------------------------------*/
/*                            TEMPLATE ADVERTISEMENT                          */
/*----------------------------------------------------------------------------*/

.colored {
    color: #037cff;
}

#adds .wysiwyg {
    position: relative;
}

#adds .page-content-alt {
    text-align: right;
}

#adds .page-content .grid-row,
#adds .page-content-alt .grid-row {
    margin-bottom: 0px;
    padding-bottom: 0px;
}

#adds .page-content h1,
#adds .page-content-alt h1 {
    padding-top: 60px;
}

/* section 1: Retina Ready & Fully Responsive  */

#post1 .wysiwyg img {
    position: absolute;
}

#post1 .wysiwyg .macbook {
    position: relative;
    top: 0;
    left: 0;
    padding-bottom: 20px;
    width: 95.5%;
}

#post1 .wysiwyg .ipad,
.wysiwyg .ipad-shadow {
    right: -7%;
    bottom: 0;
}

#post1 .wysiwyg .ipad {
    z-index: 3;
    width: 63.5%;
}

#post1 .wysiwyg .ipad-shadow {
    z-index: 2;
    width: 63.5%;
}

#post1 .wysiwyg .phone {
    right: 28%;
    top: 29%;
    z-index: 4;
    width: 26%;
}

#post1 .wysiwyg .g7-logo {
    left: -6%;
    top: -13%;
    z-index: 2;
    width: 33.3%;
}

#post1 .wysiwyg .iphone {
    bottom: 10%;
    z-index: 2;
    max-width: 18%;
}

/* section 2: Parallax Effect Sections */

#post2 .wysiwyg img {
    position: absolute;
}

#post2 .wysiwyg .ipad {
    position: relative;
    z-index: 4;
}

#post2 .wysiwyg img {
    top: 0;
    left: -25px;
    width: 110.4%;
}

#post2 .wysiwyg .ipad-image {
    z-index: 5;
}

#post2 .wysiwyg .ipad-screan {
    z-index: 6;
}

/* section 3: Extensive Style Options  */

#post3 .wysiwyg img {
    position: absolute;
}

#post3 .wysiwyg .window-2 {
    top: 33%;
    left: -13%;
    width: 89.1%;
}

#post3 .wysiwyg .window-1 {
    position: relative;
    top: 0;
    left: 7%;
    width: 103.8%;
}

#post3 .wysiwyg .style-switcher {
    top: 1%;
    left: -1%;
    width: 42.3%;
}

/* section 4: iOS 7-inspired Design */

#post4 .wysiwyg img {
    position: absolute;
}

#post4 .wysiwyg .ipad {
    position: relative;
    left: -8%;
    width: 116.2%;
}

#post4 .wysiwyg .left-window {
    top: 17%;
    left: -8%;
    width: 73.1%;
}

#post4 .wysiwyg .right-window {
    top: 7%;
    left: 44%;
    width: 68.4%;
}

#post4 .wysiwyg .tools-icon {
    left: 26%;
    bottom: 18%;
    width: 69.9%;
}

/* section 5: Font Awesome Icons integrated */

#post5 .wysiwyg img {
    position: absolute;
}

#post5 .wysiwyg .mac {
    position: relative;
    top: 0;
    left: 0;
    width: 105.8%;
}

#post5 .wysiwyg .icon-1 {
    top: 43%;
    left: 15%;
    z-index: 3;
    width: 17.44%;
}

#post5 .wysiwyg .icon-2 {
    top: 43%;
    left: 35%;
    z-index: 3;
    width: 17.2%;
}

#post5 .wysiwyg .icon-3 {
    top: 43%;
    left: 55%;
    z-index: 3;
    width: 17.1%;
}

#post5 .wysiwyg .icon-4 {
    top: 43%;
    left: 75%;
    z-index: 3;
    width: 17.44%;
}

/* section 6: Styled Content Elements */

#post6 .wysiwyg img {
    position: absolute;
}

#post6 .wysiwyg .ipad-vertical {
    position: relative;
    top: 0;
    z-index: 2;
    left: -11%;
    width: 128.8%;
}

#post6 .wysiwyg .ipad-horizont {
    top: 0;
    left: -13%;
    width: 128.7%;
    z-index: 1;
}

#post6 .wysiwyg .icon {
    top: 0;
    left: -11%;
    width: 128.8%;
    z-index: 3;
}

/* section 7: WooCommerce Ready  */

#post7 .wysiwyg img {
    position: absolute;
    max-width: 100%;
}

#post7 .wysiwyg .ninja,
#post7 .wysiwyg .woo-logo {
    position: relative;
}

#post7 .wysiwyg .bag {
    top: 45%;
}

#post7 .wysiwyg .shadow {
    top: 100%;
    left: 15%;
}

/* section 8: WooCommerce Content */

#post8 .wysiwyg img {
    position: absolute;
}

#post8 .wysiwyg .iMac {
    position: relative;
    padding-bottom: 10.5%;
    margin-right: 23.33%;
    width: 76.67%;
}

#post8 .wysiwyg .iPad {
    width: 44.2%;
    top: 21%;
    left: 55%;
}

#post8 .wysiwyg .iPhone {
    top: 53%;
    left: 90%;
    width: 18.48%;
}

@media screen and (max-width: 1200px) {
    .wysiwyg.picture-cont {
        margin-right: 20px;
    }

    #adds .page-content h1,
    #adds .page-content-alt h1 {
        padding-top: 0px;
    }

    #post7 .wysiwyg .shadow {
        left: 20%;
    }

    #post8 .wysiwyg .iPad {
        width: 44.4%;
    }
}

@media screen and (max-width: 980px) {
    /* pad */
    .wysiwyg.picture-cont {
        width: 570px;
        margin: 20px auto;
    }

    #adds .page-content,
    #adds .page-content-alt {
        text-align: center;
        padding: 30px 0px;
    }

    #post7 .wysiwyg .shadow {
        left: 24%;
    }

    #post7 .wysiwyg .ninja {
        left: -15%;
    }

    #post7 .wysiwyg .bag {
        left: 60%;
    }

    #post8 .wysiwyg .iPad {
        width: 44.2%;
    }
}

@media screen and (max-width: 767px) {
    .wysiwyg.picture-cont {
        width: 90%;
    }

    #post7 .wysiwyg .ninja {
        left: -20%;
    }

    #post8 .wysiwyg .iMac {
        width: 69.55%;
    }

    #post8 .wysiwyg .iPad {
        width: 40%;
        left: 53%;
    }

    #post8 .wysiwyg .iPhone {
        top: 52%;
        left: 84%;
        width: 16.9%;
    }
}

@media screen and (max-width: 479px) {
    #post7 .wysiwyg .shadow {
        left: 13%;
    }

    #post7 .wysiwyg .bag {
        width: 40%;
    }
}

.main-form {
    float: left;
    width: 100%;
}

.main-form form {
    padding-left: 150px;
    padding-right: 150px;
}

.grid-col-6 .main-form form {
    padding-left: 0px;
    padding-right: 0px;
}

.main-form input[type="text"],
.main-form input[type="password"],
.main-form input[type="email"],
.main-form select,
.main-form textarea {
    border-radius: 5px;
    height: 29px;
    margin-bottom: 20px;
    border: 1px solid #ccc;
    padding: 6px 5px 6px 10px;
    width: 90%;
    height: 30px;
}

.main-form input[type="text"]:focus,
.main-form input[type="password"]:focus,
.main-form input[type="email"]:focus,
.main-form select:focus,
.main-form textarea:focus {
    box-shadow: 0 0 7px #037cff;
    border: 1px solid #037cff;
}

.grid-col-6 .main-form form .main-form input[type="text"],
.grid-col-6 .main-form form .main-form input[type="password"],
.grid-col-6 .main-form form .main-form input[type="email"],
.grid-col-6 .main-form form .main-form select,
.grid-col-6 .main-form form .main-form textarea {
    width: 100%;
}

.main-form .registration {
    margin-bottom: 10px;
    clear: both;
}

.main-form .registration h3,
h2 {
    color: #037cff;
    padding-bottom: 20px;
    border-bottom: 1px solid #ccc;
    margin-bottom: 10px;
}

.main-form .registration .title-container {
    float: left;
    margin-top: 10px;
    margin-bottom: 15px;
    text-align: left;
    width: 97%;
}

.main-form .registration .title-container h2 {
}

.main-form .registration .label {
    width: 35%;
    float: left;
    padding-top: 6px;
}

.main-form .registration .input {
    float: left;
    width: 65%;
}

.main-form .registration input[type="checkbox"],
.main-form .registration input[type="radio"] {
    -webkit-appearance: checkbox;
    -moz-appearance: checkbox;
    float: left;
}

.radio-group label {
    float: left;
    padding-right: 10px;
}

.grid-col-6 h3 {
    font-weight: normal;
    font-size: 15px;
    margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
    .main-form .registration .label {
        width: 100%;
        float: left;
        padding-top: 10px;
        padding-bottom: 10px;
    }

    .grid-col-6 {
        width: 100%
    }

    .main-form .registration .input {
        float: left;
        width: 100%;
    }

    .main-form form {
        padding-left: 10px;
        padding-right: 10px;
    }

    .main-form input[type="text"],
    .main-form input[type="password"],
    .main-form input[type="email"],
    .main-form select {
        width: 100%;
    }
}

.top-button {
    float: right;
    color: white;
    border: 1px solid white;
    padding: 5px 15px;
    padding-bottom: 3px;
    border-radius: 4px;
    margin-right: 20PX;
}