/* ########################################################################## */
/* RESPONSIVE */
/* ########################################################################## */

@media (min-width: 1940px) {
    .container-header.featured .header_wrapper .container-banner.item-1 {
        background-position: 85% calc(100% + 10px);
        background-size: 25% 90%;
    }
}

@media (max-width: 1600px) {
    .container-header.featured header h2,
    .container-header.featured header h2 * {
        font-size: 60px;
    }

    .container-header.featured header .featured_text p {
        font-size: 18px;
    }

    .module-simple.homepage-services .cols .col-item h3 {
        font-size: 24px;
    }

    .module-simple.homepage-services .cols .col-item p {
        font-size: 16px;
    }
}

@media (max-width: 1499px) {
    .box-padded, nav.box-padded, div.box-padded,
    .box-padded:not(.empty_content), nav.box-padded:not(.empty_content), div.box-padded:not(.empty_content),
    .full-width .cols-3 {

    }

    .fullwidth,
    .block-decor {
        /*.block-decor.decor-featured {*/
        margin-left: -5rem;
        margin-right: -5rem;
    }

    .has-sidebar-right .block-decor {
        width: calc(100% + 5rem);
    }

    .block-decor:not(.decor-featured) {
        padding-right: 5rem;
    }

    .carousel-control-prev, .carousel-control-next {
        width: 5rem;
    }

    .carousel-indicators {
        margin-right: 5rem;
        margin-left: 5rem;
    }

    .has-sidebar-right .block-decor {
        padding-right: 0;
    }
}

@media (min-width: 1600px) {
    .block-decor:not(.decor-featured) {
        width: calc(100% + 20rem);
        margin-left: -20rem;
        padding: 50px 0 50px 35rem;
    }

    .has-sidebar-right .block-decor {
        padding: 50px 0 50px 35rem;
    }

    .block-decor .block-decor-image {
        width: 30rem;
    }
}

/*@media (min-width: 1600px) {*/
@media (min-width: 1500px) {
    .container-header.featured header {
        background-size: 85%;
    }

    .block-decor:not(.decor-featured) {
        width: calc(100% + 20rem);
        margin-left: -20rem;
        padding: 50px 0 50px 35rem;
    }

    .has-sidebar-right .block-decor {
        padding: 50px 0 50px 35rem;
    }

    .block-decor .block-decor-image {
        width: 30rem;
    }
}

@media (max-width: 1399px) {
    .tiles .tile_content a {
        font-size: 20px;
    }
    .tiles .tile_content a .img {
        margin-bottom: 1rem;
    }
}

@media (max-width: 1378px) {
    .quick_contact {
        height: 66px;
        top: calc(50% - 33px);
        padding: 10px 15px 10px 65px;
        background-position: 15px center;
        background-size: 30px 30px;
    }

    .quick_contact strong {
        font-size: 16px;
    }
}

@media (min-width: 1199px) and (max-width: 1399px) {
    .tag_tiles .tag_list_wrap .tag_item .tag_item_inner h3 {
        font-size: 38px;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item:hover .tag_item_inner .tag_desc,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item:hover .tag_item_inner .tag_desc {
        margin-bottom: 2rem;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item .tag_item_inner .tag_desc p,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item .tag_item_inner .tag_desc p {
        font-size: 14px;
    }
}

@media (max-width: 1199px) {
    .quick_contact {
        background-image: none;
        padding: 10px 15px;
    }

    .container-header .mod-menu li {
        padding: 0 10px;
    }

    .tiles .tile_content a {
        font-size: 18px;
        padding: 3rem;
    }

    .content_tile {
        min-width: 24%;
        padding-bottom: calc(4 / 3 * 120px);
    }

    .container-header.featured .header_wrapper .container-banner video {
        width: auto;
        height: 100%;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item {
        width: 50%;
    }
}

@media (max-width: 1099px) {
    .tag_tiles .tag_list_wrap .tag_item_article {

    }

    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_image {

    }

    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_content {

    }

    .tag_tiles .tag_list_wrap .tag_item_article:nth-child(even) .tag_item_content,
    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_content {
        padding: 2.5rem 5rem;
    }

    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_image,
    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_content {
        width: 50%;
    }

    .module-simple.homepage-news .cols .col-item {
        width: 50%;
    }

    .module-simple.homepage-news .cols .col-item:before {
        padding-top: 66.6666%;
    }
}

@media (min-width: 1025px) and (max-width: 1199px) {
    .container-header.featured header {
        background-position: 120% 100%;
    }

    .container-header.featured header h2,
    .container-header.featured header h2 * {
        font-size: 45px;
    }
}

@media (max-width: 1024px) {
    .quick_contact {
        display: none;
    }

    .module-simple .cols .col-item-icon {
        height: 65px;
    }

    .module-simple.homepage-services .cols .col-item p {
        /*font-size: 14px;*/
    }

    .module-simple.homepage-services .cols .col-item a {
        /*font-size: 14px;*/
        padding: 15px 40px;
    }

    .tag_heading {
        width: 100%;
    }

    .footer_inner {
        height: auto;
        padding-top: 2rem;
        padding-bottom: 2rem;
        flex-direction: column;
    }

    .footer_block {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .footer_block.footer_left {
        margin-bottom: 2rem;
    }

    .footer_block.footer_left .custom {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .footer_logo {
        margin-right: 0;
        margin-bottom: 1rem;
    }

    .container-footer p {
        text-align: center;
    }
}

@media (min-width: 993px) and (max-width: 1060px) {
    .container-header .mod-menu li a, .container-header .mod-menu li span {
        font-size: 13px;
    }
}

@media (min-width: 993px) and (max-width: 1024px) {
    .container-header.featured header {
        background-position: 120% 100%;
    }

    .container-header.featured header h2,
    .container-header.featured header h2 * {
        font-size: 40px;
    }
}

@media (max-width: 979px) {
    .tag_tiles .tag_list_wrap .tag_item_article {
        flex-direction: column;
    }

    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_image {
        order: 1;
    }

    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_content {
        order: 2;
    }

    .tag_tiles .tag_list_wrap .tag_item_article:nth-child(even) .tag_item_content,
    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_content {

    }

    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_image,
    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_content {
        width: 100%;
    }
}

@media (max-width: 992px) {
    .container-header nav.navbar, .container-banner nav {
        height: auto !important;
        z-index: 999;
    }

    .container-header .navbar-collapse {
        padding-left: 5rem;
        padding-right: 5rem;
    }

    .container-header .navbar-collapse,
    .container-header .navbar-collapse.collapsing {
        position: fixed;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;
        padding-top: 140px;
        background-color: #fff;
        overflow-y: auto;
    }

    .collapse:not(.show) {
        display: none;
        opacity: 0;
    }

    .container-header .navbar-collapse.collapsing {
        height: auto;
        overflow: hidden;
        opacity: 0;
        -webkit-transition: opacity 300ms ease-in-out;
        -moz-transition: opacity 300ms ease-in-out;
        transition: opacity 300ms ease-in-out;
    }

    .container-header .form-inline {
        z-index: 1;
    }

    .container-header .mod-menu li {
        width: 100%;
        padding: .5rem 0;
        display: inline-block;
    }

    .container-header .mod-menu li a,
    .container-header .mod-menu li span {
        font-weight: normal;
        font-size: 22px;
    }

    .container-header .mod-menu li.deeper ul {
        width: 100%;
        margin-left: 0;
        position: relative;
        padding: 1rem 0 1rem 0rem;
    }

    .container-header .mod-menu li.deeper ul li a,
    .container-header .mod-menu li.deeper ul li span {
        font-size: 18px;
    }

    body.featured .box-padded,
    body.featured nav.box-padded,
    body.featured div.box-padded {
        overflow-x: hidden;
    }

    .container-header.featured .header_wrapper .container-banner,
    .container-header.featured header {
        background-image: none !important;
    }

    .container-header.featured header .featured_text {
        width: 100%;
        text-align: center;
    }

    .homepage-quote-wrap .quote .q_left,
    .homepage-quote-wrap .quote .q_right {
        min-width: 60px;
    }

    .homepage-quote-wrap .quote p {
        padding: 0 2.5rem;
    }

    .homepage-quick-contact * {
        font-size: 30px;
    }

    .content_wrapper {
        flex-direction: column;
        overflow: hidden;
    }

    .container-component {

    }

    .sidebar {
        width: 100%;
        order: -1;
        padding: 0;
        margin-top: -3rem;
        margin-bottom: 3rem;

    }

    .card #submenu_puller {
        display: flex;
    }

    .card .mod-menu {
        align-items: flex-start;

        border-top: 1px solid #dfdfdf;
        margin-top: 1rem;

        display: none;
    }

    .card .mod-menu li {
        margin: 0;
        text-align: left;
    }

    .card .mod-menu li a {
        display: inline-block;
        margin: 15px 0;
    }

    .card .mod-menu li.active a:after {
        content: '';
    }

    .card .mod-menu li:first-child a {

    }

    .card .mod-menu li ul {
        margin-bottom: 15px;
    }

    .card .mod-menu li ul li a {
        margin: 5px 0;
    }

    .contact_rows .contact_rows_item {
        margin-bottom: 25px;
    }

    .contact_rows .contact_rows_item .cr_avatar {
        margin-right: 20px;
    }

    .contact_rows .contact_rows_item .cr_avatar > span {
        width: 100px;
        height: 100px;
        font-size: 40px;
    }

    .contact_rows .contact_rows_item .cr_info_name {
        font-size: 24px;
    }

    .references_tiles li {
        width: 24%;
    }

    .tiles {
        flex-wrap: wrap;
    }

    .tiles .tile {
        width: 48%;
    }

    p.q_contact {
        flex-direction: column;
    }

    p.q_contact:before {
        width: 100%;
        min-height: 40px;
        margin-right: 0;
        margin-bottom: 1.5rem;
        background-position: left top;
    }
}

@media (min-width: 992px) {
    .container-header header .mobile_menu_over {
        display: none;
    }

    .container-header .mod-menu li.deeper:hover ul {
        display: flex;
        opacity: 1;
    }

    .container-header .mod-menu > li .deeper_puller {
        display: none;
    }
}

@media (max-width: 900px) {
    .module-simple .cols .col-item {
        margin-bottom: 0 !important;
    }

    .module-simple.homepage-news .cols .col-item {
        width: 100%;
    }

    .module-simple.homepage-news .cols .col-item:before {
        padding-top: 54.6875%;
    }
}

@media (max-width: 850px) {
    .twocols {
        flex-direction: column;
    }

    .twocols .twocols-column {
        width: 100%;
        padding: 0 !important;
    }

    .twocols .twocols-column.tc-left {
        margin-bottom: 50px;
    }

    .contact_rows {
        width: 100%;
    }

    .references_tiles li {
        width: 32%;
    }
}

@media (max-width: 840px) {
    .container-fluid,
    .page-container,
    .box-padded:not(.empty_content),
    nav.box-padded:not(.empty_content),
    div.box-padded:not(.empty_content) {
        padding-left: 40px;
        padding-right: 40px;
    }

    .full-width {
        padding-left: 40px;
        padding-right: 40px;
        margin-left: -40px;
        margin-right: -40px;
    }
}

@media (min-width: 800px) and (max-width: 979px) {
    .tag_tiles .tag_list_wrap .tag_item .tag_item_inner h3 {
        font-size: 38px;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item:hover .tag_item_inner .tag_desc,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item:hover .tag_item_inner .tag_desc {
        margin-bottom: 2rem;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item .tag_item_inner .tag_desc p,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item .tag_item_inner .tag_desc p {
        font-size: 14px;
    }
}

@media (min-width: 740px) and (max-width: 800px) {
    .tag_tiles .tag_list_wrap .tag_item .tag_item_inner h3 {
        font-size: 34px;
    }
}

@media (max-width: 787px) {
    .module-simple .cols {
        flex-direction: column;
    }

    .module-simple .cols .col-item {
        width: 100%;
        margin-bottom: 5rem;
    }

    .block-decor.decor-featured {
        padding-left: 40%;
        padding-right: 5rem;
    }

    .block-decor .block-decor-image {
        width: calc(30% - 5rem);
        background-size: 250%;
    }

    .block-decor.decor-featured .block-decor-image {
        width: calc(40% - 5rem);
    }

    .homepage-quote-wrap .quote p {
        font-size: 24px;
    }

    .mp-container img {
        height: 64px;
    }

    .content_tile {
        min-width: 32%;
    }
}

@media (max-width: 768px) {
    .two_cols_content {
        flex-direction: column;
    }

    .two_cols_content .tcc_item {
        width: 100%;
        padding: 0 0 3rem 0 !important;
    }

    .two_cols_content .tcc_item:nth-child(2) {
        padding-top: 3rem !important;
    }
}

@media (max-width: 740px) {
    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item {
        width: 100%;
    }
}

@media (max-width: 720px) {
    .container-header .navbar-brand img {
        height: 50px;
    }
}

@media (max-width: 700px) {
    .com-finder.finder #search-form form .form-inline {
        flex-direction: column;
    }
    .com-finder.finder #search-form form .form-inline label {
        margin-bottom: 1rem;
    }
    .com-finder.finder #search-form form .input-group {
        width: 100%;
    }
}

@media (max-width: 679px) {
    h2 {
        font-size: 40px;
    }

    .container-header .navbar-collapse,
    .box-padded, nav.box-padded, div.box-padded,
    .box-padded:not(.empty_content), nav.box-padded:not(.empty_content), div.box-padded:not(.empty_content),
    .full-width .cols-3 {
        /*        padding-left: 2.5rem;
                padding-right: 2.5rem;*/
    }

    .fullwidth,
    .block-decor {
        /*.block-decor.decor-featured {*/
        margin-left: -2.5rem;
        margin-right: -2.5rem;
    }

    .has-sidebar-right .block-decor {
        width: calc(100% + 2.5rem);
    }

    .carousel-control-prev, .carousel-control-next {
        width: 2.5rem;
    }

    .carousel-indicators {
        margin-right: 2.5rem;
        margin-left: 2.5rem;
    }

    .container-header.featured header h2,
    .container-header.featured header h2 * {
        font-size: 40px;
    }

    .container-banner h1, .container-banner h1 * {
        font-size: 50px;
        margin-bottom: 30px;
    }

    .container-banner nav {
        display: none;
    }

    /*.block-decor.decor-featured {*/
    .block-decor {
        padding-left: 30%;
        padding-right: 2.5rem;
    }

    .block-decor:not(.decor-featured) {
        padding-right: 2.5rem;
    }

    .has-sidebar-right .block-decor {
        padding-right: 0;
    }

    .block-decor .block-decor-image {
        width: calc(30% - 2.5rem);
        background-size: 350%;
    }

    .blog-wrapper .blog-items .news-item-content * {
        font-size: 16px;
    }

    .blog-wrapper .blog-items .news-item-content .page-header,
    .blog-wrapper .blog-items .news-item-content .page-header * {
        font-size: 24px;
        line-height: 125%;
    }

    .blog-wrapper .blog-items .news-item-date .news-item-date-month {
        font-size: 40px;
        line-height: 40px;
        height: 40px;
    }

    .blog-wrapper .blog-items .news-item-date .news-item-date-year {
        font-size: 24px;
        line-height: 24px;
        height: 24px;
        margin-top: 0;
    }

    .references_tiles li {
        width: 49%;
    }

    .tag_tiles .tag_list_wrap .tag_item_article:nth-child(even) .tag_item_content,
    .tag_tiles .tag_list_wrap .tag_item_article .tag_item_content {
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}

@media (max-width: 600px) {
    .content_tile {
        min-width: 48%;
    }
}

@media (max-width: 568px) {
    header .page-container {
        flex-direction: column;
        justify-content: flex-start !important;
    }

    .container-header .navbar-toggler {
        position: relative;
        top: 25px;
    }

    .container-header .navbar-brand {
        flex: 1;
    }

    #site-menu {
        padding: 90px 40px 40px 40px;
        background-position: right bottom;
        background-size: auto 100%;
    }

    #site-menu .site_menu_over {
        background-color: rgba(0, 0, 0, 0.9);
    }

    .module-simple.homepage-news .cols .col-item:before {
        padding-top: 100%;
    }
}

@media (max-width: 520px) {
    .container-header {
        background-position: right bottom;
        background-size: auto 100%;
    }

    .homepage-quote-wrap .quote .q_left,
    .homepage-quote-wrap .quote .q_right {
        min-width: 40px;
    }

    .homepage-quote-wrap .quote p {
        padding: 0 1.5rem;
    }

    .container-footer {
        background-size: cover;
    }

    .container-footer .footer_main {
        padding-top: 2.5rem;
        padding-bottom: 2.5rem;
        text-align: center;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .container-footer .footer_contact {
        background-size: auto 30px;
    }

    .container-footer .footer_contact,
    .container-footer .footer_right {
        width: 100%;
    }

    .container-footer.footer_lighter .footer_contact {
        background-size: auto 30px;
        background-position: top center;
    }

    .container-footer.footer_lighter .footer_main p,
    .container-footer.footer_lighter .footer_menu * {
        font-size: 14px;
        text-align: center;
    }

    .container-footer.footer_lighter .footer_menu a {
        margin-bottom: 5px;
    }

    .container-footer .footer_right {
        align-items: center;
        margin-top: 1.5rem;
    }

    .container-footer .footer_social a {
        margin: 0 15px;
    }

    .container-footer .footer_menu {
        padding-bottom: 0;
    }
}

@media (max-width: 480px) {
    h2 {
        font-size: 36px;
    }

    .container-header.featured header h2,
    .container-header.featured header h2 * {
        font-size: 36px;
    }

    .container-banner h1, .container-banner h1 * {
        font-size: 40px;
    }

    .homepage-quote-wrap .quote {
        flex-direction: column;
    }

    .homepage-quote-wrap .quote .q_left,
    .homepage-quote-wrap .quote .q_right {
        background-size: auto;
    }

    .homepage-quote-wrap .quote .q_left {
        margin-bottom: 1.5rem;
    }
    .homepage-quote-wrap .quote .q_right {
        margin-top: 1rem;
    }

    .homepage-quote-wrap .quote p {
        font-size: 22px;
    }

    .homepage-quick-contact {
        padding: 20px 0;
    }

    .homepage-quick-contact .module-simple-body {
        width: 100%;
    }

    .homepage-quick-contact * {
        font-size: 22px;
    }

    .homepage-quick-contact .contact-ico {
        width: 100%;
        flex-direction: column;
        margin: 20px 0;
    }

    .homepage-quick-contact .contact-ico:before {
        margin: 0;
    }

    .blog-wrapper .blog-items .news-item-date .news-item-date-month {
        font-size: 32px;
        line-height: 32px;
        height: 32px;
        width: 100%;
    }

    .blog-wrapper .blog-items .news-item-date .news-item-date-year {
        font-size: 20px;
        line-height: 20px;
        height: 20px;
        margin-top: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        width: 100%;
    }

    .blog-wrapper .blog-items .news-item-wrap {
        flex-direction: column;
    }

    .blog-wrapper .blog-items .news-item-date {
        width: 100%;
    }

    .blog-wrapper .blog-items .news-item-date .news-item-date-year:after {
        content: '';
        height: 2.5px;
        background-color: #DEDEDE;
        display: inline-block;
        flex: 1 0 auto;
        margin-left: 1rem;
    }

    .blog-wrapper .blog-items .news-item-date .news-item-date-line {
        display: none;
    }

    .blog-wrapper .blog-items .news-item-content {
        padding-left: 0;
    }

    .contact_rows .contact_rows_item {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .contact_rows .contact_rows_item .cr_avatar {
        margin: 0;
    }

    .contact_rows .contact_rows_item .cr_info {
        margin-top: 20px;
    }

    .contact_rows .contact_rows_item .cr_info > span {
        display: inline-block;
        text-align: center;
    }

    .tiles {
        flex-direction: column;
    }

    .tiles .tile {
        width: 100%;
    }
}

@media (min-width: 400px) and (max-width: 480px) {
    .tag_tiles .tag_list_wrap .tag_item .tag_item_inner h3 {
        font-size: 38px;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item:hover .tag_item_inner .tag_desc,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item:hover .tag_item_inner .tag_desc {
        margin-bottom: 2rem;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item .tag_item_inner .tag_desc p,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item .tag_item_inner .tag_desc p {
        font-size: 14px;
    }
}

@media (max-width: 440px) {
    .content_tile {
        min-width: 99%;
    }

    .com-finder.finder #search-form form .input-group {
        flex-direction: column;
        align-items: center;
    }

    .com-finder.finder #search-form .awesomplete {
        width: 100%;
        margin-bottom: 1rem;
    }

    .com-finder.finder #search-form form .input-group .btn {
        margin: 0;
    }
}

@media (max-width: 410px) {
    .container-header nav.navbar, .container-banner nav {
        padding-top: 1.5rem;
    }

    .container-banner nav {
        padding-top: 0 !important;
    }

    .container-header nav.navbar, .container-banner nav {
        padding-top: 1.5rem;
    }

    .container-header .navbar-brand {
        display: flex;
    }

    .container-header .navbar-brand img {
        width: 100%;
        height: auto;
    }

    .references_tiles li {
        width: 100%;
        margin: 2% 0;
    }

    .tag_tiles .tag_list_wrap .tag_item .tag_item_inner {
        padding: 25px 30px;
    }

    .tag_tiles .tag_list_wrap .tag_item .tag_item_inner h3 {
        font-size: 38px;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item:hover .tag_item_inner .tag_desc,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item:hover .tag_item_inner .tag_desc {
        margin-bottom: 2rem;
    }

    .tag_tiles .tag_list_wrap.tag-cols-3 .tag_item .tag_item_inner .tag_desc p,
    .tag_tiles .tag_list_wrap.tag-cols-4 .tag_item .tag_item_inner .tag_desc p {
        font-size: 14px;
    }
}

@media (min-width: 410px) {
    body:not(.featured) .block-decor .block-decor-content h3:first-child {
        margin-top: 0 !important;
    }
}