:root {
    --main-color-1: #37c49f;
    --main-color-2: #ed422b;
    --main-color-3: #edbe26;
}

/* -------------------------------------------------------------------------------- */  
/* reset */
/* -------------------------------------------------------------------------------- */  
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,font,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:transparent;}body{line-height:1;font-family:sans-serif;}body,select,input,textarea{color:#444;font-family:sans-serif;}textarea{overflow:auto;resize:vertical;}ol,ul{list-style:none;}blockquote,q{quotes:none;}hr{display:none;}blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}:focus{outline:0;}ins{text-decoration:none;}del{text-decoration:line-through;}table{border-collapse:collapse;border-spacing:0;}label,input[type=button],input[type=submit],button{cursor:pointer;}input[type=button]::-moz-focus-inner,input[type=submit]::-moz-focus-inner{border:0;padding:0;}input[type="radio"]{vertical-align:text-bottom;}input[type="checkbox"]{vertical-align:bottom;*vertical-align:baseline;}input,select{vertical-align:middle;}small{font-size:85%;}pre{padding:15px;white-space:pre;white-space:pre-wrap;white-space:pre-line;word-wrap:break-word;}a{text-decoration:none;}article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block;}

/* -------------------------------------------------------------------------------- */
/* class and elements */
/* -------------------------------------------------------------------------------- */
    * {text-rendering: optimizeLegibility; word-wrap:break-word; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }    
    img { vertical-align: middle; }
    hr { border:0; width:100%; height:0; display:block; border-bottom:2px solid #666; margin:2em 0; }
    ::-moz-selection {
        background: var(--main-color-1);
        color: #fff;
        text-shadow: none;
    }
    ::selection {
        background: var(--main-color-1);
        color: #fff;
        text-shadow: none;
    }
     .marginTopCorrect {margin-top:-30px;}
    .align-left {text-align:left;}
    .align-right {text-align:right;}
    .align-center {text-align:center;}
    .pull-left {float:left;}
    .pull-right {float:right;}

    .button {
        text-transform: uppercase;
        font-family: sans-serif;
        font-size: 12px;
        font-weight: bold;
        display: inline-block;
        background: rgba(255, 255, 255, 0.2);
        border: 1px solid rgba(255, 255, 255, 0.8);
        -webkit-transition: 0.5s;
        -moz-transition: 0.5s;
        transition: 0.5s;
        padding: 0 10px;
        line-height: 26px;
        height: 26px;
        overflow: hidden;
    }

    .button:hover {
        background: transparent;
    }

    .button2 {
        text-transform: uppercase;
        font-family: sans-serif;
        font-size: 12px;
        display: inline-block;
        background: var(--main-color-1);
        color: #fff;
        border: 1px solid var(--main-color-1);
        -webkit-transition: 0.5s;
        -moz-transition: 0.5s;
        transition: 0.5s;
        padding: 0 10px;
        line-height: 26px;
        height: 26px;
    }

    .button2:hover {
        background: #000;
        background-image: none;
        color: #fff;
        border: 1px solid #000;
    }

    .arrow-link {background:url(../images/arrow-right.png) left 11px no-repeat; padding:5px 0 10px 20px;}
    .subject-edition .title {font-weight:bold; font-size:13px; margin-top:0;}
    .subject-edition img {max-width:100%;}
    .subject-edition:first-of-type {padding-top:0;}
    .subject-edition {padding-bottom:20px; padding-top:30px; border-bottom:1px solid #666666;}
    .subject-edition:last-child {border:0;}

    .see-all-projects {
        float: right;
    }
    @media screen and (max-width:500px) {
        .see-all-projects {
            text-transform: uppercase;
            font-size: 12px;
            display: inline-block;
            background: var(--main-color-1);
            color: #fff;
            border: 1px solid var(--main-color-1);
            -webkit-transition: 0.5s;
            -moz-transition: 0.5s;
            transition: 0.5s;
            padding: 0 10px;
            line-height: 26px;
            height: 26px;
        }
    
        .see-all-projects:hover {
            background: #000;
            color: #fff;
            border: 1px solid #000;
        }
    }

/* -------------------------------------------------------------------------------- */
/* facebook hover */
/* -------------------------------------------------------------------------------- */
    .fb-hover { height:300px; width:279px; position:fixed; top:50%; right:-250px;  margin-top:45px; transform:translate(0,- 50%); transition:0.3s right; z-index:100}
    .fb-hover.show {right:0;}
    .fb-hover .toggle { opacity:0.9; width:29px; height:154px; background:url(../images/facebook.png) no-repeat; display:inline-block; vertical-align:top; text-indent:-9999px; overflow:hidden; float:left; }
    .fb-hover .toggle:hover { opacity:1; }
    .fb-hover > div { width:250px; float:left; }
    @media screen and (max-width:780px) {
        .fb-hover {display:none;}
    }

/* -------------------------------------------------------------------------------- */
/* askvds hover */
/* -------------------------------------------------------------------------------- */
    .askvds-hover { height:154px; width:29px; position:fixed; top:50%; right:0; margin-top:-125px; transform:translate(0,- 50%); z-index:100}
    .askvds-hover a { opacity:0.9; width:29px; height:154px; background:url(../images/askvds.png) no-repeat; display:inline-block; vertical-align:top; text-indent:-9999px; overflow:hidden; float:left; }
    .askvds-hover a:hover {opacity:1;}

/* -------------------------------------------------------------------------------- */
/* layouts */
/* -------------------------------------------------------------------------------- */
    html, body {height:100%;}
    body {
        overflow-y: visible !important;
        margin: 0 !important;
        word-wrap: break-word;
        font-family: 'Source Sans Pro', serif;
        font-size: 17px;
        color: #112021;
    }

    a {
        color: var(--main-color-1);
        -moz-transition: 0.4s color;
        -webkit-transition: 0.4s color;
        -ms-transition: 0.4s color;
        -o-transition: 0.4s color;
        transition: 0.4s color;
    }

    a:hover {
        color: #80A9B9;
    }
    p {margin-bottom:2em;}

    p.is-style-text-v1 {
        font-size: 1.15em;
        line-height: 1.25em
    }
    p.is-style-text-v2 {
        font-size: 1.25em;
        line-height: 1.25em
    }
    p.is-style-text-v3 {
        font-size: 1.33em;
        line-height: 1.25em
    }
    p.is-style-text-v4 {
        font-size: 1.5em;
        line-height: 1.25em
    }
    p.is-style-text-v5 {
        font-size: 1.75em;
        line-height: 1.25em
    }
    p.is-style-text-v6 {
        font-size: 2em;
        line-height: 1.25em
    }

    .page-bg {
        position:fixed;
        top: -100px;
        left: 0;
        right: 0;
        bottom: -100px;
        display: block;
        z-index: 0;
        background: #e1e1e1;
        background-position: center center;
        background-repeat: no-repeat;
        background-size: cover;
        background-attachment:fixed;
    }

    .page-container {
        -webkit-box-sizing: border-box;
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
        max-width: 1240px;
        margin: 0 auto;
        width: 96%;
    }
    .page-center {
        max-width: 1240px;
        margin: 0 auto;
        width: 90%;
    }

    .page-main {
        max-width: 1240px;
        margin: 0 auto;
        position: relative;
        z-index: 1
    }
    .masonry-grid {left:-6px; margin-right:-14px; position:relative;}
    .gallery .masonry-grid {left:-6px; margin-right:-14px; position:relative;}
    .page-title {margin:60px 0 30px 0; font-size:48px; font-weight:normal;}

    @media screen and (max-width:500px) {
        .page-title {font-size:35px;}
    }
    .get-syllabus {width:100%; text-align:center;}

    .box .subtitle {
        font-size: 26px;
        line-height: 26px;
        min-height: 26px;
        font-weight: bold;
        text-transform: uppercase;
        margin-bottom: 20px;
        position: relative;
    }
    .box .subtitle.small-mg { margin-bottom:5px; }
    .box .subtitle .icon {position:absolute; top:0; left:0; width:26px; height:26px; background:url(../images/icon-pen.png) no-repeat; display:block;}
    .box .subtitle .icon.doc {background:url(../images/icon-doc.png) no-repeat;}
    .box .subtitle .icon.book {background:url(../images/icon-book.png) no-repeat;}
    .box .subtitle .icon.map {background:url(../images/icon-map.png) no-repeat;}
    .box .subtitle .icon.mail {background:url(../images/icon-mail.png) no-repeat;}
    .box .subtitle .icon.adress {background:url(../images/icon-adress.png) no-repeat;}

    .dynamic-content ul.list-type-1 > li:before {display:none;}
    .dynamic-content ul.list-type-1 > li:last-child {border-bottom:0;}
    .dynamic-content ul.list-type-1 > li {background:url(../images/arrow-right.png) left 11px no-repeat; padding:4px 0 4px 20px; margin-bottom:0;}
    .dynamic-content ul.list-type-1 > li:before {display:none;}

    .dynamic-content ul.list-type-2 > li:before {display:none;}
    .dynamic-content ul.list-type-2 > li:last-child {border-bottom:0;}
    .dynamic-content ul.list-type-2 > li {border-bottom:1px solid #1E1E1E; background:url(../images/arrow-right.png) left 11px no-repeat; padding:5px 0 10px 20px;}
    .dynamic-content ul.list-type-2 > li:before {display:none;}

    .dynamic-content ul.inline li {padding-right:10px; margin-bottom:5px; line-height:1.1em; display:inline-block; background:none; margin-right:10px; padding-left:0;}
    .dynamic-content ul.inline li:after { content:''; border-right:1px solid #222; position:absolute; right:0; top:0; height:25px; width:0; }
    .dynamic-content ul.inline li:last-child:after {display:none;}

    ul.list-type-2 > li {border-bottom:1px solid #1E1E1E; padding:0 10px;}
    ul.list-type-2 > li:before {display:none;}
    ul.list-type-2 > li:last-child {border-bottom:0;}
    ul.list-type-2 > li {background:url(../images/arrow-right.png) left 11px no-repeat; padding:5px 0 10px 20px;}
    ul.list-type-2 > li:before {display:none;}    

    .dynamic-content ul.small-mg-both {margin:2px 0;}

/* page head */
    .page-head { position:relative; min-height:110px; z-index:110; margin-bottom:30px;}
    .page-navigation { margin-top:52px; margin-left:240px;}
    .page-navigation > ul { background:url(../images/line-dotted-h.png) bottom repeat-x; height:50px;}
    .page-navigation li { height:51px; display:inline-block; vertical-align:top; position:relative;}
    .page-navigation a:hover,
    .page-navigation strong:hover {
        color: var(--main-color-1);
    }
    .page-navigation li.active {
        border-bottom: 8px solid var(--main-color-1);
    }
    .page-navigation li > a,
    .page-navigation li strong {
        padding: 0 30px;
        font-weight: normal;
        font-size: 20px;
        height: 30px;
        border-right: 1px solid #112021;
        line-height: 30px;
        position: relative;
        color: #112021;
        text-transform: uppercase;
        display: block;
    }
    .page-navigation li:last-child > a,
    .page-navigation li:last-child > strong {
        border: 0;
    }
    .page-navigation li.has-dropdown > a {
        padding-right: 40px;
    }
    .page-navigation li.has-dropdown > a:after {
        position: absolute;
        content: '';
        right: 25px;
        top: 12px;
        border: 5px solid transparent;
        border-top-color: #666;
    }
    .page-navigation li.has-dropdown.show>a:after {
        color: var(--main-color-1);
    }
    .page-navigation li:first-child > a span { padding-left:0; }
    .page-navigation li:last-child > a span { border-right:0; }

    /* submenu */
    .page-navigation ul li ul {
        position: absolute;
        top: 30px;
        left: 0;
        width: 245px;
        background: #fff;
        box-shadow: 0 2px 3px rgba(0, 0, 0, 0.5);
        border-top: 3px solid var(--main-color-1);
        padding: 0 15px;
        visibility: hidden;
        opacity: 0;
        z-index: 2;
        -moz-transition: 0.3s;
        -webkit-transition: 0.3s;
        -ms-transition: 0.3s;
        -o-transition: 0.3s;
        transition: 0.3s;
    }
    .page-navigation ul li ul.show {visibility:visible; opacity:1;}
    .page-navigation ul li ul li { display:block; height:40px; border:0;}
    .page-navigation ul li ul a {
        height: 100%;
        display: block;
        line-height: 40px;
        border: 0;
        border-bottom: 1px solid #272727;
    }
    .page-navigation ul li ul a {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 17px;
    }
    .page-navigation ul li ul li.active {border:0;}
    .page-navigation ul li ul li.active>a {
        color: var(--main-color-1);
    }

    .anim {-webkit-transition: 500ms; -moz-transition: 500ms; -ms-transition: 500ms; -o-transition: 500ms; transition: 500ms;}
    
    
    @media only screen and ( max-width: 890px) {
        .nav-toggle {
            width: 50px;
            height: 50px;
            position: absolute;
            top: 30px;
            right: 0;
            cursor: pointer;
            box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
            background-color: #333;
        }
    
        .nav-toggle span {
            display: block;
            width: 30px;
            height: 4px;
            background: rgba(255, 255, 255, .9);
            margin: 6px auto;
        }
    
        .nav-toggle span:first-child {
            margin-top: 14px;
        }
    
        .nav-toggle:hover span {
            background: rgba(255, 255, 255, 1);
        }

        .page-navigation {
            z-index: 102;
            position: fixed;
            top: 0;
            left: -300px;
            width: 300px;
            height: 100%;
            overflow: auto;
            background: #fff;
            margin: 0;
            box-shadow: 3px 0 3px rgba(0, 0, 0, 0.3);
        }
        .page-navigation li.has-dropdown > a:after { top:22px; }
        .navigation-show .page-navigation {left:0;}
        .page-navigation>ul {
            height: auto;
            background: #fff;
        }
        .page-navigation > ul > li {display: block; border:0; min-height:50px; border-bottom:1px solid #333; height:auto;}
        .page-navigation > ul > li > a {font-weight:bold;}
        .page-navigation > ul ul li:before { width:0; height:0; content:''; position:absolute; left:20px; top:15px; border:4px solid transparent; border-left-color:#666; }

        .page-navigation > ul > li:first-child a span {padding-left:30px;}
        .page-navigation ul li ul {
            background: #fff;
            position: relative;
            visibility: visible;
            opacity: 1;
            width: 100%;
            padding: 0;
            top: 0;
            border-top: 0;
            box-shadow: none;
        }
        .page-navigation ul li ul a {border-left:3px solid #222;}
        .page-navigation li a, .page-navigation li strong {display: block; border:0; line-height: 50px; height:50px;}
        .page-navigation li > a > span, .page-navigation li > strong > span {border:0; height:50px; line-height:50px; padding:0 30px;}
        .page-navigation li.active {border-bottom:0;}
        .page-navigation li.active > a {
            border-right: 3px solid var(--main-color-1);
        }
        .page-navigation li ul {position: relative; top:0; left:0; width:100%; border-top:0; padding:0;}
        .page-navigation li ul li a {padding:0 40px;}
    }
    
/* page logo */
    .page-logo {
        position: absolute;
        top: 30px;
        left: 0;
        width: 180px;
        height: 96px;
        display: block;
    }

    .page-logo a {
        display: block;
        width: 100%;
        height: 100%;
    }

    .page-logo path {
        fill: #122023;
        cursor: pointer;
    }

    .page-logo.filters .letter-a.active {
        fill: var(--main-color-3);
    }
    .page-logo.filters .letter-s.active {
        fill: var(--main-color-2);
    }
    .page-logo.filters .letter-k.active {
        fill: var(--main-color-1);
    }

    .page-logo.filters .tooltip {
        text-indent: 0;
        position: absolute;
        top: 60px;
        left: 0;
        padding: 7px 15px;
        background: #000;
        opacity: 1;
        border: 2px solid #fff;
        color: #fff;
        font-size: 13px;
        font-weight: normal;
        line-height: 16px;
        z-index: 2;
        text-align: center;
        box-shadow: 0 0 4px rgba(0, 0, 0, 0.3);
        display: inline-block;
        white-space: nowrap;
    }

    .page-logo.filters .tooltip span {
        font-weight: bold;
    }

    .page-logo.filters .tooltip:before {
        z-index: 2;
        content: '';
        width: 0;
        height: 0;
        border: 7px solid transparent;
        border: 7px solid rgba(255, 255, 255, 0);
        border-bottom-color: #000;
        position: absolute;
        top: -12px;
        left: 15px;
        -webkit-transform: scaleX(0.7);
        -moz-transform: scaleX(0.7);
        transform: scaleX(0.7);
    }

    .page-logo.filters .tooltip:after {
        z-index: 1;
        content: '';
        width: 0;
        height: 0;
        border: 7px solid transparent;
        border: 7px solid rgba(255, 255, 255, 0);
        border-bottom-color: #fff;
        position: absolute;
        top: -15px;
        left: 15px;
        -webkit-transform: scaleX(0.7);
        -moz-transform: scaleX(0.7);
        transform: scaleX(0.7);
    }

    .page-logo.filters .tooltip.a {
        background: var(--main-color-3);
    }

    .page-logo.filters .tooltip.a:before {
        border-bottom-color: var(--main-color-3);
    }

    .page-logo.filters .tooltip.s {
        background: var(--main-color-2);
    }

    .page-logo.filters .tooltip.s:before {
        border-bottom-color: var(--main-color-2);
    }

    .page-logo.filters .tooltip.k {
        background: var(--main-color-1);
    }

    .page-logo.filters .tooltip.k:before {
        border-bottom-color: var(--main-color-1);
    }

/* breadcrumb */
    .breadcrumbs {position:absolute; top:-40px; left:235px; z-index:101;}
    .breadcrumbs a:last-child {padding-left:8px;}
    .breadcrumbs a {
        position: relative;
        font-size: 13px;
        margin-left: 6px;
        display: inline-block;
        vertical-align: top;
        padding-right: 15px;
        color: #112021;
    }
    .breadcrumbs a::after {
        position: absolute;
        content: '';
        top: 2px;
        right: -2px;
        border: 4px solid transparent;
        border-left-color: #666;
    }
    .breadcrumbs span span {font-size:13px; vertical-align:top; margin-left:6px; }
    .breadcrumbs a:first-child {margin-left:0;}
    @media only screen and ( max-width: 890px) {
        .breadcrumbs {display:none;}
    }

/* projects filters */
    .projects-filters {position:relative; margin-bottom:40px; background:url(../images/line-dotted-h.png) top repeat-x; padding-top:10px;}
    .projects-filters .show-filters {float:right; display: none;}
    .projects-filters form {width:100%; min-height:40px; margin-bottom:10px;}
    .projects-filters .close {display:none;}
    .projects-filters .group-title {display:none;}
    .projects-filters input[type="submit"] {-webkit-appearance: none; border-radius:0; position:absolute; top:10px; right:0; width:70px; height:24px; line-height:24px; text-align:center; font-size:12px; font-weight:bold; border:0; }
    .projects-filters .reset {position:absolute; top:10px; right:80px; width:70px; height:24px; line-height:24px; text-align:center; font-size:12px; font-weight:bold; display:block; padding:0;}
    .projects-filters .title {display:none;}
    .projects-filters .filters-toggle {display:none; height:36px; line-height: 36px;}
    /* category select */
    .category-select {position:absolute; top:10px; left:0; width:150px; min-height:60px; border-right:3px solid #fff; padding-top:10px;}
    .category-select {}
    .category-select > div[class^=category] {margin-right:2px; display:inline-block; vertical-align:top; width:25px; height:25px;}
    .category-select a {display:block; float:left; width:25px; height:25px; position:relative;}
    .category-select a span {position:absolute; left:0; top:0; width:25px; height:25px; background-image:url(../images/filters-icons.png); overflow:hidden; display:block; text-indent:-999px; -webkit-transition:0.5s; -moz-transition:0.5s; transition:0.5s; }
    .category-select a span:last-child {visibility:hidden; opacity:0;}
    .category-select a span:first-child {visibility:visible; opacity:1;}
    .category-select .category-a span:last-child {background-position:-8px -95px; }
    .category-select .category-a span:first-child {background-position:-8px -53px;}
    .category-select .category-s span:last-child {background-position:-59px -7px; }
    .category-select .category-s span:first-child {background-position:-59px -53px;}
    .category-select .category-k {margin-right:0;}
    .category-select .category-k span:last-child {background-position:-109px -7px;}
    .category-select .category-k span:first-child {background-position:-109px -53px;}
    .category-select a.active span:last-child { visibility:visible; opacity:1; }

/* category select */
	.category-select-inp {position:absolute; top:10px; left:0; width:125px; height:25px; border-right:3px solid #fff; padding-top:10px;}
	.category-select-inp {margin-top:0; padding-top:0;}
	.category-select-inp > div[class^=category] {margin-right:2px; display:inline-block; vertical-align:top; width:25px; height:25px;}
	.category-select-inp label,
	.category-select-inp label span { width:25px; height:25px; background-image:url(../images/filters-icons.png); overflow:hidden; visibility:hidden; opacity:0; display:block; text-indent:-999px; -webkit-transition:0.5s; -moz-transition:0.5s; transition:0.5s; }
	.category-select-inp input {position:absolute; opacity:0;}
	.category-select-inp label {visibility:visible; opacity:1; z-index: 10; position: relative;}
	.category-select-inp .category-a input + label {background-position:-8px -53px; cursor:pointer;}
	.category-select-inp .category-a input + label span {background-position:-8px -95px; cursor:pointer;}
	.category-select-inp .category-s input + label {background-position:-57px -53px;  cursor:pointer;}
	.category-select-inp .category-s input + label span {background-position:-57px -7px; cursor:pointer;}
	.category-select-inp .category-k {margin-right:0;}
	.category-select-inp .category-k input + label {background-position:-109px -53px; }
	.category-select-inp .category-k input + label span {background-position:-109px -7px;}
	.category-select-inp input:checked + label span { visibility:visible; opacity:1; }
    
    /* filters list cnt */
    .projects-filters .filters-list {margin:0 160px 0 160px;}
    .projects-filters.livelog-filters .filters-list {margin-right:0;}
    .projects-filters .filters-list > div {width:18%; float:left; margin-right:2%; margin-bottom:3px;}
    /* select container */
    .projects-filters .select-container {width:100%; height:24px;}
    .projects-filters .select-container select {opacity:0;}
    .projects-filters .select-container select:focus {border:0; box-shadow:none; outline:0;}
    .projects-filters .select-container .text {width:100%; background:transparent; background:rgba(0,0,0,0.3); color:#fff; height:24px; line-height:24px; font-size:12px; border:1px solid #747474;}
    .projects-filters .select-container .text.focus {border-color:#fff;}
    .projects-filters .select-container .select-arrow {height:17px; width:25px; background:url(../images/select-arrow.png) center center no-repeat; border-left:1px solid #747474;}
    /* current filters */
    .projects-filters .current-filters {margin:0 85px 0 160px; font-family:sans-serif; position:relative; font-size:12px; min-height:30px;}
    .projects-filters .current-filters > strong {font-weight:bold; font-size:12px; display:inline-block; position:absolute; top:0; left:0;}
    .projects-filters .current-filters .list {margin-left:100px;}
    .projects-filters .current-filters .list li {display:inline-block; margin-bottom:5px; vertical-align:top; background:url(../images/filter-icon.png) no-repeat; padding-left:22px; font-size:12px; line-height:12px; margin-right:20px; min-height:15px;}
    .projects-filters .current-filters .list li strong {font-weight:normal; font-style:italic;}

    @media screen and (max-width:860px) {
        .projects-filters .filters-list {margin:0 80px 0 160px;}
        .projects-filters .filters-list > div {width:48%; margin-right:2%;}
        .projects-filters .current-filters {margin-right:0; margin-left:0;}
        .projects-filters .reset {top:37px; right:0;}
    }
    @media screen and (max-width:520px) {
        .projects-filters .close {position:absolute; right:10px; top:10px; background:url(../images/popup-close.png) no-repeat; cursor:pointer; display:block; text-indent:-9999px; width:36px; height:35px; z-index:120;}
        .projects-filters .filters-toggle {display:block; text-align:center;}
        .projects-filters .group-title {display:block; margin-bottom:10px; font-size:14px;}
        .projects-filters .filters-cnt {position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.8); display:none; z-index:1000;}
        .projects-filters .form-cnt {position:absolute; top:10px; left:10px; right:10px; bottom:10px; background:rgba(0,0,0,0.95); border:1px solid rgba(255,255,255,0.2); z-index:201; padding:20px; overflow:auto; box-shadow:0 0 5px rgba(0,0,0,0.6);}
        .projects-filters .form-cnt .form {position:relative;}
        .projects-filters .title {display:block; clear:both; height:40px; font-size:24px; line-height:26px; min-height:26px; font-weight:normal; position:relative; text-align:center; }
        .projects-filters .category-select {position:relative; top:0; left:0; border:0; width:100%; border-bottom:1px solid #333; padding-bottom:20px; margin-bottom:30px;}
        .projects-filters .filters-list > div {width:100%; margin-bottom:5px;}
        .projects-filters .filters-list > div .select-container,
        .projects-filters .filters-list > div .select-container .text {height:40px; line-height:40px;}
        .projects-filters .filters-list > div .select-container .select-arrow {height:34px; width:35px;}
        .projects-filters .filters-list {margin:0 0 20px 0;}
        .projects-filters input[type="submit"] {
            -webkit-appearance: none;
            border-radius: 0;
            position: relative;
            top: 0;
            left: 0;
            display: inline-block;
            vertical-align: top;
            border: 1px solid var(--main-color-1);
            height: 36px;
            width: 100px;
            line-height: 36px;
        }
        .projects-filters .reset {position:relative; top:0; left:0; display:inline-block; vertical-align:top; height:36px; width:100px; line-height: 36px;}
        .projects-filters .current-filters > strong {position:relative; clear:both; display:block; margin:10px 0;}
        .projects-filters .current-filters .list {margin-left:0; margin-bottom:20px;}
        .category-select-inp {width:250px; border-right:0; position: relative; height:auto; padding-bottom:30px;}
        body.projects-filters-visible {overflow:hidden !important;}
        body.projects-filters-visible .page-main {z-index: 1000;}
        body.projects-filters-visible .filters-cnt {display:block;}
    }

/* contact */
    .contact-data {margin-bottom:14px;}
    .contact-map {height:775px; }
    .contact-google-map {height:775px;}
    .require-info { margin:0 0 30px 0; }

/* person preview */
    .person-preview .person-contact-data {margin:10px 0;}
    .person-preview .person-contact-data .email {margin:10px 0; display:inline-block;}
    .person-preview .person-photo {max-width:100%;}
    .person-preview .dynamic-content h2:first-child,
    .person-preview .dynamic-content h3:first-child,
    .person-preview .dynamic-content h4:first-child,
    .person-preview .dynamic-content h5:first-child,
    .person-preview .dynamic-content h6:first-child {margin-top:0;}

/* livelog filters */
    .livelog-filters .category-select {border:0;}
    .livelog-filters input[type="submit"] {top:30px; -webkit-appearance: none;}
    /* filters list cnt */
    .livelog-filters .filters-list {float:right; margin-top:20px; margin-bottom:0; width:150px;}
    .livelog-filters .filters-list > div {width:100%;}

    @media screen and (max-width:520px) {
        .livelog-filters .category-select {border-bottom:1px solid #333;}
        .projects-filters .filters-list {float:none; width:100%;}
    }

/* tooltip filters */
    .tooltip-category {text-indent:0; position:absolute; top:45px; left:0; padding:7px 15px; background: #000; opacity:1; border:2px solid #fff;  color: #fff; font-size:13px; font-weight:normal; line-height:16px; z-index:2; text-align:center; box-shadow:0 0 4px rgba(0,0,0,0.3); display:inline-block; white-space:nowrap;}
    .tooltip-category span { font-weight:bold; }
    .tooltip-category:before {z-index: 2; content:''; width:0; height:0; border:7px solid transparent; border:7px solid rgba(255,255,255,0); border-bottom-color:#000; position:absolute; top:-12px; left:15px; -webkit-transform:scaleX(0.7); -moz-transform:scaleX(0.7); transform:scaleX(0.7);}
    .tooltip-category:after {z-index: 1; content:''; width:0; height:0; border:7px solid transparent; border:7px solid rgba(255,255,255,0); border-bottom-color:#fff; position:absolute; top:-15px; left:15px; -webkit-transform:scaleX(0.7); -moz-transform:scaleX(0.7); transform:scaleX(0.7);}
    .tooltip-category.a {background: #F99D1C;}
    .tooltip-category.a:before {border-bottom-color: #F99D1C;}
    .tooltip-category.s {background: #B8292F;}
    .tooltip-category.s:before {border-bottom-color: #B8292F;}
    .tooltip-category.k {background: #86CEEA;}
    .tooltip-category.k:before {border-bottom-color: #86CEEA;}

/* livelog, single project, subject preview */
    .content-preview .google-map {height:200px; margin-bottom:15px;}
    .content-preview .main-photo {margin-bottom:14px; max-height:440px;}
    .content-preview .main-photo a {display:block;}
    .content-preview .main-photo img {max-width:100%; height:auto; max-height:440px;}
    .content-preview .content-description.auto {max-height:9999999px;}
    .content-preview .content-description > div {height:100%;}
    .content-preview .content-description .scroll {
        max-height: 355px;
        padding-right: 20px;
    }
    .content-preview .gallery {width:100%;}
    .content-preview .content-aside .module {margin-bottom:14px;}
    .content-preview .content-aside .module img {margin-bottom:14px;}

/* main slider */
    .main-slider .slides {margin-bottom:0; background:rgba(0,0,0,0.2); max-height:485px;}
    .main-slider .slides p:last-of-type { margin-bottom:0; }
    .main-slider .link { position:absolute; left:0; top:0; width:100%; height:100%; z-index:2;}
    .main-slider .slides img { display:block; max-width:100%; max-height:485px; height:auto; position:relative; z-index:1;}
    .main-slider .slick-prev { background:url(../images/prev-next.png) no-repeat !important; width:10px; height:20px;margin-top:-10px; }
    .main-slider .slick-prev:before {display:none;}
    .main-slider .slick-next { background:url(../images/prev-next.png) right no-repeat !important; width:10px; height:20px; margin-top:-10px; }
    .main-slider .slick-next:before {display:none;}
    .main-slider {margin-bottom:0 !important;}
    @media screen and (max-width:1080px) {
        .main-slider .slick-prev { left:20px; }
        .main-slider .slick-next { right:20px; }
    }


/* element */
    .main-grid {margin-top:60px;}
    .main-slider + .main-grid {margin-top:15px;}
    .masonry-grid.loading .element {opacity:0.3 !important; cursor:default !important;}
    .masonry-grid.loading .element .info { transform:translate(0,0); -webkit-transform:translateY(0,0); -moz-transform:translateY(0,0); }
    .masonry-grid.loading .element .bar { top:-10px; }
    .masonry-grid .loading {position:absolute; top:50px; left:0; width:100%; height:100px; overflow:hidden; display:block;}

    .element {
        font-family: sans-serif;
        width: 150px;
        height: 150px;
        float: left;
        display: block;
        overflow: hidden;
        position: relative;
        opacity: 1;
        margin-bottom: 16px;
        -webkit-transition: 0.5s opacity;
        -moz-transition: 0.5s opacity;
        transition: 0.5s opacity;
    }
    .element .cnt::before {
        position: absolute;
        z-index: 2;
        content: '';
        width: 100%;
        height: 100%;
        background: var(--main-color-3);
        mix-blend-mode: multiply;
        opacity: 1;
        -webkit-transition: 0.5s opacity;
        -moz-transition: 0.5s opacity;
        transition: 0.5s opacity;
    }
    .element.class-s .cnt::before {
        background: var(--main-color-2);
    }
    .element.class-k .cnt::before {
        background: var(--main-color-1);
    }
    .element:hover .cnt::before {
        opacity: 0;
    }
    .element .article-image {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        filter: grayscale(100%);
        -webkit-filter: grayscale(100%);
        -webkit-transition: 0.5s opacity, 0.5s filter;
        -moz-transition: 0.5s opacity, 0.5s filter;
        transition: 0.5s opacity, 0.5s filter;
    }
    .element:hover .article-image,
    .element:focus .article-image {
        filter: none;
        -webkit-filter: none;
    }
    .element.g-vertical .article-image {width:100%; height:auto;}
    .element.g-horizontal .article-image {height:100%; width:auto;}
    .element .info {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        color: #fff;
        -webkit-transition: 0.4s;
        -moz-transition: 0.4s;
        transition: 0.4s;
        opacity: 1;
        font-size: 12px;
        z-index: 3;
        line-height: 1.5em;
    }
    .element .info::before {
        position: absolute;
        z-index: 1;
        content: '';
        width: 100%;
        height: 100%;
        opacity: 0;
        background: var(--main-color-3);
        -webkit-transition: 0.5s opacity;
        -moz-transition: 0.5s opacity;
        transition: 0.5s opacity;
    }
    .element.class-s .info::before {
        background: var(--main-color-2);
    }
    .element.class-k .info::before {
        background: var(--main-color-1);
    }
    .element:hover .info::before,
    .element:focus .info::before {
        opacity: 1;
    }
    .element .info > div {
        position: relative;
        z-index: 2;
        padding: 20px;
        overflow: hidden;
        max-height: 150px
    }
    .element .info > div > div {overflow:hidden; height:100%; max-height:115px;}
    .element .title {
        font-size: 20px;
        line-height: 1.2em;
        max-height: 2.4em;
        overflow: hidden;
        display: block;
        font-weight: normal;
    }
    .element > a {display:block; width:100%; height:100%;}
    .element span { display:block; overflow:hidden; line-height:1.3em;}
    .element .bar { position:absolute; top:-10px; left:0; height:7px; width:100%; z-index:2; -webkit-transition: 0.4s; -moz-transition: 0.4s; transition: 0.4s;}
    .element:hover .bar, .element:focus .bar {top:0;}
    .element:hover .article-image {opacity:1;}
    .element .film-play-icon {width:100%; height:100%; position:absolute; left:0; top:0; z-index:2;}
    .element .film-play-icon:after {content:''; width:80px; height:80px; background:url(../images/play-icon.png) center top no-repeat; position:absolute; left:50%; top:50%; margin:-40px -40px; z-index:2;}
    .element .cnt {position:relative; top:0; left:0; width:100%; height:100%;}
    .element:hover .film-play-icon:after {background:url(../images/play-icon.png) center bottom no-repeat;}

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

/* width 2 height 2 */
    .element.item-w2 { width: 316px;}
    .element.item-h2 { height: 316px; }
    .element.item-w2 .info > div,
    .element.item-h2 .info > div {padding:30px; max-height:316px;}
    .element.item-w2 .info > div > div,
    .element.item-h2 .info > div > div {overflow:hidden; height:100%; max-height:274px;}
    .element.item-w2 .title,
    .element.item-h2 .title {font-size:32px;}
    /* width 3 height 3 */
    .element.item-w3 { width: 482px; }
    .element.item-h3 { height: 482px; }
    .element.item-w3 .info > div,
    .element.item-h3 .info > div {padding:30px; max-height:482px; font-size:16px;}
    .element.item-w3 .info > div > div,
    .element.item-h3 .info > div > div {overflow:hidden; height:100%; max-height:430px;}
    .element.item-w3 .title,
    .element.item-h3 .title {font-size:37px;}
    /* width 4 height 4 */
    .element.item-w4 { width: 654px; }
    .element.item-h4 { height: 654px; }
    .element.item-w4 .info > div,
    .element.item-h4 .info > div {padding:45px; max-height:654px; font-size:18px;}
    .element.item-w4 .info > div > div,
    .element.item-h4 .info > div > div {overflow:hidden; height:100%; max-height:583px;}
    .element.item-w4 .title,
    .element.item-h4 .title {font-size:64px;}
    /* element text */
    .element.text .info { -webkit-transform:translateY(0); -moz-transform:translateY(0); transform:translateY(0); height:100%; }
    /* element with image and video */
    .element.graphic .info,
    .element.graphic .bar { display:none; }
    .element.graphic a {display:block;}
    .element.graphic img {width:100%; height:100%;}
    
    
    .element {margin:0 7px 14px;}
    .element .element-bar { position:absolute; top:10px; right:15px; text-align:right; z-index:10;}
    .element .element-bar .open-in-new-window { display:inline-block; padding:8px 10px; background:#000; color:#fff; opacity:0.5; font-size:10px; text-align:left; text-transform:uppercase; z-index:5; -moz-transition:0.3s opacity; -webkit-transition:0.3s opacity; transition:0.3s opacity; background:url(../images/new-window.png) center center no-repeat; width:32px; height:32px; text-indent:-9999px; }
    .element .element-bar .open-in-new-window:hover { opacity:0.9; }

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

/* show more */
    .show-more {
        font-size: 16px;
        overflow: hidden;
        width: 260px;
        height: 50px;
        display: block;
        line-height: 50px;
        text-align: center;
        margin: 20px auto;
        position: relative;
    }

/* 404 */
    .error-404 { margin:60px auto; max-width:498px; }
    .error-404 .image-404 { width:100%; }
    .error-404 strong { display:block; overflow:hidden; text-indent:-9999px; background:url(../images/404.png) center top no-repeat; background-size:100% 100%; height:0; width:95%; margin:0 auto; padding-bottom:48.995%; }
    .error-404 h2 {
        font-size: 48px;
        text-align: center;
        margin-bottom: 10px;
    }

    .error-404 div {
        font-size: 24px;
        text-align: center;
        margin-bottom: 60px;
    }

    .error-404 .button {
        font-size: 16px;
        overflow: hidden;
        width: 260px;
        height: 50px;
        display: block;
        line-height: 50px;
        text-align: center;
        margin: 20px auto;
        position: relative;
    }
    .error-404 .button:hover {background:transparent; color:#fff;}


/* table list */
    .table-wrapper {max-width:100%; overflow:auto; -webkit-overflow-scrolling:touch;}
    .table-list {
        width: 100%;
        border: 1px solid #ccc;
    }
    .table-list td, .table-list th { padding:15px; text-align:left; }
    .table-list th {
        font-size: 16px;
    }
    .table-list th,
    .table-list td {
        border-right: 1px solid #ccc;
        border-bottom: 1px solid #ccc;
    }
    .table-list th:last-child, .table-list td:last-child { border-right:0; }
    .table-list tr:last-child td { border-bottom:0; }
    .table-list thead th {
        border-right: 1px solid #ccc;
    }
    .table-list td.first-row-of-sem {
        border-top-width: 1px;
    }

    .table-list tbody th {
        border-top-width: 1px;
    }

    .table-list .even td.first-row-of-sem {
        border-top: 1px solid #ccc;
    }

    .table-list tbody .even th {
        border-top: 1px solid #ccc;
    }
    .table-list .subject-code {
        font-size: 14px;
        color: #999;
        font-weight: bold;
        padding: 0 10px 0;
    }
    .table-program td {font-size:17px;}

    @media screen and (max-width:600px) {
        .table-list .subject-code {display:block; padding:0; font-size:12px;}
    }

    .wp-block-table thead,
    .wp-block-table th,
    .wp-block-table td,
    .wp-block-table tfoot {
        border-color: #ccc;
    }

/* popup */
    .popup {position:fixed; top:0; left:0; z-index:100; width:100%; height:100%; text-align:center;}
    .popup:after { content: ''; display: inline-block; height: 100%; vertical-align: middle; margin-right: -0.25em; }
    .popup .bg {background:rgba(0,0,0,0.5); top:0; left:0; width:100%; height:100%; z-index:1; position:absolute;}
    .popup .popup-container {text-align:center; z-index:2; vertical-align:middle; display:inline-block; width:500px; margin:30px; background:#000; color:#fff; font-size:12px; line-height:1.5em; box-shadow:0 2px 5px rgba(0,0,0,0.3); padding:30px; max-width:90%; position: relative; cursor: default; }
    .popup .popup-subtitle {
        font-size: 24px;
        line-height: 26px;
        min-height: 26px;
        font-weight: normal;
        position: relative;
        text-align: center;
        margin: 0 0 30px 0;
    }
    .popup .popup-info { width:600px; height:300px; }
    .popup .popup-close.button2 { width:150px; height:26px; line-height:26px; text-align:center; display:block; margin:30px auto; }

/* table type 2 */
    .list-vertical {width:100%;}
    .list-vertical th,
    .list-vertical td {
        padding: 10px;
        font-size: 13px;
        border-bottom: 1px solid #ccc;
    }
    .list-vertical th:first-child, .list-vertical td:first-child {padding-left:0;}
    .list-vertical th:last-child, .list-vertical td:last-child {padding-right:0;}
    .list-vertical th {font-weight:bold;  text-align:left;}
    .list-vertical tr:last-child td, .list-vertical tr:last-child th {border:0;}

/* page footer */
    .page-footer {
        position: relative;
        font-family: sans-serif;
        padding: 30px;
        background: #122023;
        margin-top: 20px;
        overflow: hidden;
        color: #fff;
        font-size: 14px;
        line-height: 1.5em;
    }
    .page-footer a {
        color: #dddddd;
    }

    @media screen and (max-width:500px) {
        .page-container {padding:0;}
        .page-footer {position:relative;}
        .page-footer .realization {text-align:center; float:none;}
    }
    .page-footer .cookies-text {
        color: #dddddd;
        padding-bottom: 20px;
        border-bottom: 1px solid #727272;
    }

    .page-footer .cookies-text .close-cookie-bar {
        display: inline-block;
        background: var(--main-color-1);
        padding: 5px 10px;
        color: #fff;
    }

    .page-footer .cookies-text .cookie-bar-close-cnt {
        text-align: right;
        margin: 10px 0;
    }

    .page-footer .footer--content {
        margin-top: 20px;
    }
    
    .page-footer .footer--info {
        text-align: center;
    }
    .page-footer .footer--logos {
        text-align: center;
    }
    .page-footer .footer--logos .logo {
        padding: 2rem 0;
    }
    .page-footer .footer--logos .logo a,
    .page-footer .footer--logos .logo img {
        margin: auto;
    }

    .page-footer img {
        width: 100%;
        max-width: 100%;
        vertical-align: middle;
        max-width: 300px;
        max-height: 100px;
        display: inline-block;
    }

    @media only screen and ( min-width: 890px) {
        .page-footer .footer--content {
            display: flex;
        }
        .page-footer .footer--info {
            flex-basis: 30%;
            text-align: left;
        }
        .page-footer .footer--logos {
            display: flex;
            flex-basis: 70%;
        }
        .page-footer .footer--logos .logo {
            display: flex;
            padding: 0 2rem;
        }
        .page-footer .footer--logos .logo:first-child {
            width: 24%;
        }
        .page-footer .footer--logos .logo:first-child + .logo {
            width: 42%;
        }
        .page-footer .footer--logos .logo:last-child {
            width: 32%;
            padding-right: calc(2rem + 2%);
        }
    }

    .page-footer .under-logos-text {
        font-size: 11px;
        text-align: center;
        color: #888;
        margin: 15px 0 0;
    }

    .box {
        width: 100%;
        font-size: 16px;
        line-height: 1.5em;
        margin-bottom: 14px;
    }

    .box > div {
        padding: 20px;
        background: #fff;
    }

/* -------------------------------------------------------------------------------- */
/* column size */
/* -------------------------------------------------------------------------------- */
    .column-3 { -webkit-column-count: 3; -moz-column-count: 3; column-count: 3; }

/* -------------------------------------------------------------------------------- */
/* dynamic content */ 
/* -------------------------------------------------------------------------------- */
    .dynamic-content {font-size:15px;}
    .dynamic-content p {margin-bottom:1em;}
    .dynamic-content p:first-of-type {margin-top:0;}
    .dynamic-content p:last-of-type {margin-bottom:0;}
    .dynamic-content img {max-width:100%; height:auto;}
    .dynamic-content img.left {float:left; margin:0 20px 20px 0;}
    .dynamic-content img.right {float:right; margin:0 0 20px 20px;}
    .dynamic-content h1,
    .dynamic-content h2,
    .dynamic-content h3,
    .dynamic-content h4,
    .dynamic-content h5,
    .dynamic-content h6 {
        clear: both;
        font-weight: bold;
        margin: 20px 0 20px 0;
        font-size: 160%;
        line-height: 1.25em;
    }
    .dynamic-content h1 {
        font-size: 35px;
    }

    .dynamic-content h2 {
        font-size: 33px;
    }

    .dynamic-content h3 {
        font-size: 30px;
    }

    .dynamic-content h4 {
        font-size: 27px;
    }

    .dynamic-content h5 {
        font-size: 25px;
    }

    .dynamic-content h6 {
        font-size: 22px;
    }
    .dynamic-content h1:first-child,
    .dynamic-content h2:first-child,
    .dynamic-content h3:first-child,
    .dynamic-content h4:first-child,
    .dynamic-content h5:first-child,
    .dynamic-content h6:first-child {
        margin-top:0;
    }
    /* list ul */
    .dynamic-content ul {margin:20px 0; padding:0; list-style-type:none;}
    .dynamic-content ul > li {padding-left:30px; margin-bottom:7px; min-height:15px; position:relative;}
    .dynamic-content ul > li:before {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        display: inline-block;
        position: absolute;
        background: var(--main-color-1);
        content: '';
        left: 5px;
        top: 7px;
    }

    .dynamic-content ul > li li:before {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        display: inline-block;
        position: absolute;
        background: var(--main-color-1);
        content: '';
        left: 5px;
        top: 7px;
    }
    /* list ol */
    .dynamic-content ol {margin:20px 0; counter-reset:listCounter; padding:0; list-style-type:none;}
    .dynamic-content ol > li {margin-bottom:3px; counter-increment:listCounter; padding-left:30px; position:relative;}
    .dynamic-content ol > li:before {
        position: absolute;
        left: 5px;
        top: 0;
        font-weight: bold;
        content: counter(listCounter) ". ";
        color: var(--main-color-1);
        display: inline-block;
    }
    .dynamic-content ol > li > ol {margin-left:30px;}
    .dynamic-content ol > li > ol > li:before {content:counter(listCounter, lower-alpha) ". ";}

/* scroll box */
    .scroll .jspVerticalBar {width:16px;}
    .scroll .jspTrack {background:rgba(255,255,255,0.5); width:7px;}
    .scroll .jspDrag {background:#fff; width:7px; height:200px;}
    .scroll .jspCorner {background:transparent;}

    /*--------------------------------------------------------------------------------
    custom scroll
    --------------------------------------------------------------------------------*/
    .jspContainer {overflow:hidden; position:relative;}
    .jspPane {position:absolute;}
    .jspVerticalBar {position:absolute; top:0; right:0; height:100%;}
    .jspHorizontalBar {position:absolute; bottom:0; left:0; width:100%;}
    .jspVerticalBar *, .jspHorizontalBar * {margin:0; padding:0;}
    .jspCap {display:none;}
    .jspHorizontalBar .jspCap{float:left;}
    .jspTrack {position:relative;}
    .jspDrag {position:relative; top:0; left:0; cursor:pointer;}
    .jspHorizontalBar .jspTrack, .jspHorizontalBar .jspDrag {float:left; height:100%;}
    .jspArrow {text-indent:-20000px; display:block; cursor:pointer;}
    .jspArrow.jspDisabled {cursor:default;}
    .jspHorizontalBar .jspArrow {float:left;  height:100%;}
    .jspVerticalBar .jspArrow:focus {outline:none;}
    .jspCorner {float:left;  height:100%;}
    * html .jspCorner {margin:0 -3px 0 0;}

/* -------------------------------------------------------------------------------- */
/* helper classes */
/* -------------------------------------------------------------------------------- */
    .ir {font: 0/0 a !important; text-shadow: none !important; color: transparent !important; border:0 !important; background-color:transparent !important; display:block; background-repeat:no-repeat;}
    .ir br {display: none;}
    .hidden {display: none !important; visibility: hidden;}
    .visuallyhidden {border: 0; clip: rect(0 0 0 0); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;}
    .visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {clip: auto; height: auto; margin: 0; overflow: visible; position: static; width: auto;}
    .invisible {visibility: hidden;}
    .clearfix:before, .clearfix:after {content: ""; display: table;}
    .clearfix:after {clear: both;}
    .clearfix {zoom: 1;}

/* -------------------------------------------------------------------------------- */
/* print styles */
/* -------------------------------------------------------------------------------- */
    @media print {
        * {background: transparent !important; color: black !important; text-shadow: none !important; filter:none !important; -ms-filter: none !important;}
        a, a:visited {text-decoration: underline;}
        a[href]:after {content: " (" attr(href) ")";}
        abbr[title]:after {content: " (" attr(title) ")";}
        .ir a:after, a[href^="javascript:"]:after, a[href^="#"]:after {content: "";}
        pre, blockquote {border: 1px solid #999; page-break-inside: avoid;}
        thead {display: table-header-group;}
        tr, img {page-break-inside: avoid;}
        img {max-width: 100% !important;}
        @page {margin: 0.5cm;}
        p, h2, h3 {orphans: 3; widows: 3;}
        h2, h3 {page-break-after: avoid;}
   }