﻿
/* #region GENERAL SETTINGS ============================================================= */

@import url(https://fonts.googleapis.com/css?family=Open+Sans:400,300,400italic,600,600italic,700,700italic,800&subset=latin,latin-ext);
@import url(fonts/fonts.css);

html, body
{
	background: #ebf0f5;
    color: #41464b;
	font-size: 14px;
	font-family: 'Open Sans', sans-serif;
    overflow-x: hidden;
}

*
{
	margin: 0;
	padding: 0;
    border: none;

    -webkit-box-sizing: border-box; /* Safari 3.0 - 5.0, Chrome 1 - 9, Android 2.1 - 3.x */
    -moz-box-sizing: border-box;    /* Firefox 1 - 28 */
    box-sizing: border-box;         /* Safari 5.1+, Chrome 10+, Firefox 29+, Opera 7+, IE 8+, Android 4.0+, iOS any */
}

input, textarea
{
    color: #41464b;
    font-size: 14px;
    font-family: 'Open Sans', sans-serif;
}

::-webkit-input-placeholder { /* Chrome/Opera/Safari */
    opacity: 1;
}
::-moz-placeholder { /* Firefox 19+ */
    opacity: 1;
}
:-ms-input-placeholder { /* IE 10+ */
    opacity: 1;
}
:-moz-placeholder { /* Firefox 18- */
    opacity: 1;
}

a
{
	text-decoration: none;
}

a:hover
{
	text-decoration: none;
}

a, label, input[type=button], input[type=submit]
{
	cursor: pointer;
}

.clear 
{
	width: 100%;
	height: 0px;
	display: block;
	overflow: hidden;
	clear: both;
}

.clear hr
{
	display: none;
}

.floatleft
{
	float: left;
}

.floatright
{
	float: right;
}

.disableTextSelect
{
    -webkit-user-select: none;  
    -moz-user-select: none;    
    -ms-user-select: none;      
    user-select: none;
}

.hidden
{
	display: none;
}

.center
{
    width: 1140px;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width: 1170px)
{
    .center
    {
        width: auto;
        margin: 0 20px;
    }
}

.editLink
{
    width: 100%;
    padding: 10px;
    margin: 0 0 50px 0;
    border-top: 1px dotted #e2001a;
    border-bottom: 1px dotted #e2001a;
    background: rgba(226,0,26,0.1);
    clear: both;
    text-align: center;
}

.editLink a
{
    color: #e2001a;
    font-size: 18px;
    font-weight: bold;
}

.editLink a:hover
{
    text-decoration: underline;
}

/* #endregion */

/* #region MOBILE MENU ICON ============================================================= */

.c-hamburger
{
    display: block;
    position: relative;
    overflow: hidden;
    margin: 0;
    padding: 0;
    width: 35px;
    height: 35px;
    font-size: 0;
    text-indent: -9999px;
    appearance: none;
    box-shadow: none;
    border-radius: none;
    border: none;
    cursor: pointer;
}

.c-hamburger:focus
{
    outline: none;
}

.c-hamburger span {
  display: block;
  position: absolute;
  top: 15px;
  left: 0px;
  right: 0px;
  height: 5px;
  background: white;
}

.c-hamburger span::before,
.c-hamburger span::after {
  position: absolute;
  display: block;
  left: 0;
  width: 100%;
  height: 5px;
  background-color: white;
  content: "";
}

.c-hamburger span::before {
  top: -10px;
}

.c-hamburger span::after {
  bottom: -10px;
}

.c-hamburger--htx {
  background: transparent;
}

.c-hamburger--htx span {
  
}

.c-hamburger--htx span::before,
.c-hamburger--htx span::after {
  transition-duration: 0.3s, 0.3s;
  transition-delay: 0.3s, 0s;
}

.c-hamburger--htx span::before {
  transition-property: top, transform;
}

.c-hamburger--htx span::after {
  transition-property: bottom, transform;
}

/* active state, i.e. menu open */
.c-hamburger--htx.is-active {
  background: transparent;
}

.c-hamburger--htx.is-active span {
  background: none;
}

.c-hamburger--htx.is-active span::before {
  top: 0;
  transform: rotate(45deg);
}

.c-hamburger--htx.is-active span::after {
  bottom: 0;
  transform: rotate(-45deg);
}

.c-hamburger--htx.is-active span::before,
.c-hamburger--htx.is-active span::after {
  transition-delay: 0s, 0.3s;
}

/* #endregion */

/* #region HEADER ======================================================================= */

header
{
    
}

header #mobileMenu
{
    display: none;
}

/*****************************************/

header .top
{
    height: 90px;
    background: #e2001a;
}

header .top a.logo
{
    width: 168px;
    height: 50px;
    position: absolute;
    left: 0px;
    top: 20px;
    display: block;
    background: url(images/header-logo.png) no-repeat 0 0;
    background-size: contain;
}

header .top a.logo strong
{
    display: none;
}

header .top strong.sign
{
    width: 250px;
    height: 60px;
    padding: 10px 0 0 65px;
    position: absolute;
    left: 190px;
    top: 15px;
    display: block;
    background: url(images/header-sign.png) no-repeat 0 0;
    background-size: contain;
    color: white;
    font-size: 14px;
    line-height: 20px;
}

header .top strong.sign small
{
    color: #e6ebf1;
    font-size: 14px;
    font-weight: normal;
}

header .top strong.title
{
    width: 300px;
    height: 50px;
    position: absolute;
    left: 190px;
    top: 20px;
    color: white;
    font-size: 18px;
    line-height: 50px;
}

header .top form
{
    width: 300px;
    height: 40px;
    position: absolute;
    right: 175px;
    top: 25px;
    border-right: 1px solid white;
    border-right: 1px solid rgba(255,255,255,0.5);
}

header .top form input[type=text]
{
    width: 230px;
    height: 40px;
    color: white;
    background: none;
    border: none;
    border-bottom: 1px solid white;
    border-bottom: 1px solid rgba(255,255,255,0.5);
}

header .top form input[type=submit]
{
    width: 20px;
    height: 24px;
    position: absolute;
    right: 30px;
    top: 8px;
    display: block;
    overflow: hidden;
    border: none;
    background: url(images/header-search.png) no-repeat 0 0;
    text-indent: 500px;
}

header .top ul
{
    height: 40px;
    position: absolute;
    right: 0;
    top: 25px;
    display: block;
    list-style: none;
    line-height: 40px;
}

header .top ul li
{
    display: inline-block;
}

header .top ul li a
{
    height: 22px;
    margin: 0 0 0 8px;
    display: inline-block;
    background: url(images/header-socials.png) no-repeat 0 0;
    vertical-align: middle;
}

header .top ul li a span
{
    display: none;
}

header .top ul li a.contact
{
    width: 26px;
    position: relative;
    background: url(images/icon-contact.svg) no-repeat center center;
    background-size: contain;
}
header .top ul li a.contact:after
{
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    background: url(images/icon-contact-hover.svg) no-repeat center center;
    background-size: contain;
    opacity: 0;
}
header .top ul li a.instagram
{
    width: 26px;
    position: relative;
    background: url(images/icon-instagram.svg) no-repeat center center;
    background-size: contain;
}
header .top ul li a.instagram:after
{
    content: " ";
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    display: block;
    background: url(images/icon-instagram-hover.svg) no-repeat center center;
    background-size: contain;
    opacity: 0;
}
header .top ul li a.facebook { width: 12px; background-position: 0 0; }
header .top ul li a.twitter { width: 25px; background-position: -24px 0; }
header .top ul li a.googleplus { width: 22px; background-position: -60px 0; }
header .top ul li a.youtube { width: 18px; background-position: -94px 0; }
header .top ul li a.rss { width: 22px; background-position: -124px 0; }

header .top ul li a.facebook:hover { background-position: 0 bottom; }
header .top ul li a.twitter:hover { background-position: -24px bottom; }
header .top ul li a.googleplus:hover { background-position: -60px bottom; }
header .top ul li a.youtube:hover { background-position: -94px bottom; }
header .top ul li a.rss:hover { background-position: -124px bottom; }
header .top ul li a.contact:hover:after { opacity: 1; }
header .top ul li a.instagram:hover:after { opacity: 1; }

/*****************************************/

header nav
{
    background: white;
}

header nav ul
{
    width: 1140px;
    margin: 0 auto;
    display: block;
    list-style: none;
}

header nav ul li
{
    display: table-cell;
}

header nav ul.main
{
    height: 80px;
    display: table;
}

header nav ul.main li
{
    display: table-cell;
    background: url(images/header-menu-li-border.png) no-repeat right center;
    text-align: center;
    vertical-align: middle;
}

header nav ul.main li:last-of-type
{
    background: none;
}

header nav ul.main li a
{
    height: 44px;
    padding: 0 22px;
    position: relative;
    display: inline-block;
    color: #41464b;
    font-size: 15px;
    line-height: 44px;
    font-weight: bold;
    white-space: nowrap;
}

header nav ul.main li a:hover,
header nav ul.main li.active a
{
    color: white;
    background-color: #e2001a;
}

header nav ul.main li.active a:after
{
	content: " ";
    
	width: 0;
	height: 0;
	position: absolute;
	top: 100%;
	left: 50%;
	border: solid transparent;
	pointer-events: none;
	border-top-color: #e2001a;
	border-width: 10px;
	margin-left: -10px;
}

/*********************/

header nav ul.main li.home
{
    width: 48px;
    background: none;
    text-align: left;
}

header nav ul.main li.home a
{
    width: 22px;
    height: 20px;
    padding: 0;
    overflow: hidden;
    background: url(images/header-menu-home.png) no-repeat 0 0;
    text-indent: 500px;
}

body.mainhp header nav ul.main li.home a
{
    background-position: 0 bottom;
}

header nav ul.main li.home a:hover,
header nav ul.main li.home.active a
{
    background-color: transparent;
}

/*********************/

header nav .subbg
{
    background: rgba(226,0,26,0.1);
}

/*********************/

header nav ul.sub
{
    padding: 18px 0;
}

header nav ul.sub li
{
    padding: 0 20px;
    display: inline-block;
    border-right: 1px solid #cdd2d7;
}

header nav ul.sub li:first-of-type
{
    padding-left: 0;
}

header nav ul.sub li:last-of-type
{
    border-right: none;
}

header nav ul.sub li a
{
    color: #73787d;
    color: #65686a;
    font-size: 14px;
    font-weight: bold;
}

header nav ul.sub li a:hover,
header nav ul.sub li.active a,
header nav ul.sub li.current-menu-item a
{
    color: #e2001a;
}

/*********************/

body.fixedMenu #mainCenter
{
    margin-top: 136px;
}
body.mainhp.fixedMenu #mainCenter,
body.fixedMenu.fixedMenuNoSubmenu #mainCenter
{
    margin-top: 80px;
}

body.mainhp.fixedMenu header nav
{
    
}

body.fixedMenu header nav
{
    width: 100%;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 500;

    -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.25);
    -moz-box-shadow:    0px 2px 5px 0px rgba(0, 0, 0, 0.25);
    box-shadow:         0px 2px 5px 0px rgba(0, 0, 0, 0.25);
}

body.fixedMenu header nav ul.main
{
    height: 50px;
}

body.fixedMenu header nav ul.sub
{
    padding: 10px 0;
}

body.fixedMenu header nav ul.main li.home
{
    width: 101px;
}
body.fixedMenu header nav ul.main li.home a
{
    width: 100px;
    height: 31px;
    position: relative;
    top: 2px;
    background: white url(images/header-menu-home-logo.png) no-repeat 0 0;
    background-size: contain;
}
body.fixedMenu header nav ul.main li a
{
    padding: 0 18px;
}

header #searchBtn
{
    display: none;
}

@media screen and (max-width: 1170px)
{
    header nav ul
    {
        width: 100%;
        padding: 0 20px;
    }

    header nav ul.sub,
    body.fixedMenu header nav ul.sub
    {
        padding-left: 20px;
        padding-right: 20px;
    }

    header nav ul.main li a,
    body.fixedMenu header nav ul.main li a
    {
        padding: 0 10px;
    }

    body.fixedMenu header nav ul.main li a
    {
        font-size: 14px;
    }

    header nav ul.main li.home
    {
        width: auto;
    }
}

@media screen and (max-width: 990px)
{
    header
    {
        width: 100%;
        position: fixed;
        left: 0;
        top: 0;
        z-index: 500;
    }

    header #mobileMenu
    {
        position: absolute;
        right: 0px;
        top: 12px;
        display: block;
    }

    header #searchBtn
    {
        width: 20px;
        height: 24px;
        position: absolute;
        right: 90px;
        top: 17px;
        display: block;

        background: url(images/header-search.png) no-repeat 0 0;
    }

    header .top
    {
        height: 60px;
        position: relative;
        z-index: 500;
    }

    header nav,
    body.fixedMenu header nav
    {
        position: absolute;
        top: -1000px;
        z-index: 400;

        -webkit-transition: top 0.5s ease;
        -moz-transition: top 0.5s ease;
        -o-transition: top 0.5s ease;
        transition: top 0.5s ease;
    }

    
    header .top form
    {
        display: none;
    }

    header .top ul
    {
        top: 8px;
        right: 50px;
    }
    header .top ul li
    {
        display: none;
    }
    header .top ul li.contact
    {
        display: inline-block;
    }

    header .top a.logo
    {
        width: 135px;
        height: 40px;
        top: 10px;
    }

    header .top strong.sign,
    header .top strong.title
    {
        height: 40px;
        left: 146px;
        top: 10px;
    }

    header .top strong.sign
    {
        padding: 0 0 0 40px;
    }

    header .top strong.title
    {
        width: auto;
        line-height: 40px;
        white-space: nowrap;
    }

    body,
    body.fixedMenu #mainCenter,
    body.mainhp.fixedMenu #mainCenter
    {
        margin-top: 60px;
    }

    /* MOBILE SEARCH ******************/

    header .top form.active
    {
        width: 100%;
        height: 100%;
        padding: 40px 0 0 0;
        position: fixed;
        left: 0;
        top: 60px;
        z-index: 400;
        display: block;
        background: rgba(0,0,0,0.8);
        /*background: rgba(255,255,255,0.8);*/
        text-align: center;
    }

    header .top form input[type="text"]
    {
        width: 80%;
        text-align: center;
    }

    header .top form input[type="submit"]
    {
        width: 120px;
        height: 50px;
        padding: 0 0 0 20px;
        margin: 30px auto 0 auto;
        position: static;
        display: block;
        background-position: 10px center;
        background-color: rgba(255,255,255,0.2);
        border: 1px solid rgba(255,255,255,0.5);
        color: white;
        font-weight: bold;
        text-indent: 0;
    }

    /* MOBILE MENU ********************/

    header.withMenu
    {
        height: 100%;
    }

    header.withMenu .top
    {
        position: relative;
        z-index: 500;
    }

    header.withMenu nav,
    body.fixedMenu header.withMenu nav
    {
        width: 100%;
        max-height: 100%;
        padding: 80px 0 0px 0;
        position: absolute;
        left: 0;
        top: 0;
        z-index: 400;
        display: block;
        overflow: auto;
        background: rgba(255,255,255,0.98);
        opacity: 1;

        -webkit-box-shadow: 0px 2px 5px 0px rgba(0, 0, 0, 0.25);
        -moz-box-shadow:    0px 2px 5px 0px rgba(0, 0, 0, 0.25);
        box-shadow:         0px 2px 5px 0px rgba(0, 0, 0, 0.25);
    }

    header nav ul.main,
    body.fixedMenu header nav ul.main
    {
        height: auto;
        padding: 0 0 20px 0;
        display: block;
        text-align: center;
    }

    header nav ul.main li,
    header nav ul.main li.home,
    body.fixedMenu header nav ul.main li.home
    {
        width: auto;
        height: auto;
        padding: 0 5px;
        display: inline-block;
        background: none;
        text-align: center;
    }

    header nav ul.main li a, 
    body.fixedMenu header nav ul.main li a
    {
        font-size: 15px;
        vertical-align: top;
    }

    header nav ul.main li.home a,
    body.fixedMenu header nav ul.main li.home a
    {
        width: auto;
        height: auto;
        padding: 0 10px;
        top: 0;
        display: inline-block;
        background: none;
        text-indent: 0;
    }
    header nav ul.main li.home a:hover,
    header nav ul.main li.home a.active,
    body.fixedMenu header nav ul.main li.home a:hover,
    body.fixedMenu header nav ul.main li.home a.active
    {
        background: #e2001a;
        color: white;
    }

    header nav ul.main li.active a::after
    {
        display: none;
    }

    /* MOBILE SUBMENU *****************/

    header nav .subbg
    {
        height: auto;
    }

    header nav ul.sub,
    body.fixedMenu header nav ul.sub
    {
        padding: 10px 20px 20px 20px;
        text-align: center;
    }

    header nav ul.sub li
    {
        margin-top: 10px;
        display: inline-block;
    }
}

@media screen and (max-width: 500px)
{
    header .top strong.title
    {
        font-size: 14px;
    }
}

@media screen and (max-width: 480px)
{
    header .top strong.sign
    {
        display: none;
    }
}

@media screen and (max-width: 460px)
{
    header .top a.logo
    {
        height: 20px;
    }

    body.mainhp header .top a.logo
    {
        height: 40px;
    }

    header .top strong.title
    {
        left: 0;
        top: 38px;
        font-size: 12px;
        line-height: 12px;
    }
}

/* #endregion */

/* #region CONTENT PANEL ================================================================ */

#mainCenter
{
    padding: 50px 0 50px 0;
}

#content
{
    width: 878px;
    padding: 0 30px 0 0;
    float: left;
}
#content.floatRight
{
    float: right;
}

#content h1
{
    padding: 0 0 40px 0;
    color: #e2001a;
    font-size: 40px;
    line-height: 50px;
    font-weight: bold;
}

@media screen and (max-width: 1170px)
{
    #content
    {
        width: 75%;
    }
}

@media screen and (max-width: 990px)
{
    #mainCenter
    {
        padding: 30px 0 30px 0;
    }

    .mainhp #mainCenter,
    .subhp #mainCenter
    {
        padding-top: 50px;
    }

    #content
    {
        width: 100%;
        padding-right: 0;
    }
}

/* #endregion */

/* #region WIDGET PANELS ================================================================ */

#rightWidgets
{
    width: 262px;
    float: left;
}
#rightWidgets.floatRight
{
    float: right;
}

@media screen and (max-width: 1170px)
{
    #rightWidgets
    {
        width: 25%;
    }
}

/* 3 widgets */
@media screen and (max-width: 990px)
{
    #rightWidgets
    {
        width: 100%;
        margin-top: 30px;
    }

    #rightWidgets .widget
    {
        width: 32%;
        margin-right: 2%;
        float: left;
    }

    #rightWidgets .widget:nth-of-type(3n)
    {
        margin-right: 0;
    }
}

/* 2 widgets */
@media screen and (max-width: 800px)
{
    #rightWidgets .widget,
    #rightWidgets .widget:nth-of-type(3n)
    {
        width: 48%;
        margin-right: 4%;
        float: left;
    }

    #rightWidgets .widget:nth-of-type(2n)
    {
        margin-right: 0;
    }
}

/* 1 widget */
@media screen and (max-width: 560px)
{
    #rightWidgets .widget,
    #rightWidgets .widget:nth-of-type(2n),
    #rightWidgets .widget:nth-of-type(3n)
    {
        width: 100%;
        margin-right: 0;
        float: none;
    }
}

/*****************************************/

#bottomWidgets
{
    padding: 30px 0 0 0;
    background: #e1e6eb;
}

/* 3 widgets */
@media screen and (max-width: 1170px)
{
    #bottomWidgets .widget
    {
        width: 32% !important;
        margin-right: 2% !important;
        float: left !important;
    }

    #bottomWidgets .widget:nth-of-type(3n)
    {
        margin-right: 0 !important;
    }
}

/* 2 widgets */
@media screen and (max-width: 800px)
{
    #bottomWidgets .widget,
    #bottomWidgets .widget:nth-of-type(3n)
    {
        width: 48% !important;
        margin-right: 4% !important;
        float: left !important;
    }

    #bottomWidgets .widget:nth-of-type(2n)
    {
        margin-right: 0 !important;
    }
}

/* 1 widget */
@media screen and (max-width: 560px)
{
    #bottomWidgets .widget,
    #bottomWidgets .widget:nth-of-type(2n),
    #bottomWidgets .widget:nth-of-type(3n)
    {
        width: 100% !important;
        margin-right: 0 !important;
        float: none !important;
    }
}

/* #endregion */

/* #region FOOTER ======================================================================= */

footer
{
    padding: 30px 0;
    background: white;
    color: #afb4b9;
    font-size: 13px;
    line-height: 21px;
}

footer a
{
    color: #afb4b9;
    text-decoration: underline;
}

footer a:hover
{
    text-decoration: none;
}

footer .left,
footer .right
{
    float: left;
}

/*****************************************/

footer .left
{
    width: 60%;
    position: relative;
    padding: 0 0 0 154px;
}

footer .left a.logo
{
    width: 134px;
    height: 40px;
    position: absolute;
    left: 0;
    top: 3px;
    display: block;
    background: url(images/footer-logo.png) no-repeat 0 0;
    text-decoration: none;
}

footer .left a.logo span
{
    display: none;
}

footer .left a.logo:hover
{
    text-decoration: none;
}

/*****************************************/

footer .right
{
    width: 40%;
    text-align: right;
}

@media screen and (max-width: 830px)
{
    footer .left,
    footer .right
    {
        width: 100%;
        float: none;
        text-align: center;
    }

    footer .left
    {
        padding: 0 0 30px 0;
    }

    footer .left a.logo
    {
        position: static;
        margin: 0 auto 20px auto;
    }
}

/* #endregion */