/* -- Primary style ---- */
*, *::after, *::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; outline: none; }
html * { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
body { color: #243040; background-color: #ffffff; font-family: 'Roboto', sans-serif; font-weight: 400; }
html.mobileMenu {overflow-y: hidden}
body, html { overflow-x: hidden; }
section { float: left; width: 100%; }
footer { width: 100%; float: left }
header{position: relative;}
a { color: #2f272a; text-decoration: none; transition: color .2s ease-out; cursor: pointer;}
a:hover { text-decoration: none; }
p { line-height: 1.5; font-size: 16px; color: #888888; }
strong { color: #21252b;font-weight: 500;}
hr{border-top: 1px solid #ededed;margin:100px 0px;}
label {
    display: inline-block;
    margin-bottom: .5rem;
    color: #888;
    font-size: 16px;
}
.form-control {
    display: block;
    width: 100%;
    padding: 20px 20px;
    font-size: 1rem;
    line-height: 1.5;
    color: #21252b;
    background-color: #f7f7f7;
    background-image: none;
    background-clip: padding-box;
    border: 1px solid #ccc;
    border-radius: 0;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-group {
margin-bottom: 46px;

}
.alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: transparent;
}
.alert {
    position: relative;
    padding: 25px 0px;
    margin-bottom: 0;
    border: none;
    border-radius: 0px;
}
h1, h2, h3 { font-family: 'PT Serif', serif; letter-spacing: -.04em; color: #21252b; }
h1 { font-size: 50px; }
h3 { font-size: 30px; margin-bottom: 55px }
.content ul, #service ul { list-style: none; }
.content ul li::before, #service li:before { content: "•"; color: #edcd1f; display: inline-block; width: 1em; margin-left: -1em }
a.blueLink { display: inline-block; position: relative; padding-bottom: 6px; font-family: 'PT Serif', serif; text-decoration: none; -webkit-transition: all .24s ease; -moz-transition: all .24s ease; -o-transition: all .24s ease; -ms-transition: all .24s ease; transition: all .24s ease; }
a.blueLink:hover { color: #27225b; }
a.blueLink:before { width: 100%; height: 1px; content: ""; position: absolute; bottom: 0; left: 0; background: #27225b; -webkit-transition: all .24s ease; -moz-transition: all .24s ease; -o-transition: all .24s ease; -ms-transition: all .24s ease; transition: all .24s ease; }
a.blueLink:hover:before { bottom: 3px; }
.slick-slide img { margin: 0 auto; }
.gradientBlock { background: linear-gradient(135deg, #27225b, #05003d); z-index: 2 }
.square { width: 100%; padding-top: 100%; /* 1:1 Aspect Ratio */ position: relative; }
.square .inner { position: absolute; top: 0; left: 0; bottom: 0; right: 0; }
.square .inner.text { position: absolute; top: 80px; left: 70px; right: 70px; bottom: 80px; }
.box { padding: 0; }
.box:hover.gradientBlock { background: #27225b; }
.box .photo.services { background-image: url('../img/photo-services.png'); }
.box .photo.sectors { background-image: url('../img/photo-sectors.png'); }
.box:hover span.long-arrow { width: 70px; }
.box:hover.gradientBlock { -webkit-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); -moz-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); }
.gradientBlock p { position: absolute; bottom: 45px; left: 0; color: #b7b5ce; font-size: 14px; line-height: 24px;margin-bottom: 0; }
.gradientBlock h3 { font-family: "PT Serif"; font-size: 45px; font-weight: 400; line-height: 50px; letter-spacing: -.03em; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-height: 100px; text-overflow: ellipsis; color: #fff; -ms-transition: color .24s ease; -moz-transition: color .24s ease; -webkit-transition: color .24s ease; transition: color .24s ease; }
.box .photo { background-repeat: no-repeat; background-size: cover; background-position: center; -webkit-transition: all .24s ease; -moz-transition: all .24s ease; -o-transition: all .24s ease; -ms-transition: all .24s ease; transition: all .24s ease; }
span.long-arrow { width: 55px; height: 8px; position: absolute; left: 0; bottom: 0; display: block; overflow: hidden; background-position: right center; background-repeat: no-repeat; background-image: url(../img/arr1.svg); -webkit-transition: width .29s ease; transition: width .29s ease; }
span.long-arrow:before { height: 2px; content: ""; position: absolute; overflow: hidden; top: 50%; left: 0; right: 3px; margin-top: -1px; background-color: #edcd1f; }
.gradient{background: linear-gradient(180deg, rgb(39, 34, 91), rgba(39, 34, 91, 0.9), rgba(39, 34, 91, 0.7), rgba(39, 34, 91, 0.4), rgba(39, 34, 91, 0));}
/* -- Main Navigation ---- */
.navbar{z-index: 100;}
nav .navbar-nav li:before { display: none; }
.navbar-light .navbar-nav .nav-link { color: #fff; font-weight: 400; text-transform: uppercase; font-size: 13px; }
.navbar-light .navbar-nav .active>.nav-link, .navbar-light .navbar-nav .nav-link.active, .navbar-light .navbar-nav .nav-link.show, .navbar-light .navbar-nav .show>.nav-link { color: #fff; font-weight: 500; }
.dropdown::after { display: inline-block; width: 0; height: 0; margin-left: -9px; vertical-align: .255em; content: ""; border-top: .3em solid; border-right: .3em solid transparent; border-bottom: 0; border-left: .3em solid transparent; margin-right: 10px; color: #edcd1f; }
.nav-link { display: inline-block; text-decoration: none; }
.active { font-weight: 500; }
.nav-link::after { content: ''; display: block; width: 0; height: 2px; background: #edcd1f; transition: width .3s; }
.nav-link:hover::after, .nav-link.active::after { width: 100%; transition: width .3s; }
.navbar-light .navbar-nav .nav-link:focus, .navbar-light .navbar-nav .nav-link:hover { color: #fff; font-weight: 400; }
.dropdown-item {color: #21252b;font-size: 14px;-webkit-transition: all .24s ease; -moz-transition: all .24s ease; -o-transition: all .24s ease; -ms-transition: all .24s ease; transition: all .24s ease;}
.dropdown-item:focus, .dropdown-item:hover {color: #27225b;text-decoration: none;background-color: #f8f9fa;border-left: solid 3px #edcd1f;padding-left: 30px;font-weight: 500;}
.dropdown-menu {border-radius: 0;}
.blockMenu{position: absolute;width: 100%;top: 0;left: 0;right: 0;}
/* -- Header slider ---- */
#slider, div.mesh-animation { position: relative; }
#slider:before, .loader:after, div.mesh-animation:before, ul#project-list:before { content: ""; }
div.mesh-animation { width: 100%; min-height: 420px; display: table !important; float: left; background-repeat: no-repeat; background-position: 50% 0; -webkit-background-size: cover; -moz-background-size: cover; -ms-background-size: cover; -o-background-size: cover; background-size: cover; }
div.mesh-animation:before { width: 100%; height: 100%; position: absolute; top:0; left:0; z-index: 1; background: rgba(0, 0, 0, .1); }
.mask { width: 100%; float: left; position: relative; }
div.mesh-animation .container-fluid .mask { max-width: 100%; display: block; float: none; margin: 0 auto; }
div.mesh-animation .container-fluid { display: table-cell; vertical-align: middle; position: relative; }
#slider { width: 100%; display: table; }
#slider:before { width: 100%; height: 590px; position: absolute; top: 50%; left: 0; z-index: -1; transform: translate(0, -50%); background: url(../img/title.png) 50% no-repeat; }
#slider .magic-title { display: table-cell; vertical-align: middle; position: relative; z-index: 5; text-align: center; }
#slider .magic-title h1 { max-width: 870px;
    margin: 0 auto;
    color: #FFF;
    font-size: 70px;
    text-shadow: 0 20px 40px rgba(0, 0, 0, .2);
    line-height: 70px;}
#slider .magic-title h1:after { display: inline; content: "."; color: #edcd1f; }

/* -- Sections ---- */
section#boxes { width: 100%; z-index: 3; float: left; position: relative; }
section#about, section#service { padding: 90px 0px; }
section#about h1:after { content: "."; position: absolute; color: #edcd1f; }
section#about .aboutContent { padding: 0px 80px; }
section#about p { line-height: 30px; font-size: 16px; padding-bottom: 10px; }
section#about img { margin-top: 90px; }
section#whyUs { background: #27225b; padding: 50px 0px; color: #fff !important; text-align: center; }
section#whyUs h2 { color: #fff; text-align: center; font-size: 43px; padding-bottom: 100px; }
section#whyUs h3 { color: #fff; text-align: center; font-size: 16px; min-height: 40px;}
section#whyUs img { margin-bottom: 30px;max-width: 50px;height: 50px;}
#service .nav-link::after { display: none; }
#service .nav-pills .nav-link.active, .nav-pills .show>.nav-link { color: #fff; background-color: #edcd1f; }
#service ul { padding: 0; margin: 0; }
#service ul li { padding: 0px 0px 20px 20px; break-inside: avoid-column;-webkit-column-break-inside: avoid; }
#service ul li a { color: #888; font-size: 16px; font-family: 'PT Serif', serif; letter-spacing: -.04em; text-decoration: underline; }
#service ul li a:hover { color: #27225b; text-decoration: none; }
#service .nav-pills .nav-link { border-radius: 50%; width: 37px; height: 37px; }
#service .nav-link { display: block; line-height: 37px; text-align: center; padding: 0; }
#service .serviceCta { margin-top: 40px; position: relative; display: block; float: left; width: 100%; }
.twoCol { -webkit-column-count: 2; -moz-column-count: 2; column-count: 2; }
span.count { width: 70px; height: 70px; color: #fff; background-color: #27225b; display: inline-block; text-align: center; line-height: 70px; border-radius: 50%; font-family: 'PT Serif', serif; letter-spacing: -.04em; font-size: 22px; float: left; }
#service .tab-content h4 { float: left; line-height: 70px; margin-left: 50px; font-family: 'PT Serif', serif; letter-spacing: -.04em; font-size: 22px; }
.serviceHeading, .serviceContent { float: left; width: 100%; }
.serviceContent { margin-top: 30px; margin-bottom: 30px; }
.serviceContent p { font-size: 14px;font-weight: 400; }
.nav-pills { width: 100%; float: left; }
ul#pills-tab li { padding: 0; margin: 0; }
ul#pills-tab li:before { display: none; }
#pills-tab .nav-item a { color: #27225b; text-decoration: none; font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 14px }

#hpForm h3{
    margin-top: 55px;
}
#hpForm #contactForm{
    padding: 0;
}
section#service { padding-bottom: 0px; }
#homepage footer {
    padding: 0px 0px 55px 0px;
}
#homepage .clientLogos{
margin: 60px 0px 0px 0px;
}
/* ----  Projects ----*/
#recentProjects .recentProjectImg.project1 { background-image: url('../img/photo-services.png'); }
#recentProjects .recentProjectImg.sectors { background-image: url('../img/photo-sectors.png'); }
#recentProjects .recentProjectImg span.description { background-color: #fff; color: #27225b; float: left; width: 100%; text-align: left; padding: 20px 30px; font-size: 20px; font-family: 'PT Serif', serif; letter-spacing: -.04em; position: absolute; bottom: -70px; left: 0; -webkit-transition: bottom .24s ease; -moz-transition: bottom .24s ease; -o-transition: bottom .24s ease; -ms-transition: bottom .24s ease; transition: bottom .24s ease; }
#recentProjects .recentProjectImg:hover span.description, #recentProjects .recentProjectImg:focus span.description { bottom: 0px; }
#recentProjects .recentProjectImg:hover { -webkit-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .15); -moz-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .15); box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .15); }
#recentProjects .recentProjectImg { background-repeat: no-repeat; background-size: cover; background-position: center; z-index: 3; padding: 0; margin: 0; -webkit-transition: all .24s ease; -moz-transition: all .24s ease; -o-transition: all .24s ease; -ms-transition: all .24s ease; transition: all .24s ease; overflow: hidden; }
#recentProjects .recentProjectImg:hover { transform: scale(1.03); z-index: 99; }

/* -- footer ---- */
footer { padding: 140px 0px 55px 0px; }
footer .copyright p { text-align: center; color: #888; font-size: 12px; text-transform: uppercase; padding-top: 55px; }
footer .fastContact { padding: 70px 0px; margin-bottom: 100px; margin-top: 70px; border-top: 1px solid #ededed; border-bottom: 1px solid #ededed; text-align: center; }
footer .fastContact a.blueLink { text-decoration: none; color: #27225b; font-family: 'PT Serif', serif; letter-spacing: -.04em; font-size: 22px;margin-top: 8px; }
footer .socialNetworks a.ntw { border: 1px solid #eaeaea; margin: 0 10px; }
#footerNav ul li:before { display: none; }
#footerNav ul li { font-size: 12px; text-transform: uppercase; }
#footerNav ul li a { text-decoration: underline; color: #27225b; }
#footerNav ul li a.active { text-decoration: none; color: #888; font-weight: 400; }
#footerNav .nav-link::after { display: none; }
a.ntw { width: 58px; height: 58px; display: inline-block; vertical-align: top; position: relative; backface-visibility: hidden; border: 1px solid #27225b; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; }
a.ntw:before { width: 200%; height: 200%; margin: -50% 0 0 -50%; content: ''; position: absolute; top: 0; right: 0; bottom: 0; z-index: 1; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; -webkit-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -moz-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -ms-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -o-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -o-transform: scale3d(.1, .1, .1); transform: scale3d(.1, .1, .1); opacity: 0; filter: alpha(opacity=0); backface-visibility: hidden; }
.socialNetworks a.ntw:before { background: #27225b; }
a.ntw:before { -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; left: 0; }
a.ntw:before { width: 200%; height: 200%; margin: -50% 0 0 -50%; content: ''; position: absolute; top: 0; right: 0; bottom: 0; z-index: 1; -webkit-border-radius: 50%; -moz-border-radius: 50%; border-radius: 50%; -webkit-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -moz-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -ms-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -o-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -o-transform: scale3d(.1, .1, .1); transform: scale3d(.1, .1, .1); opacity: 0; filter: alpha(opacity=0); backface-visibility: hidden; }
a.ntw:hover:before { -webkit-transform: scale3d(.5, .5, .5); -moz-transform: scale3d(.5, .5, .5); -ms-transform: scale3d(.5, .5, .5); -o-transform: scale3d(.5, .5, .5); transform: scale3d(.5, .5, .5); opacity: 1; filter: alpha(opacity=100); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; }
a.ntw:after { width: 58px; height: 58px; content: ""; position: absolute; top: 0; left: 0; z-index: 2; -webkit-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -moz-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -ms-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); -o-transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); transition: transform .75s cubic-bezier(.19, 1, .22, 1), opacity .6s cubic-bezier(.19, 1, .22, 1); opacity: 0; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)"; filter: alpha(opacity=0); backface-visibility: hidden; }
.socialNetworks a.ntw.link-facebook:hover:after { opacity: 1; filter: alpha(opacity=100); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; background: url(../img/ico/icon-fb.svg) 50% no-repeat, linear-gradient(transparent, transparent);background-size: 16px; }
a.link-facebook { background: url(../img/ico/icon-fb_blue.svg) 50% no-repeat, linear-gradient(transparent, transparent); background-size: 16px;}

.socialNetworks a.ntw.link-twitter:hover:after { opacity: 1; filter: alpha(opacity=100); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; background: url(../img/ico/icon-tw.svg) 50% no-repeat, linear-gradient(transparent, transparent);background-size: 16px; }
a.link-twitter { background: url(../img/ico/icon-tw_blue.svg) 50% no-repeat, linear-gradient(transparent, transparent); background-size: 16px;}

.socialNetworks a.ntw.link-map:hover:after { opacity: 1; filter: alpha(opacity=100); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; background: url(../img/ico/icon-map.svg) 50% no-repeat, linear-gradient(transparent, transparent);background-size: 16px; }
a.link-map { background: url(../img/ico/icon-map_blue.svg) 50% no-repeat, linear-gradient(transparent, transparent); background-size: 16px;}

.socialNetworks a.ntw.link-instagram:hover:after { opacity: 1; filter: alpha(opacity=100); -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; background: url(../img/ico/icon-in.svg) 50% no-repeat, linear-gradient(transparent, transparent);background-size: 16px; }
a.link-instagram { background: url(../img/ico/icon-in_blue.svg) 50% no-repeat, linear-gradient(transparent, transparent); background-size: 16px;}

.navbar .container{
    position: relative;
}
.fastContactTop{
    position: absolute;
    right: 15px;
    top: 18px;
    font-size: 15px;
    color: #fff;
}
.fastContactTop a{
    color: #fff;
    margin: 0 10px;
}
.fastContactTop a:hover{
    color: #edcd1f;
    text-decoration: underline;
}
.navbar-nav{
    border-top: 1px solid #94939a;
    padding-top: 7px;
    margin-top: 40px;
}
.fixedmenu{
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030;
}
.fixedmenu.fixedColor{
    background-color: #27225b;
}

.navbar {
    padding: 10px;
}
/* ---- Animations ---- */
.animation2 { transform: translateY(70px); -moz-transform: translateY(70px); -webkit-transform: translateY(70px); -webkit-animation: title 1s ease-out 0.4s forwards; -moz-animation: title 1s ease-out 0.4s forwards; -ms-animation: title 1s ease-out 0.4s forwards; animation: title 1s ease-out 0.4s forwards }
@-webkit-keyframes title {
  0% { opacity: 0; -webkit-transform: translateY(70px) }
  100% { opacity: 1; -webkit-transform: translateY(0) }
}
@-moz-keyframes title {
  0% { opacity: 0; -moz-transform: translateY(70px) }
  100% { opacity: 1; -moz-transform: translateY(0) }
}
@-ms-keyframes title {
  0% { opacity: 0; -ms-transform: translateY(70px) }
  100% { opacity: 1; -ms-transform: translateY(0) }
}
@keyframes title {
  0% { opacity: 0; transform: translateY(70px) }
  100% { opacity: 1; transform: translateY(0) }
}
.animation1 { opacity: 0; transform: translateY(-70px); -moz-transform: translateY(-70px); -webkit-transform: translateY(-70px); -webkit-animation: navigation 1s ease-out 0.4s forwards; -moz-animation: navigation 1s ease-out 0.4s forwards; -ms-animation: navigation 1s ease-out 0.4s forwards; animation: navigation 1s ease-out 0.4s forwards }
@-webkit-keyframes navigation {
  0% { opacity: 0; -webkit-transform: translateY(-70px) }
  100% { opacity: 1; -webkit-transform: translateY(0) }
}
@-moz-keyframes navigation {
  0% { opacity: 0; -moz-transform: translateY(-70px) }
  100% { opacity: 1; -moz-transform: translateY(0) }
}
@-ms-keyframes navigation {
  0% { opacity: 0; -ms-transform: translateY(-70px) }
  100% { opacity: 1; -ms-transform: translateY(0) }
}
@keyframes navigation {
  0% { opacity: 0; transform: translateY(-70px) }
  100% { opacity: 1; transform: translateY(0) }
}
aside#loading { width: 100%; height: 100%; top: 0; left: 0; position: fixed; -webkit-transform: translateZ(0); -moz-transform: translateZ(0); -ms-transform: translateZ(0); -o-transform: translateZ(0); transform: translateZ(0); z-index: 999; background-color: #fff; -webkit-animation: loading 1s ease 0.4s forwards; -moz-animation: loading 1s ease 0.4s forwards; -ms-animation: loading 1s ease 0.4s forwards; animation: loading 1s ease 0.4s forwards }
@-webkit-keyframes loading {
  0% { opacity: 1 }
  100% { opacity: 0 }
}
@-moz-keyframes loading {
  0% { opacity: 1 }
  100% { opacity: 0 }
}
@-ms-keyframes loading {
  0% { opacity: 1 }
  100% { opacity: 0 }
}
@keyframes loading {
  0% { opacity: 1 }
  100% { opacity: 0 }
}
.animation { visibility: hidden; }


/* ---- menu burger ---- */

#burgerMenuIcon{
    position: relative;
    height: 67px;
    cursor: pointer;
    z-index: 100;
    transition: opacity 0.25s ease;
    width: 147px;
    background: #fff;
    -webkit-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); -moz-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25);
}
#burgerMenuIcon.active span{font-weight: 400;}

#burgerMenuIcon span.menu{
  position: absolute;
    left: 20px;
    line-height: 67px;
}
#burgerMenuIcon span.menu:after{
      position: absolute;
    content: "";
    width: 1px;
    height: 20px;
    background-color: #ccc;
    top: calc(50% - 10px);
    margin-left: 15px;
}

.button_container {
  position: absolute;
    height: 27px;
    width: 35px;
    cursor: pointer;
    z-index: 100;
    transition: opacity 0.25s ease;
    display: inline;
    margin-top: 21px;
    right: 20px;
}
.button_container:hover {
  opacity: 0.7;
}
#burgerMenuIcon.active .top {
  transform: translateY(11px) translateX(0) rotate(45deg);
  background: #27225b;
}
#burgerMenuIcon.active .middle {
  opacity: 0;
  background: #27225b;
}
#burgerMenuIcon.active .bottom {
  transform: translateY(-11px) translateX(0) rotate(-45deg);
  background: #27225b;
}
.button_container span {
  background: #27225b;
  border: none;
  height: 2px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: all 0.35s ease;
  cursor: pointer;
}
.button_container span:nth-of-type(2) {
  top: 11px;
}
.button_container span:nth-of-type(3) {
  top: 22px;
}
.overlay {
  position: fixed;
  background: #27225b;
  top: 0;
  left: 0;
  width: 100%;
  height: 0%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.35s, visibility 0.35s, height 0.35s;
  z-index: 99;
}
.overlay.open {
  opacity: 0.95;
  visibility: visible;
  height: 100%;
}

#mainMenu.open {
  position: relative;
  padding-top: 100px;
  
}
#mainMenu.open ul {
  list-style: none;
  padding: 0;
  display: block;
  height: 100%;
  text-align: center;
}
#mainMenu.open ul li a {
  color: #fff;
  text-decoration: none;
  font-size: 20px;
  font-family: 'Roboto', serif;
  font-weight: 400;
  text-transform: uppercase;
}
#mainMenu.open ul li .dropdown-menu a {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-family: 'Roboto', serif;
  font-weight: 400;
  text-transform: uppercase;
}
#mainMenu.open ul li.dropdown::after{
  display: none;
}
#mainMenu.open ul li .dropdown-menu {
  color: #fff;
  text-decoration: none;
  font-size: 14px;
  font-family: 'Roboto', serif;
  font-weight: 400;
  text-transform: uppercase;
  background-color: transparent;
  border: 0;
  text-align: center;
}
#mainMenu.open ul li .dropdown-menu .dropdown-item:focus,#mainMenu.open ul li .dropdown-menu .dropdown-item:hover {
    color: #fff;
    text-decoration: none;
    background-color: transparent;
    border-left: none;
    padding: .25rem 1.5rem;
}

#mainMenu.open address {
    padding-top: 10%;
    color: #fff;
    text-transform: none;
    padding-bottom: 50px;
    display: block;
    text-align: center;
}
#mainMenu.open address p strong{
    color: #b7b5ce;
    font-weight: 400;
}
#mainMenu.open address p:nth-child(2) {
     color: #fff;font-size: 18px;
}
#mainMenu.open address p a {
    color: #fff;font-size: 24px;line-height: 48px;font-family: 'PT Serif', serif; letter-spacing: -.04em;
}
#mainMenu.open address p a:hover {
    color: #fff;text-decoration: none;
}

.mobileMenu .blockMenu {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100vh;
    overflow-y: auto;
    left: 0;
    right: 0;
}
#mainMenu.mobile ul {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    display: inline-block;
    position: relative;
    height: 100%;
}


/* ---- Pages ---- */

body.page .blockMenu{
  background-color: #27225b;
  position: relative;
}
body.page main{
  padding: 80px 0px;
      margin-top: 150px;
}
main .heading{padding:0px 60px;}
main .content{padding-top: 80px; }
main .content .serviceRow{
  -ms-flex-align: center !important;
    align-items: center !important;
  display: -ms-flexbox !important;
  margin-bottom: 100px;
}
.content p{padding: 0px 60px;line-height: 30px;}
.content p.noPad{padding: 0px 0px;line-height: 30px;}
.content img{padding: 50px 0px;max-width: 100%;height: auto;}
.content h3{padding: 0px 60px; font-size: 30px;margin-bottom: 30px;margin-top: 40px;}
.content ul{margin-left:60px;}
.content ul li{color:#888;padding-bottom: 15px;}
.content .contentItem.p60{padding: 0px 75px;}
.content .contentItem h2{color: #27225b;}
.content .contentItem p{line-height: 30px; color: #888;padding:0;padding-top: 30px;}
.content .contentItem img{padding:0;-webkit-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); -moz-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25);}
.contactLink {
    position: relative;
    display: block;
    padding: 0px 60px;
}
.contactLink span {
    display: block;
    text-transform: capitalize;
    color: #888888;
    font-size: 16px;
}
.contactLink span.call{
    margin-top: 35px;
}
.contactLink a{
  color: #27225b;
  font-size: 40px;
}
.flashmsg p{margin-bottom: 0;}

.map{
background-image: url(../img/map.png);
  background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    z-index: 3;
    padding: 0;
    margin: 0;
    -webkit-transition: all .24s ease;
    -moz-transition: all .24s ease;
    -o-transition: all .24s ease;
    -ms-transition: all .24s ease;
    transition: all .24s ease;
    overflow: hidden;
    min-height: 290px;
    -webkit-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); -moz-box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25); box-shadow: 0 20px 40px 0 rgba(0, 0, 0, .25)
}
.map{
  margin-top: 100px;
}
.map span.newTab { background-color: #fff; color: #27225b; float: left; width: 100%; text-align: left; padding: 20px 30px; font-size: 20px; font-family: 'PT Serif', serif; letter-spacing: -.04em; position: absolute; bottom: -70px; left: 0; -webkit-transition: bottom .24s ease; -moz-transition: bottom .24s ease; -o-transition: bottom .24s ease; -ms-transition: bottom .24s ease; transition: bottom .24s ease; }
.map:hover span.newTab, .map:focus span.newTab { bottom: 0px; }
#contactForm{
  padding: 0px 60px;
    margin-top: 80px;
}
.btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    border: 1px solid transparent;
    padding: 20px 20px;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0;
    transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out;
    font-size: 15px;
    text-transform: uppercase;
}
.btn-primary {
    color: #fff;
    background-color: #27225b;
    border-color: #27225b;
}
.btn-primary:hover {
    color: #fff;
    background-color: #21252b;
    border-color: #21252b;
}


main h1{
  font-size: 80px;
  text-transform: capitalize;
}
main h1:after { display: inline; content: "."; color: #edcd1f; }
aside.ctaContact{padding:80px 0px;background-color: #f7f7f7; border-top:solid 1px #ededed;border-bottom: solid 1px #ededed; text-align: center;font-size: 30px;font-family: 'PT Serif', serif; letter-spacing: -.04em;}
aside.ctaContact a{margin-left: 20px;color:#27225b }
@keyframes fadeInRight {
  0% {
    opacity: 0;
    left: 20%;
  }
  100% {
    opacity: 1;
    left: 0;
  }
}


/* Slick */

@charset 'UTF-8';
/* Slider */
.slick-loading .slick-list
{
    background: #fff url('./ajax-loader.gif') center center no-repeat;
}

/* Icons */
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}
/* Arrows */
.slick-prev,
.slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
    z-index: 9;
}
.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
.slick-prev:hover:before,
.slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before
{
    opacity: 1;
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before
{
    opacity: .25;
}

.slick-prev:before,
.slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: ' ';
    background: url(../img/prew.png);
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    background-repeat: no-repeat;
    top: 0;
    left: 0;
}

.slick-next
{
    right: -25px;
}
.slick-next:before
{
    content: ' ';
    background: url(../img/next.png);
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    background-repeat: no-repeat;
    top: 0;
    right: 0;
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
.slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

.slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
.slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
.slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
.slick-dots li button:hover,
.slick-dots li button:focus
{
    outline: none;
}
.slick-dots li button:hover:before,
.slick-dots li button:focus:before
{
    opacity: 1;
}
.slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
.slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}
/* Slider */
.slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

.slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
.slick-list:focus
{
    outline: none;
}
.slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

.slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
.slick-track:before,
.slick-track:after
{
    display: table;

    content: '';
}
.slick-track:after
{
    clear: both;
}
.slick-loading .slick-track
{
    visibility: hidden;
}

.slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] .slick-slide
{
    float: right;
}
.slick-slide img
{
    display: block;
}
.slick-slide.slick-loading img
{
    display: none;
}
.slick-slide.dragging img
{
    pointer-events: none;
}
.slick-initialized .slick-slide
{
    display: block;
}
.slick-loading .slick-slide
{
    visibility: hidden;
}
.slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
.slick-arrow.slick-hidden {
    display: none;
}
header .slick-prev, header .slick-next {
    width: 40px;
    height: 40px;
}
header .slick-prev {
    left: 25px;
}
header .slick-next {
    right: 25px;
}
header .slick-next:before {
    content: ' ';
    background: url(../img/next_white.png);
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    right: 0;
    background-repeat: no-repeat;

}
header .slick-prev:before {
    content: ' ';
    background: url(../img/prew_white.png);
    background-size: contain;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-repeat: no-repeat;
}



/* ---- Responsive ---- */

@media screen and (min-width:540px) and (max-width: 720px) {
  .square .inner.text p{display: none; }
}

@media screen and (min-width:1200px) and (max-width: 1300px) {
  .square .inner.text p{line-height: 20px;
    font-size: 13px; }
  .gradientBlock h3 {
    font-size: 40px;
    font-weight: 400;
    line-height: 40px;}
}

@media screen and (min-width:1450px) {
  .square .inner.text { top: 50px; left: 50px; right: 50px; bottom: 50px; }
}
@media screen and (min-width:1200px) and (max-width: 1450px) {
  .square .inner.text { top: 30px; left: 30px; right: 30px; bottom: 30px; }
}


@media screen and (max-width:900px) {
  #slider .magic-title h1 { max-width: 350px; font-size: 50px; line-height: 60px; }
  .square .inner.text { top: 60px; left: 50px; right: 50px; bottom: 60px; }
}
@media screen and (min-width:992px) {
  #burgerMenuIcon { display: none; }
  #mainMenu address {display: none;}
  main .content .row:nth-child(even) .contentItem:nth-child(2){order:1;-webkit-order: 1;}
  main .content .row:nth-child(even) .contentItem:nth-child(1){order:2;-webkit-order: 2;}
  .navbar-expand-lg .navbar-nav .dropdown-menu {max-height: 400px;overflow-x: scroll;}
}
@media screen and (max-width:992px) {
  #burgerMenuIcon { display: block; }
  #mainMenu {display: none;}
  #mainMenu.open{display: block;}
  .content p{padding: 0px 30px;line-height: 30px;}
  .content img{padding: 50px 0px;}
  .content h3{padding: 0px 30px; font-size: 30px;margin-bottom: 30px;margin-top: 40px;}
  .content ul{margin-left:30px;}
  main .heading{padding:0px 15px;}
  main .content {padding-top: 100px;}
  .content .contentItem.p60{padding: 0px 30px;}
  #contactForm {padding: 0px 30px;}
  .contactLink {padding: 0px 30px;}
  .contactLink a {font-size: 25px;}
  .slick-prev, .slick-next {z-index: 50;}
  .fastContactTop{display: none;}
  .navbar-nav{
    border-top: 1px solid transparent;
    padding-top: 0px;
    margin-top: 0px;
}
}

@media screen and (max-width:960px) {

#about{text-align: center;}
section#about img{margin: 100px 0px;}
section#about img.secondImg{margin-bottom:0px;}
section#about .content{padding: 0 35px;}
#service > div > div > div:nth-child(1){padding-bottom: 70px;}
}
@media screen and (max-width:768px) {
footer .fastContact a.blueLink{margin:40px 0px;}
#slider{min-height: 370px;}
header .slick-prev, header .slick-next {
    display: none !important;
}
.slick-prev, .slick-next{
    display: none !important;
}
}
@media screen and (max-width:540px) {
  #service{text-align: center;}
  span.count{display: none;}
  #service .tab-content h4 {
    margin-left: 0;
    text-align: center;
    width: 100%;
}
ul#pills-tab li{margin: 0 auto;}
#service ul li {
    text-align: left;
}

}
#hpForm{
    border-top: solid 3px #27225b;
    margin-top: 70px;
}
