@font-face {
    font-family: 'Hanken Rg';
    src: url('../fonts/Hanken-Book.eot');
    src: url('../fonts/Hanken-Book.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Hanken-Book.woff2') format('woff2'),
        url('../fonts/Hanken-Book.woff') format('woff'),
        url('../fonts/Hanken-Book.ttf') format('truetype'),
        url('../fonts/Hanken-Book.svg#Hanken-Book') format('svg');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Hanken Lt';
    src: url('../fonts/Hanken-Light.eot');
    src: url('../fonts/Hanken-Light.eot?#iefix') format('embedded-opentype'),
        url('../fonts/Hanken-Light.woff2') format('woff2'),
        url('../fonts/Hanken-Light.woff') format('woff'),
        url('../fonts/Hanken-Light.ttf') format('truetype'),
        url('../fonts/Hanken-Light.svg#Hanken-Light') format('svg');
    font-weight: 300;
    font-style: normal;
}

/******** Global Styles ***********/
*, *:before, *:after {
    margin: 0;
    padding: 0;
    outline: none;
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -mox-font-smoothing: antialiased;
    -ms-font-smoothing: antialiased;
    -o-font-smoothing: antialiased;
    font-smoothing: antialiased;
    -webkit-box-sizing: border-box;
    -moz-border-box: border-box;
    box-sizing: border-box;
    font: normal 100% 'Hanken Lt';
}

html, body {
    height: 100%;
    width: 100%;
    -webkit-overflow-scrolling:touch;
    overflow: hidden;
}

.lightboxOverlay, .lightbox
{
    position: fixed !important;
}

.scroll {
    position: relative;
    overflow: auto
}

.aBox
{
    border-radius: 5px;
    border: 1px solid #000;
    padding: 5px;
}

img {
    user-drag: none;
    -webkit-user-drag: none;
    width: 100%;
    height: auto;
    pointer-events: none
}

a, a:hover, a:visited {
    text-decoration: none;
    color: #fff;
    display: inline-block;
}

a:active {
    color: #303030
}

li {
    list-style: none
}

textarea {
    resize: none
}

input, select, textarea {
    border-radius: 0;
    -webkit-border-radius: 0
}

svg {
    width: 100%;
    height: 100%
}

::-moz-selection {
    background: rgba(255,255,255,.3)
}

::selection {
    background: rgba(255,255,255,.3)
}

::-moz-selection {
    background: rgba(255,255,255,.3)
}

::-webkit-input-placeholder {
    opacity: 1;
    color: #fff;
    font-family: 'Hanken Rg'
}

::-moz-placeholder {
    opacity: 1;
    color: #fff;
    font-family: 'Hanken Rg'
}

:-ms-input-placeholder {
    opacity: 1;
    color: #fff;
    font-family: 'Hanken Rg'
}

:-moz-placeholder {
    opacity: 1;
    color: #fff;
    font-family: 'Hanken Rg'
}

.dark
{
    color: #303030 !important;
}

.width15
{
    width: 15%;
}

.cardsText
{
    margin: 0 auto;
    width: 80% !important;
}

.marginBottom20
{
    margin-bottom: 20px;
}

#productSlider img
{
    height: 400px;
}

#productSlider
{
    width: 1170px;
    margin: 0 auto;
}

input:-webkit-autofill, input:-webkit-autofill:hover,  input:-webkit-autofill:focus
input:-webkit-autofill,  textarea:-webkit-autofill, textarea:-webkit-autofill:hover
textarea:-webkit-autofill:focus, select:-webkit-autofill, select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
    -webkit-text-fill-color: rgba(255,255,255, 1);
    -webkit-box-shadow: 0 0 0px 100px rgba(0,0,0,0.01) inset !important;
    -webkit-transition: background-color 5000s ease-in-out 0s;
    transition: background-color 5000s ease-in-out 0s;
    background-color: transparent !important;
    background-clip: content-box;
}

.input-hidden {
    border:0 !important;
    clip:rect(0 0 0 0) !important;
    height:1px !important;
    margin:-1px !important;
    overflow:hidden !important;
    padding:0 !important;
    position:absolute !important;
    width:1px !important
}

.clearfix:after {
    visibility: hidden;
    display: block;
    font-size: 0;
    content: " ";
    clear: both;
    height: 0;
}

.clearfix { 
    display: inline-block; 
}

/* start commented backslash hack \*/
* html .clearfix { 
    height: 1%; 
}

.clearfix { 
    display: block; 
}
/* close commented backslash hack */

/******** Home Animation *********/
#wrap {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    overflow: hidden;
    z-index: 100;
}

#shatter {
    overflow: hidden;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0%; 
    left: 0%;
    -webkit-perspective: 1200px;
    -webkit-perspective-origin: 50% 50px;
    perspective: 1200px;
    perspective-origin: 50% 50px;
}

#shatter .logo {
    position: absolute;
    text-align: center;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
}

.piece {
    background: rgba(48,48,48,1);
    float: left;
    width: 10vw;
    height: 10vh
}

.container-bottom {
    position: absolute;
    width: 100%;
    left: 0;
    font-size: 18px;
    color: #fff;
    text-align: center;
    bottom: 0;
    height: auto;
    display: inline-block;
}

.container-bottom .slogan {
    font-size: 26px
}

.container-bottom .hint {
    margin-top: 2%;
}

.container-bottom .arrow-down {
    width: 40px;
    height: 40px;
    margin: 35px auto 0;
}
/******** Home ********/
.bg {
    background: #303030;
}

.bgImage
{
    background: url(../media/images/background.jpg) no-repeat top center fixed !important;
    background-size: contain !important;
    -webkit-background-size: contain !important;
}

/*.bg {
    background: url(../media/images/background.jpg) no-repeat center center fixed;
    background-size: cover;
    -webkit-background-size: cover;
}*/

.customPadding
{
    padding: 50px 10% !important;
}

.customTitle
{
    font-size: 27px;
    font-weight: bold;
}

.customList
{
    text-align: left !important;
}

.customList ul
{
    margin-bottom: 50px;
}

.customList li
{
    list-style-type: circle !important;
    line-height: 30px;
}

.leftAlign
{
    text-align: left !important;
    margin-bottom: 10px;
}

.container {
    min-height: 100%;
    position: relative;
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    overflow: hidden;
}

.container.static {
    overflow-y: auto;
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    width: auto;
    margin: 0 auto;
}

.container.visible {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
}

.main-container {
    position: relative;
    width: 100%;
    height: auto;
    padding-bottom: 370px;
    background: #fff;
}

.body-wrapper.odd {
    background-color: #303030;
}

.header {
    padding-top: 25%;
    width: 100%;
    position: relative;
}

.body-wrapper {
    width: 100%;
    position: relative;
    left: 0;
    top: 100%;
    height: auto;
    z-index: 0;
}

.menu, .social-media {
    width: 320px;
    height: 320px;
    position: absolute;
    left: 50%;
    margin-left: -160px;
    top: -230px;
    -webkit-transform-origin: 50%;
    transform-origin: 50%;
    -webkit-transition: all .2s;
    transition: all .2s;
    z-index: 1001;
    padding: 10px;
}

.social-media {
    border-radius: 100%
}

.social-media.ontop {
    -webkit-transform: rotate(200deg);
    transform: rotate(200deg);
}

.social-media.fixed {
    position: fixed !important;
    z-index: 10001;
}

.social-media.fixed:hover {
    top: -120px
}

.social-media .logo {
    position: absolute;
    width: 220px;
    height: 220px;
    left: 50%;
    top: 50%;
    margin-top: -110px;
    margin-left: -110px;
    -webkit-transition: all .2s;
    transition: all .2s;
}

.social-media.ontop .logo {
    -webkit-transform: rotate(200deg);
    transform: rotate(-200deg);
}

.social-media .buttons.social a {
    width: 40px;
    height: 40px;
    background: #303030;
    border-radius: 100%;
    padding: 11px;
    position: absolute;
    top: 50%;
    left: 50%;
    margin-top: -15px;
    margin-left: -15px;
    -webkit-transition: all .2s;
    transition: all .2s;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}
.social-media .buttons.social a:first-child {
    -webkit-transform: rotate(0deg) translate(-130px, -85px) rotate(0deg) scale(0.2);
    transform: rotate(0deg) translate(-130px, -85px) rotate(0deg) scale(0.2);
}

.social-media .buttons.social a:nth-child(2) {
    -webkit-transform: rotate(36deg) translate(-130px, -85px) rotate(-36deg) scale(0.2);
    transform: rotate(36deg) translate(-130px, -85px) rotate(-36deg) scale(0.2)
}

.social-media .buttons.social a:nth-child(3) {
    -webkit-transform: rotate(72deg) translate(-130px, -85px) rotate(-72deg) scale(0.2);
    transform: rotate(72deg) translate(-130px, -85px) rotate(-72deg) scale(0.2)
}

.social-media .buttons.social a:nth-child(4) {
    -webkit-transform: rotate(108deg) translate(-130px, -85px) rotate(-108deg) scale(0.2);
    transform: rotate(108deg) translate(-130px, -85px) rotate(-108deg) scale(0.2)
}
.social-media:hover .buttons.social a:first-child {
    -webkit-transform: rotate(0deg) translate(-130px, -85px) rotate(0deg) scale(1);
    transform: rotate(0deg) translate(-130px, -85px) rotate(0deg) scale(1);
}

.social-media:hover .buttons.social a:nth-child(2) {
    -webkit-transform: rotate(36deg) translate(-130px, -85px) rotate(-36deg) scale(1);
    transform: rotate(36deg) translate(-130px, -85px) rotate(-36deg) scale(1);
}

.social-media:hover .buttons.social a:nth-child(3) {
    -webkit-transform: rotate(72deg) translate(-130px, -85px) rotate(-72deg) scale(1);
    transform: rotate(72deg) translate(-130px, -85px) rotate(-72deg) scale(1);
}

.social-media:hover .buttons.social a:nth-child(4) {
    -webkit-transform: rotate(108deg) translate(-130px, -85px) rotate(-108deg) scale(1);
    transform: rotate(108deg) translate(-130px, -85px) rotate(-108deg) scale(1);
}

.social-media.ontop .buttons.social a:first-child {
    -webkit-transform: rotate(0deg) translate(-130px, -85px) rotate(-200deg) scale(0.2);
    transform: rotate(0deg) translate(-130px, -85px) rotate(-200deg) scale(0.2)
}

.social-media.ontop .buttons.social a:nth-child(2) {
    -webkit-transform: rotate(36deg) translate(-130px, -85px) rotate(-236deg) scale(0.2);
    transform: rotate(36deg) translate(-130px, -85px) rotate(-236deg) scale(0.2)
}

.social-media.ontop .buttons.social a:nth-child(3) {
    -webkit-transform: rotate(72deg) translate(-130px, -85px) rotate(-272deg) scale(0.2);
    transform: rotate(72deg) translate(-130px, -85px) rotate(-272deg) scale(0.2)
}

.social-media.ontop .buttons.social a:nth-child(4) {
    -webkit-transform: rotate(108deg) translate(-130px, -85px) rotate(-308deg) scale(0.2);
    transform: rotate(108deg) translate(-130px, -85px) rotate(-308deg) scale(0.2)
}
.social-media.ontop:hover .buttons.social a:first-child {
    -webkit-transform: rotate(0deg) translate(-130px, -85px) rotate(-200deg) scale(1);
    transform: rotate(0deg) translate(-130px, -85px) rotate(-200deg) scale(1)
}

.social-media.ontop:hover .buttons.social a:nth-child(2) {
    -webkit-transform: rotate(36deg) translate(-130px, -85px) rotate(-236deg) scale(1);
    transform: rotate(36deg) translate(-130px, -85px) rotate(-236deg) scale(1)
}

.social-media.ontop:hover .buttons.social a:nth-child(3) {
    -webkit-transform: rotate(72deg) translate(-130px, -85px) rotate(-272deg) scale(1);
    transform: rotate(72deg) translate(-130px, -85px) rotate(-272deg) scale(1)
}

.social-media.ontop:hover .buttons.social a:nth-child(4) {
    -webkit-transform: rotate(108deg) translate(-130px, -85px) rotate(-308deg) scale(1);
    transform: rotate(108deg) translate(-130px, -85px) rotate(-308deg) scale(1)
}

.content {
    width: 80%;
    position: relative;
    margin: 0 auto;
    padding-top: 90px;
    z-index: 1000;
}

/***** Main Menu ******/
.main-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 0;
    position: relative;
    width: 100vw;
    left: -10vw;
    padding: 30px;
}

.main-menu > li {
    float: left;
    width: auto;
    margin-right: 80px;
}

.main-menu > li > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 80px;
    margin: 0 auto;
}

.main-menu > li > a svg {
    width: 50px;
    height: 50px;
}

.main-menu > li > a svg * {
    fill: #303030
}

.body-wrapper.odd .main-menu > li > a svg * {
    fill: #ffffff
}

.main-menu > li > a h2 {
    color: #303030;
    font-size: 18px;
    font-weight: normal;
    width: 100%;
    text-align: center;
    margin-top: 10px;
    display: block;
}

.body-wrapper.odd .main-menu > li > a h2 {
    color: #ffffff;
}

.main-menu > li:last-child {
    margin-right: 0 !important;
}

/******** Smart Cards ********/
.smart-header {
    position: relative;
    text-align: center;
    width: 100vw;
    left: -10vw;
    padding: 10px 0;
    height: 200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    background: #fff;
}

.smart-header.mini {
    height: auto;
    padding: 0;
}

.smart-header.child {
    left: 0;
}

.smart-header.has-many {
    padding: 50px 0;
}

.smart-header.even {    
    background: rgba(48,48,48,1);
}

.smart-header.odd {
    background: rgba(48,48,48,.1);
}

.smart-header.odd .smart-title {
    color: #303030;
}

.smart-header.even .smart-title {
    color: #ffffff
}

.smart-cards ul {
    width: 80%;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
}

.smart-cards li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 100%;
    position: relative;
    margin: 0 15px;
}

.smart-cards li img {
    height: 100%;
    width: auto;
}

.smart-cards .smart-navigation {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.smart-cards .prev-arrow, .smart-cards .next-arrow {
    width: 30px;
    height: 30px;
}

.smart-cards .smart-navigation h2 {
    margin: 0 15px;
    font-size: 28px;
    display: flex;
    text-align: center;
}

.smart-cards .read-more {
    width: 50px;
    height: 50px;
    position: absolute;
    left: 50%;
    margin-left: -25px;
    bottom: -25px;
    background: #ffffff;
    box-shadow: 0 1px 1px #303030;
    text-transform: uppercase;
    color: #303030;
    padding: 5px;
    border-radius: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    font-size: 12px;
}

.smart-header > .smart-title {
    font-size: 30px;
    width: 100%;
    margin-top: 5px;
}

.smart-cards-details {
    position: relative;
    margin-top: 10px;
    padding: 40px 10px;
    width: 100vw;
    left: -10vw;
}

.smart-cards-details p {
    width: 50%;
    line-height: 30px;
    font-size: 15px;
    color: #303030;
    margin: 0 auto;
    text-align: center;
}

.smart-cards-details p a[href^=tel] {
    text-decoration: inherit;
    color: #303030 !important
}

.smart-cards-details.odd {
    background: rgba(48,48,48,.1);
}

/****** Ticker ********/
#ticker {
    position: relative;
    padding: 100px 0;
    margin-top: 20px;
}

#ticker li {
    float: left;
    margin: 0 50px
}

/********* Offers Section Home ***********/
.smart-offers {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.smart-offers img {
    width: 75%;
    height: auto
}

/******* Main Menu ********/
.static-section {
    position: fixed;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,0.9);
    top: -100%;
    left: 0;
    z-index: 1500;
    -webkit-transition: all .3s;
    transition: all .3s;
    overflow: auto;
}

.static-section.visible {
    top: 0
}

.static-section .menu-close {
    width: 40px;
    height: 40px;
    position: absolute;
    bottom: 30px;
    left: 50%;
    margin-left: -20px;
}

.static-container {
    padding-bottom: 40px;
}

.menu-logo-wrapper {
    width: 40%;
    height: 75px;
    border-top: 1px solid #fff;
    border-bottom: 1px solid #fff;
    margin: 50px auto;
    position: relative;
    padding: 10px 0;
    text-align: center;
}

.menu-logo-wrapper svg {
    height: 100%;
    width: auto;
}

.menu-wrapper {
    position: relative;
    text-align: center;
    width: 100%;
    margin-top: 40px;
}

.menu-list {
    position: relative;
    width: auto;
    display: inline-block;
}

.menu-list > li {
    margin: 15px 0;
    text-align: left;
    width: auto;
    position: relative;
}

.menu-list > li > a {
    display: inline-block
}

.menu-list > li > a:hover {
    font-family: 'Hanken Rg';
}

.menu-list > li > a:after {
    display:block;
    content:attr(title);
    font-weight:bold;
    height:1px;
    color:transparent;
    overflow:hidden;
    visibility:hidden;
}

.menu-list .submenu {
    position: absolute;
    left: 0;
    top: 0;
    width: auto;
    white-space: nowrap;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    max-width: 0;
    backface-visibility: hidden;
    -webkit-backface-visibility: hidden;
    overflow: hidden;
    -webkit-transition: all .3s;
    transition: all .3s
}

.menu-list .submenu > li {
    margin-right: 60px;
    position: relative;
}

.menu-list .submenu > li:after {
    content: '';
    width: 40px;
    height: 2px;
    position: absolute;
    background: white;
    top: 50%;
    margin-top: -1px;
    right: -50px;
}

.menu-list .submenu > li > a {
    position: relative;
    float: right
}

.menu-list .submenu > li > a:before, .menu-list .submenu > li > a:after {
    content: '';
    width: 4px;
    height: 4px;
    background: #fff;
    position: absolute;
    border-radius: 100%;
    top: 50%;
    margin-top: -2px
}

.menu-list .submenu > li > a:before {
    right: -12px
}

.menu-list .submenu > li > a:after {
    right: -52px
}

.menu-list > li:hover > a + .submenu {
    max-width: 700px;
}

/*********** Smart Form ************/
.smart-form {
    width: 40%;
    margin: 0 auto 0;
    position: relative;
    text-align: center;
}

.smart-form.in-page {
    width: 60%
}

.smart-form .input-row {
    position: relative;
    padding-bottom: 25px;
}

.smart-form .input-field {
    background: transparent;
    border: none;
    padding: 7px;
    position: relative;
    color: #fff;
    width: 100%;
    text-align: center;
}

.smart-form .input-row.inline {
    width: calc(95% - 80px);
    /* padding: 0; */
}

.smart-form .inline {
    display: inline-block;
    vertical-align: middle
}

.smart-form .inline.right {
}

.smart-form .dots {
    width: 100%;
    position: relative;
    height: 2px;
    left: 0;
    bottom: -1px;
    border: none;
    background: #fff;
}

.smart-form .dots:before, .smart-form .dots:after {
    content: '';
    width: 4px;
    height: 4px;
    background: #fff;
    position: absolute;
    top: 50%;
    margin-top: -2px;
    border-radius: 100%;
}

.smart-form .dots:before {
    left: 0
}

.smart-form .dots:after {
    right: 0
}

.smart-form .btn.check {
    background: transparent;
    border: none;
    position: absolute;
    right: 0;
    cursor: pointer;
    bottom: 15px;
    width: 40px;
    height: 40px;
}

.smart-form .btn > svg {
    width: 100%;
    height: 100%
}

.smart-form .btn.loading {
    pointer-events: none
}

.smart-form-container {
    border: 2px solid #fff;
    padding: 15px 30px 30px;
    width: 45%;
    margin: 50px auto;
}

.smart-form-container h1 {
    width: 100%;
    text-align: center;
    color: #fff;
    margin-bottom: 20px;
    font-size: 20px
}

.smart-form-container .smart-form {
    width: 100%;
    float: left;
    margin: 0;
    text-align: left;
}

.smart-form-container .input-row {
    width: 50%
}

.smart-form.left .input-field {
    text-align: left
}

.smart-form .input-title {
    display: inline-block;
    clear: both;
    color: #fff;
    padding: 7px;
    font-family: 'Hanken Rg';
}

.smart-form textarea.input-field {
    border: 2px solid #fff;
    min-height: 75px;
    vertical-align: top;
}

/******** Search Form *********/
.btn.search, .btn.subscribe {
    background: transparent;
    border: none;
    position: relative;
    cursor: pointer;
    width: 40px;
    height: 40px;
    display: block;
    margin: 0 auto
}

/*********** Error Handling ***********/
.smart-form h6.smart-error {
    position: absolute;
    color: #fff;
    font-size: 13px;
    bottom: 5px;
    text-align: center;
    width: 100%;
}

/****** Footer ********/
.footer {
    width: 100%;
    height: 170px;
    background: #303030;
    position: absolute;
    bottom: 0;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.footer .signature {
    position: absolute;
    bottom: 10px;
    left: 0;
    width: 100%;
    text-align: center;
    font-size: 12px;
    z-index: 101;
}

.footer .footer-content-wrapper {
    width: 100%;
}

.footer .address, .footer .terms {
    position: relative;
    width: 38%;
    float: left;
    height: 95%;
}

.footer .address {
    float: left;
}

.footer .terms {
    float: right
}

.footer .address > address {
    float: right;
    text-align: left;
    width: auto;
}

.footer .address > address *, .footer .terms > nav * {
    font-size: 14px;
    line-height: 20px;
}

.footer .terms > nav > .send-a-cv {
    margin-top: 15px
}

.footer-menu.main-menu {
    position: absolute;
    top: -15px;
    z-index: 0;
    -webkit-transition: all .3s;
    transition: all .3s;
    width: auto;
    padding: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    max-width: 80%;
}

.footer:hover .footer-menu {
    top: -130px;
    z-index: 0
}

.footer .footer-menu.main-menu > li {
    margin-right: 30px;
    background: #303030;
    border-radius: 20px 20px 0 0;
    height: 130px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 0 30px 0 0;
    padding: 10px;
    width: 90px;
}

.footer .footer-menu.main-menu > li > a svg * {
    fill: #303030;
    -webkit-transition: fill .1s;
    transition: fill .1s
}

.footer .footer-menu.main-menu > li > a svg {
    width: 30px;
    height: 30px;
}

.footer .footer-menu.main-menu > li > a {
    width: auto;
}

.footer .footer-menu.main-menu > li > a h2 {
    color: #303030;
    font-size: 14px;
    -webkit-transition: color .3s;
    transition: color .3s
}

.footer:hover .footer-menu.main-menu > li > a svg * {
    fill: #ffffff;
}

.footer:hover .footer-menu.main-menu > li > a h2 {
    color: #fff;    
}

/******** About Us Page ********/
.about-us {
    width: 60%;
    margin: 40px auto 120px;
}

.about-us > p {
    text-align: left;
    line-height: 23px;
    font-size: 15px;
    color: #303030;
    margin-top: 15px
}

/*********** Services **********/
.services {
    position: relative;
    padding: 50px 0;
    text-align: center;
}

.services.even {
    background: #fff;
    width: 100vw;
    left: -10vw
}

.services .service-title {
    color: #fff;
    text-align: center;
    font-size: 25px;
    position: relative;
}

.services.even .service-title {
    color: #303030
}

.services .service-subtitle, .smart-header .smart-subtitle {
    color: #303030;
    font-size: 14px;
    text-align: center;
    margin-top: 5px;
    width: 100%;
}

.services .service-title.even, .services .service-details.even {
    width: 65%;
    text-align: left;
    margin: 20px 0 0 auto;
}

.services .service-details.odd.right {
    width: 64%;
    float: right;
    margin-top: 20px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.services .service-details p {
    text-align: left;
    line-height: 27px;
    color: #fff;
    position: relative;
    width: auto;
    float: left;
    clear: both;
}

.grey
{
    color: #303030 !important;
} 

.greybg:before, .greybg:after
{
    background: #303030 !important; 
}

.width50
{
    width: 50% !important;
}

.grey p
{
    color: #303030 !important;
}

.services .service-details-white p {
    text-align: left;
    line-height: 27px;
    color: #303030;
    position: relative;
    width: auto;
    float: left;
    clear: both;
}

.services .service-details.vertical p {
    color: #303030;
    width: 60%;
}

.services .service-details.odd.right p:last-child {
    width: auto;
    display: inline-block
}

.services .service-details.odd.right p:last-child:after, .services .service-title.has-tail.has-tail:after {
    content: '';
    position: absolute;
    width: 100vw;
    height: 2px;
    background: #fff;
    display: block;
    right: calc(-100vw - 10px);
    z-index: 100;
    bottom: 11.5px;
}

.services .service-title.has-tail.has-tail:after {
    left: calc(-100vw - 10px);
    bottom: 14px;
}

.services .service-details.odd.right p:last-child:before, .services .service-title.has-tail:before {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    background: #fff;
    display: block;
    z-index: 100;
    bottom: 10.5px;
    right: -10.5px;
    border-radius: 100%;
}

.services .service-title.has-tail:before {
    right: 0;
    left: -10.5px;
    bottom: 13px;
}



.services .service-subtitle + .separator, .smart-header .smart-subtitle + .separator {
    width: 100px;
    margin: 20px auto 0;
    position: relative;
    background: #303030;
    color: #303030;
    height: 2px;
    border: none;
    display: inline-block;
}

.services .separator.vertical {
    width: 2px;
    margin: 20px auto 0;
    position: relative;
    background: #303030;
    color: #303030;
    height: 100px;
    border: none;
    display: block;
    float: left;
    clear: both;
}

.services .separator:before, .services .separator:after, .smart-header .separator:before, .smart-header .separator:after {
    content: '';
    position: absolute;
    width: 4px;
    height: 4px;
    top: 50%;
    margin-top: -2px;
    background: #303030;
    border-radius: 100%;
}

.services .separator.vertical:before, .services .separator.vertical:after, .smart-header .separator.vertical:before, .smart-header .separator.vertical:after {
    left: 50%;
    margin-left: -2px;
    top: inherit;
}

.services .separator:before {
    left: 0;
}

.services .separator:after {
    right: 0;
}

.smart-header .separator:before {
    left: 0;
}

.smart-header .separator:after {
    right: 0;
}

.services .separator.vertical:before {
    top: 0;
}

.services .separator.vertical:after {
    bottom: 0;
}

.services .service-section {
    position: relative;
    float: left;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.services .service-section.half-width {
    width: 50%;
}

/********** Miscellaneous ************/
.info-message {
    position: fixed;
    width: auto;
    height: auto;
    left: 50%;
    top: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    background: rgba(255,255,255,1);
    padding: 15px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 1000000;
    border-radius: 10px;
    display: none;
}

.info-message > h5 {
    color: #303030;
    font-size: 18px;
}

/*********** Contact Us *************/
.contact {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.contact.even {
    background: #fff;
    width: 100vw;
    left: -10vw
}

.contact .smart-form-container {
    float: left;
    margin: 50px auto 50px 0;
}

.contact .address {
    float: right;
    color: #fff;
    font-size: 14px;
    line-height: 20px;
}

.contact .address > address * {
    font-size: 18px;
    line-height: 25px;
}

.contact.map-container {
    padding: 50px 0;

}

.contact  #map {
    height: 500px;
    width: 80%;
    margin: 0 auto
}

/********* Customer Service **********/
.comments {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.comments .type-selection {
    display: inline-block;
    margin-left: 12px;
}

.comments .type-selection:first-child {
    margin: 0
}

.customLeftArrow, .customLeftArrow img, .customRightArrow, .customRightArrow img
{
    width: 30px !important;
    height: 30px !important;
    border: none;
    background: none;

}

.customLeftArrow
{
    position: relative;
    top: 220px;
    left: -40px;
    z-index: 99;
}

.customRightArrow
{
    float: right;
    position: relative;
    top: -220px;
    right: -40px;
    z-index: 99;
}

.brands
{
    background: #fff;
    width: 100%;
    margin: 0 auto;
}

.brandWrapper
{
    width: 32.9%;
    display: inline-block;
    text-align: center;
    margin-bottom: 25px;
}

.brandWrapper img
{
    height: 55px;
    width: auto;
}

.collectionsWrapper
{
    width: 45%;
    display: inline-block;
    text-align: center;
    margin-bottom: 25px;
}

.collectionsWrapper img
{
    height: auto;
    width: 100%;
    padding: 0 10px;
}

/*.brands td
{
    width: 14.2%;
    padding: 10px 20px;
}

.brands img
{
    max-height: 55px;
    width: auto;
}*/

@media only screen and (min-width : 320px) and (max-width : 767px)
{

}

/* Smartphones (landscape) ----------- */
@media only screen and (min-width : 320px) and (max-width : 767px) and (orientation : landscape)
{
    #productSlider img
    {
        width: 320px;
        height: auto;
        /*height: 200px;*/
    }

    #productSlider
    {
        width: 320px;
        margin: 0 auto;
    }

    .customLeftArrow
    {
        position: relative;
        top: 75px;
        left: -40px;
        z-index: 99;
    }

    .customRightArrow
    {
        float: right;
        position: relative;
        top: -75px;
        right: -40px;
        z-index: 99;
    }
}

/* Smartphones (portrait) ----------- */
@media only screen and (min-width : 320px) and (max-width : 767px) and (orientation : portrait)
{
    #productSlider img
    {
        width: 320px;
        height: auto;
        /*height: 200px;*/
    }

    #productSlider
    {
        width: 320px;
        margin: 0 auto;
    }

    .customLeftArrow
    {
        position: relative;
        top: 75px;
        left: -40px;
        z-index: 99;
    }

    .customRightArrow
    {
        float: right;
        position: relative;
        top: -75px;
        right: -40px;
        z-index: 99;
    }
}

/* iPads (portrait and landscape) ----------- */
@media only screen and (min-width : 768px) and (max-width : 1199px)
{

}

/* iPads (landscape) ----------- */
@media only screen and (min-width : 768px) and (max-width : 1199px) and (orientation : landscape)
{
    #productSlider img
    {
        width: 820px;
        height: auto;
    }

    #productSlider
    {
        width: 100%;
        margin: 0 auto;
    }

    .customLeftArrow
    {
        position: relative;
        top: 130px;
        left: -40px;
        z-index: 99;
    }

    .customRightArrow
    {
        float: right;
        position: relative;
        top: -130px;
        right: -40px;
        z-index: 99;
    }
}

/* iPads (portrait) ----------- */
@media only screen and (min-width : 768px) and (max-width : 1199px) and (orientation : portrait)
{
    #productSlider img
    {
        width: 620px;
        height: auto;
    }

    #productSlider
    {
        width: 100%;
        margin: 0 auto;
    }

    .customLeftArrow
    {
        position: relative;
        top: 130px;
        left: -40px;
        z-index: 99;
    }

    .customRightArrow
    {
        float: right;
        position: relative;
        top: -130px;
        right: -40px;
        z-index: 99;
    }
}

/* Desktops and laptops ----------- */
@media only screen and (min-width: 1200px) and (max-width: 1600px)
{

}

/* Large screens ----------- */
@media only screen and (min-width : 1824px)
{

}