.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    display: inline-block;
    line-height: 1;
    text-transform: none;
    letter-spacing: normal;
    word-wrap: normal;
    white-space: nowrap;
    direction: ltr;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: 'liga';
}

body .jGrowl-notification {
    padding: 20px 40px 20px 20px;
    color: #fff;
    font-size: 15px;
    line-height: 20px;
    border-radius: 0px;
    border: none;
    box-shadow: 0 0 10px 0px rgb(0 0 0 / 0.1);
    opacity: 1;
	font-family: 'Gotham Pro';
    position: relative;
}

body .jGrowl-notification.af-message-success, body .ms2-message-success {
    background-color: #3cf914 !important;
    background: -webkit-linear-gradient(135deg, rgb(38, 255, 0), rgb(229, 255, 0));
    background: -moz-linear-gradient(135deg, rgb(38, 255, 0), rgb(229, 255, 0));
    background: linear-gradient(135deg, rgb(38, 255, 0), rgb(229, 255, 0));
    color: #006f01 !important;
}

body .jGrowl-notification.af-message-error, body .ms2-message-error {
    background-color: #d11a00 !important;
    background: -webkit-linear-gradient(315deg, rgb(255, 79, 0), rgb(187, 0, 0));
    background: -moz-linear-gradient(315deg, rgb(255, 79, 0), rgb(187, 0, 0));
    background: linear-gradient(315deg, rgb(255, 79, 0), rgb(187, 0, 0));
}

body .jGrowl-notification.af-message-info, body .ms2-message-info {
    background-color: #00a6ff !important;
    background: -webkit-linear-gradient(135deg, rgb(0, 166, 255), rgb(48, 230, 121));
    background: -moz-linear-gradient(135deg, rgb(0, 166, 255), rgb(48, 230, 121));
    background: linear-gradient(135deg, rgb(0, 166, 255), rgb(48, 230, 121));
}

body .jGrowl-notification .jGrowl-close {
    position: absolute;
    right: 0;
    top: 0;
    margin: 10px;
    font-size: 18px;
    font-weight: normal;
    color: #fff;
}

body .jGrowl-notification {
    font-family: 'Gilroy';
}

body .jGrowl-notification.af-message-success .jGrowl-close {
    color: #006f01;
}

html, body {
    width: 100%;
    color: #423b2e;
    font-family: 'Gilroy';
    height: 100vh;
    background: #fff;
}

hr.clear {
    display: block;
    margin: 0;
    border: none;
    height: 0;
    width: 100%;
    clear: both;
}

.adaptive {
    width: 1100px;
    margin: 0 auto;
    position: relative;
}

a.zoomphoto {
    display: flex;
    position: relative;
    overflow: hidden;
}

a.zoomphoto i {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: rgb(0 0 0 / 50%);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 60px;
    color: #fff;
    transition: 0.3s;
    opacity: 0;
}

a.zoomphoto:hover i {
    opacity: 1;
}

section.welcome {
    width: 100%;
    height: 100vh;
    background: #000;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

section.welcome .jarallax {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.35;
    z-index: 0;
    transition: 1s;
}

main {
    width: 100%;
    min-height: 100vh;
    background: #000000;
    overflow: hidden;
}

.welc_title {
    z-index: 1;
    position: relative;
    color: #fff;
    font-size: 80px;
    letter-spacing: 10px;
    font-weight: 600;
}

section.about_me .adaptive {
    display: flex;
}

section.about_me {
    padding: 140px 0 0;
}

section.about_me .img {
    width: 450px;
}

section.about_me .txt {
    padding: 0 0 0 75px;
    color: #fff;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

section.about_me .txt .title {
    font-size: 90px;
    text-transform: uppercase;
    font-weight: 200;
    margin: 0 0 40px;
    padding: 10px 0 0;
}

section.about_me .txt .article_title {
    font-size: 50px;
    text-transform: uppercase;
    margin: 0 0 40px;
    font-weight: 300;
    text-align: right;
}

/* Start article */

article.article h2 {
    font-size: 32px;
    font-weight: 500;
    margin: 0 0 20px;
    line-height: 36px;
}

article.article h3 {
    font-size: 24px;
    margin: 0 0 20px;
    line-height: 26px;
    font-weight: 300;
}

article.article p {
    font-size: 20px;
    line-height: 26px;
    margin: 0 0 20px;
    font-weight: 300;
}

article.article strong {
    font-weight: 500;
}

article.article ul, article.article ol {margin: 0 0 20px;padding: 0 0 0 25px;}

article.article li {
    font-size: 18px;
    line-height: 26px;
    list-style-type: square;
}

article.article li::marker {
    color: #ffb800;
}

article.article blockquote {
    margin: 0 0 20px;
    padding: 20px 20px;
    border-left: 4px solid #ffb800;
    font-style: italic;
    background: #1a1a1a;
}

article.article blockquote * {
    margin: 0;
}

article.article a {
    color: #ffb800;
}

article.article a:hover {
    text-decoration: none;
}

/* End article */

.no-scroll {
    overflow: hidden !important;
}

body.start {
    overflow: hidden;
}

body.start section.welcome .jarallax {
    opacity: 0;
}

body.start .welc_title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
}

body.start .welc_title.animate span {
    opacity: 1;
    transform: translateY(0);
}

body.start main {
    padding: 0 14px 0 0;
    box-sizing: border-box;
}

section.about_me .img img {
    display: block;
    width: 450px;
}

section.portpholio {
    padding: 140px 0 0;
}

.sec_title {
    font-size: 90px;
    color: #fff;
    font-weight: 300;
    text-transform: uppercase;
    padding: 0 0 80px;
}

.mediaBlock {
    width: 532px;
    height: 360px;
    margin: 0 32px 32px 0;
}

.grid {
    display: flex;
    flex-wrap: wrap;
}

a.zoomphoto img {
    display: block;
}

.mediaBlock:nth-child(2n) {
    margin: 0 0 32px 0;
}

.vidBlock i.material-icons {
    font-size: 90px;
}

.fancybox__container iframe {
    opacity: 0;
    transition: opacity 0.3s ease;
}

.fancybox__container.is-animated iframe {
    opacity: 1;
}

section.portpholio .tab_menu ul {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

section.portpholio .tab_menu ul li a {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    color: rgb(255 255 255 / 50%);
    text-decoration: none;
    display: flex;
    justify-content: center;
    padding: 10px 0 20px;
    border-bottom: 1px solid rgb(255 255 255 / 50%);
    transition: 0.6s;
}

section.portpholio .tab_menu ul li {
    width: 150px;
    text-align: center;
}

section.portpholio .tab_menu ul li ul {
    display: flex;
    flex-direction: column;
    padding: 15px 0 0;
    opacity: 0;
    transition: 0.6s;
    visibility: hidden;
}

section.portpholio .tab_menu ul li li a {
    padding: 5px 0;
    border: none !important;
}

section.portpholio .tab_menu {
    padding: 0 0 20px;
}

section.portpholio .tab_menu a.active {opacity: 1;border-bottom: 1px solid rgb(255 255 255 / 50%);color: #fff;}

section.portpholio .tab_container {
    position: relative;
    height: 854px;
}

section.portpholio .tab_container .grid {
    position: absolute;
    opacity: 0;
    visibility: hidden;
    transition: 0.6s;
    /* transform: scale(0.8); */
    z-index: 0;
    padding: 0 0 70px;
    box-sizing: border-box;
}

section.portpholio .tab_container .grid.vis {
    opacity: 1;
    visibility: visible;
    /* transform: scale(1); */
    z-index: 2;
}

section.portpholio .tab_menu a.active + ul {
    opacity: 1;
    visibility: visible;
}

section.portpholio .tab_container .grid .mediaBlock {
    transition-duration: 0.6s;
    transform: scale(0.8);
    opacity: 0;
}

section.portpholio .tab_container .grid.vis .mediaBlock {
    opacity: 1;
    transform: scale(1);
    transition: 0.6s;
}

section.portpholio .tab_container .grid.vis .mediaBlock:nth-child(1) {
    transition-delay: 0s;
}

section.portpholio .tab_container .grid.vis .mediaBlock:nth-child(2) {
    transition-delay: 0.3s;
}

section.portpholio .tab_container .grid.vis .mediaBlock:nth-child(3) {
    transition-delay: 0.6s;
}

section.portpholio .tab_container .grid.vis .mediaBlock:nth-child(4) {
    transition-delay: 0.9s;
}

nav.main {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 120;
    transform: translateY(0px);
    opacity: 1;
    transition: 1s;
}

nav.main .adaptive {
    display: flex;
    justify-content: center;
    height: 160px;
    align-items: center;
}

nav.main .adaptive ul {
    display: flex;
}

nav.main .adaptive .logotype {
    width: 190px;
    display: flex;
    align-items: center;
    justify-content: center;
}

nav.main .adaptive .left, nav.main .adaptive .right {
    width: 485px;
}

nav.main .adaptive .left ul {
    display: flex;
    justify-content: flex-end;
}

nav.main .adaptive ul a {
    text-decoration: none;
    color: #fff;
    font-size: 20px;
    text-transform: uppercase;
    font-weight: 300;
    opacity: 0.6;
    transition: 0.6s;
}

nav.main .adaptive ul li {
    padding: 0 30px;
}

nav.main .adaptive ul a:hover {
    opacity: 1;
}

body.start nav.main {
    opacity: 0;
    transform: translateY(-40px);
}

header {
    height: 160px;
    background: #000;
    overflow: hidden;
    position: relative;
}

header .jarallax {
    width: 100%;
    height: 100vh;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 0.35;
    z-index: 0;
}

body.inside_page main {
    width: 100%;
    overflow: hidden;
}

.pagetitle h1 {
    font-size: 90px;
    font-weight: 300;
    color: #fff;
    text-transform: uppercase;
}

.pagetitle {
    padding: 140px 0 80px;
}

div#pdopage .btn-more {
    margin: 20px auto 0;
    width: auto;
    font-family: 'Gilroy';
    font-weight: 300;
    font-size: 22px;
    color: #fff;
    opacity: 0.5;
    text-transform: uppercase;
    padding: 0;
    transition: 0.3s;
    background: transparent;
    border: none;
}

body.inside_page section.container {
    padding: 0 0 100px;
}

div#pdopage .btn-more:hover {
    opacity: 1;
}

footer.inside {
    background: #000000;
    padding: 0 0 100px;
    height: 330px;
    margin: -470px 0 0;
}

body.inside_page hr.clear.footer {
    height: 430px;
}

footer.inside .adaptive {
    display: flex;
    justify-content: space-between;
}

footer.inside .adaptive .right {
    width: 450px;
    height: 330px;
    background-color: #5C5C5C;
    padding: 40px 40px 0;
    box-sizing: border-box;
    background-image: url(/assets/templates/klemplate/images/cnt2.png);
    background-repeat: no-repeat;
    background-position: right bottom;
}

footer.inside .adaptive .left {
    background-color: #141414;
    width: 630px;
    box-sizing: border-box;
    padding: 40px 320px 0 40px;
    background-image: url(/assets/templates/klemplate/images/cnt1.png);
    background-repeat: no-repeat;
    background-position: right 30px;
    position: relative;
}

footer.inside .adaptive .title {
    font-size: 40px;
    color: #fff;
    text-transform: uppercase;
    font-weight: 300;
    margin: 0 0 30px;
    line-height: 54px;
}

footer.inside .adaptive .right .title {
    color: #000;
}

footer.inside .adaptive .left .text {
    color: #fff;
    font-size: 24px;
    font-weight: 300;
    line-height: 30px;
}

html.start {
    overflow: hidden;
}

footer.inside .adaptive .right .row {
    margin: 0 0 15px;
}

footer.inside .adaptive .right .row h3 {
    font-size: 16px;
    margin: 0 0 6px;
    font-weight: 300;
}

footer.inside .adaptive .right .row a {
    color: #000;
    text-decoration: none;
    font-size: 22px;
}

footer.inside .adaptive .right .row .grid a {
    margin: 0 15px 0 0;
}

.cat_menu {
    padding: 0 0 50px;
}

.cat_menu ul li a {
    text-decoration: none;
    color: #fff;
    font-size: 26px;
    opacity: 0.5;
    transition: 0.3s;
}

.cat_menu ul {
    display: flex;
}

.cat_menu ul li {
    margin: 0 20px 0 0;
}

.cat_menu ul li a:hover {
    opacity: 1;
}

.cat_menu ul li.active a {
    opacity: 1;
}

section.pricelist {
    padding: 140px 0 0px;
}

section.pricelist .sec_title {
    text-align: center;
}

footer.inside .adaptive .left .btns {
    position: absolute;
    right: 0;
    bottom: 0;
    height: 70px;
    box-sizing: border-box;
    padding: 6px 0 0;
    background: #000000;
}

footer.inside .adaptive .left .btns a {
    margin: 0 0 0 6px;
    height: 64px;
    background: #fff;
    display: flex;
    align-items: center;
    padding: 0 50px;
    text-decoration: none;
    font-size: 28px;
    color: #000;
    transition: 0.3s;
}

footer.inside .adaptive .left .btns a:hover {
    background: #5c5c5c;
}

section.pricelist article.article {
    color: #fff;
    padding: 0 0 80px;
}

nav.main .adaptive .logotype img {
    height: 60px;
}

section.pricelist .tab_menu {
    padding: 0 0 100px;
}

section.pricelist .tab_menu ul {
    display: flex;
    justify-content: center;
    align-items: flex-start;
}

section.pricelist .tab_menu li {
    width: 150px;
    text-align: center;
}

section.pricelist .tab_menu a {
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
    color: rgb(255 255 255 / 50%);
    text-decoration: none;
    display: flex;
    justify-content: center;
    padding: 10px 0 20px;
    border-bottom: 1px solid rgb(255 255 255 / 50%);
    transition: 0.6s;
}

section.pricelist .tab_menu a.active {
    opacity: 1;
    border-bottom: 1px solid rgb(255 255 255 / 50%);
    color: #fff;
}

.prcBlock {
    width: 270px;
    height: 270px;
    margin: 0;
    position: relative;
    font-weight: 300;
    color: #fff;
    z-index: 1;
    transform: translateX(80px);
    opacity: 0;
    transition-duration: 0.6s;
    visibility: hidden;
}

section.pricelist .grid {position: absolute;left: 10px;right: 10px;opacity: 0;visibility: hidden;transition: 0.6s;}

section.pricelist .grid.vis {
    display: flex;
    opacity: 1;
    visibility: visible;
    transition: 0.6s;
}

section.pricelist .tab_container {
    padding: 0 10px 25px;
    position: relative;
    height: 270px;
}

.prcBlock .txt .title {
    font-size: 22px;
    text-transform: uppercase;
}

.prcBlock .border {
    width: 100%;
    height: 100%;
    position: absolute;
    left: -25px;
    top: -25px;
    border: 2px solid #fff;
    box-sizing: content-box;
    padding: 23px;
    border-radius: 100%;
    transition: 0.3s;
}

.prcBlock .txt {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0;
    box-sizing: border-box;
    position: relative;
    z-index: 2;
    cursor: default;
}

.prcBlock .txt .price {
    font-size: 28px;
    padding: 20px 0;
    font-weight: 500;
}

.prcBlock .txt .time {
    font-size: 15px;
    text-transform: uppercase;
}

.prcBlock.first {
    color: #000;
    z-index: 2;
    transform: scale(0.6);
    font-weight: 500;
}

.prcBlock.first .border {
    background: #fff;
}

.grid.vis .prcBlock {
    transition: 0.6s;
    transform: translateX(0px);
    opacity: 1;
    visibility: visible;
}

.grid.vis .prcBlock:nth-child(2) {
    transition-delay: 0.3s;
}

.grid.vis .prcBlock:nth-child(3) {
    transition-delay: 0.6s;
}

.grid.vis .prcBlock:nth-child(4) {
    transition-delay: 0.9s;
}

.grid.vis .prcBlock.first {
    transform: scale(1);
}

section.contacts {
    padding: 140px 0 100px;
}

section.contacts .adaptive {
    display: flex;
    justify-content: space-between;
}

section.contacts .adaptive .left {
    color: #fff;
    width: 500px;
    text-align: right;
}

section.contacts .adaptive .left .title {
    font-size: 90px;
    font-weight: 300;
    text-transform: uppercase;
    margin: 0 0 90px;
}

section.contacts .adaptive .left .contactBlock {
    margin: 0 0 60px;
}

section.contacts .adaptive .left .contactBlock .list {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

section.contacts .adaptive .left .contactBlock h3 {
    font-size: 30px;
    font-weight: 800;
    text-transform: uppercase;
    margin: 0 0 20px;
}

section.contacts .adaptive .left .contactBlock .list a {
    font-size: 24px;
    color: #fff;
    text-decoration: none;
    margin: 0 0 10px;
    font-weight: 300;
}

section.contacts .adaptive .left .contactBlock .list a:last-child {
    margin: 0;
}

footer.home_footer {
    height: 300px;
    background: #101010;
    margin: -300px 0 0;
}

body.home_page hr.clear.footer {
    height: 300px;
}

footer.home_footer {}

footer.home_footer .cont {
    height: 240px;
    padding: 60px 0 0;
    box-sizing: border-box;
    display: flex;
    justify-content: space-between;
}

footer.home_footer .bottom {
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

footer.home_footer .cont .left {}

footer.home_footer .cont .left .title {
    font-size: 30px;
    color: #fff;
    font-weight: 300;
}

footer.home_footer .bottom .links a {
    color: #fff;
    text-decoration: none;
    margin: 0 20px 0 0;
    font-weight: 300;
    opacity: 0.5;
    transition: 0.3s;
}

footer.home_footer .bottom .links a:hover {
    opacity: 1;
}

footer.home_footer .cont .right {
    width: 400px;
}

footer.home_footer .cont .right ul li {
    width: 200px;
    margin: 0 0 20px;
}

footer.home_footer .cont .right ul {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: flex-start;
}

footer.home_footer .cont .right ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 24px;
    font-weight: 300;
    opacity: 0.5;
    transition: 0.3s;
}

footer.home_footer .cont .right ul li a:hover {
    opacity: 1;
}

.section.portpholio .tab_container .grid .btn {
    background: red;
}

section.portpholio .tab_container .grid .btn {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 50px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
}

section.portpholio .tab_container .grid .btn a {
    color: #fff;
    text-decoration: none;
    display: flex;
    align-items: center;
    font-size: 24px;
}

section.portpholio .tab_container .grid .btn a i.material-icons {
    font-size: 40px;
    transform: rotateZ(135deg);
    margin: 0 0 0px;
}

section.portpholio .tab_container .grid .btn a span {
    margin: 0 0 0 10px;
}

.prcBlock.first .price {
    font-weight: 600;
}

.prcBlock:hover .border {
    transform: scale(0.95);
}

body.inside_page section.pagetitle {
    border-top: 160px solid #000000;
}

body.inside_page header {
    position: absolute;
    z-index: 200;
    width: 100%;
}

.empty_result {
    font-size: 30px;
    color: #262626;
    font-weight: 500;
}

body.inside_page.services_page {}

body.inside_page.services_page .rows.list {
    display: flex;
    flex-direction: column;
}

body.inside_page.services_page .rows.list .srvBlock {
    display: flex;
    margin: 0 0 100px;
}

body.inside_page.services_page .rows.list .srvBlock:nth-child(even) {
    display: flex;
    flex-direction: row-reverse;
}

.srvBlock {}

body.inside_page.services_page .rows.list .srvBlock .txt {
    text-align: right;
    padding: 0 0px 0 50px;
    color: #fff;
}

body.inside_page.services_page .rows.list .srvBlock:nth-child(even) .txt {
    text-align: left;
    padding: 0 50px 0 0;
}

body.inside_page.services_page .rows.list .srvBlock .img {}

body.inside_page.services_page .rows.list .srvBlock .img img {
    display: block;
    filter: grayscale(1);
    transition: 0.8s;
}

body.inside_page.services_page .rows.list .srvBlock .txt h3 {
    font-size: 40px;
    margin: 0 0 30px;
}

body.inside_page.services_page .rows.list .srvBlock .txt p {
    font-size: 20px;
    line-height: 26px;
    margin: 0 0 20px;
    font-weight: 300;
    white-space: break-spaces;
}

body.inside_page.services_page .rows.list .srvBlock .img img:hover {
    filter: grayscale(0);
}