html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin:0;
    padding:0;
    border:0;
    outline:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

body {
    line-height:1;
    font-family: 'HelveticaRegular',Helvetica,Arial;
    font-size: 12px;
    line-height: 18px;
    user-select: none;
}

article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section { 
    display:block;
}

nav ul {
    list-style:none;
}

blockquote, q {
    quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after {
    content:'';
    content:none;
}

a {
    margin:0;
    padding:0;
    font-size:100%;
    vertical-align:baseline;
    background:transparent;
}

/* change colours to suit your needs */
ins {
    background-color:#fff;
    color:#212529;
    text-decoration:none;
}

/* change colours to suit your needs */
mark {
    background-color:#fff;
    color:#212529; 
    font-style:italic;
    font-weight:bold;
}

del {
    text-decoration: line-through;
}

abbr[title], dfn[title] {
    border-bottom:1px dotted;
    cursor:help;
}

table {
    border-collapse:collapse;
    border-spacing:0;
}

/* change border colour to suit your needs */
hr {
    display:block;
    height:1px;
    border:0;   
    border-top:1px solid #cccccc;
    margin:1em 0;
    padding:0;
}

input, select {
    vertical-align:middle;
}

/************* HEADER *************/

.fixedHeader
{
    position: fixed;
    height: 54px;
    background: #fff;
    width: 100%;
    z-index: 5000;
    box-shadow: rgba(0,0,0,.1) 0 2px 5px;
    padding-top: 6px;
}

.fixedHeader .logo img, .fixedHeader .facebookWrapper
{
    display: none;
}

.fixedHeader .mainMenu
{
    top: 10px;
}

.fixedHeader .siteName
{
    width: 203px;
    top: 0px;
    left: -5px;
}

.headerWrapper
{
    height:140px;
}

.mainHeader
{
    height: 140px;
    background-color: #fff;
    padding: 5px 0 0 0;
}

.mainHeaderContainer
{
    position: relative;
    max-width: 1140px;
    min-width: 980px;
    margin: 0 auto;
    height: 100%;
}

.logo
{
    display: inline-block;
    position: relative;
}

.logo img
{
    width: 180px;
    height: 87px;
}

.mainMenu
{
    display: inline-block; 
    position: absolute;
    right: 0;
    top: 100px;
}

.mainMenu a
{
    cursor: pointer;
    color: #212529;
    text-decoration: none;
    text-transform: uppercase;
    text-align: center;
    line-height: 21px;
    transition: color 0.4s ease 0s;
    padding: 0 5px;
    font-size: 12px;
    letter-spacing: 0.2em;
}

.subMenu
{
    display: none;
    position: absolute;
    background-color: #fff;       
    z-index: 5000;
    -webkit-box-shadow: 0px 3px 3px rgba(100, 100, 100, 0.49);
    -moz-box-shadow: 0px 3px 3px rgba(100, 100, 100, 0.49);
     box-shadow: 0px 3px 3px rgba(100, 100, 100, 0.49);
}

.subMenu a
{
    height: 20px;
    display: block;
    padding: 10px 5px 0 5px;
    text-align: left;
}

.mainMenu a:hover
{         
    color: #0094df;
}

.mainMenu a.selected
{
    color: #0094df;
}

.mainMenu li
{
    margin: 0 15px;
    display: inline-block;
}

.facebookWrapper
{
    position: absolute;
    right: 20px;
    top: 5px;
    background-color: #e2e2e2;
    text-align: center;
    cursor: pointer;
    transition: color 0.4s ease 0s;
    padding: 10px 10px 8px 10px;
}

.facebookWrapper:hover
{    
    background-color: #0094df;    
}

.facebookWrapper i
{
    font-size: 20px;
    color: rgba(68,68,68,1);    
}

/**************** END HEADER ******************/

.coverContainer
{
    position: relative;
    height: 300px;
}

.coverContainer.small
{
    height: 220px;
}

.coverContainer .title
{
    position: absolute;
    margin: 0 auto;
    top: 75px;
    color: white;
    font-size: 40px;
    line-height: 80px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    text-align: center;
    left: 0;
    right: 0;
}

.coverContainer .text
{
    position: absolute;
    margin: 0 auto;
    top: 140px;
    color: white;
    font-size: 21px;
    line-height: 80px;
    letter-spacing: 0.2em;
    text-align: center;
    left: 0;
    right: 0;
}

.coverContainer .background
{
    position: absolute;
    overflow: hidden;
    opacity: 0.6;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
}

.mainContainer
{
    position: relative;    
}

.container
{
    max-width: 1140px;
    min-width: 980px;
    margin: 0 auto;
    position: relative;
    padding: 0 5px;
}

.splitHalf
{
    width: 49%;
    display: inline-block;
    vertical-align: top;
    position: relative;
}

.siteName
{
    position: absolute;
    text-align: center;
    vertical-align: middle;
    letter-spacing: 0.2em;
    top: 95px;
    left: -5px;
    width: 200px;
}

.siteName .title
{
    color: #212529;
    font-size: 21px;
    text-transform: uppercase;
}

.siteName .subTitle
{
    color: #212529;    
    font-size: 12px;
}

/********************* SLIDESHOW ********************/
.mainSlideshow
{
    position: relative;
    height: 400px;
    width: 100%;
}

.slideshowText
{
    position: absolute;
    text-align: center;
    left:0;
    right:0;
    margin-left:auto;
    margin-right:auto;
    top: 150px;
    color: white;      
    z-index: 1000;
} 

.slideshowText .title
{
    font-size: 30px;  
    line-height: 30px;   
    margin-bottom: 20px;  
    letter-spacing: 0.2em;  
    text-transform: uppercase;
}

.slideshowText .subTitle
{
    font-size: 16px;
    margin-bottom: 80px;  
    line-height: 35px;
    letter-spacing: 0.2em;
    text-transform: uppercase;
}

.slideshowText a
{
    padding: 15px 20px;
    color: white;
    font-size: 12px;
    font-weight: bold;
    background-color: #212529;
    text-decoration: none;
    transition: color 0.4s ease 0s;
    text-transform: uppercase;
    opacity: 0.7;
}

.slideshowText a:hover
{
    background-color: #0094df; 
    opacity: 1;
}

.slides
{
    overflow: hidden;    
}

.slide
{
    display: none;
    position: absolute;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-position: center center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;    
    opacity: 0.6;
}

.slide.active
{
    z-index: 9;
    display: block;     
}

.Slide.animating
{
    z-index: 10;                              
}

.pager
{
    position: absolute;
    left:0;
    right:0;
    bottom: 20px;
    margin-left:auto;
    margin-right:auto;
    text-align: center;
    z-index: 1000;
}

.pager > a
{               
    width: 8px;
    height: 8px;
    border-color: transparent transparent transparent transparent;
    background-color: #ffffff;
    border-radius: 50%;
    display: inline-block;
    opacity: 0.7;
    margin-right: 15px; 
}

.pager > a.selected
{
   border-color: #0094df;
   background-color: #0094df;
}

.pager > a:hover
{  
   background-color: #0094df;
}

.nav
{
    display: inline-block;
    position: absolute;
    top: 220px;
    cursor: pointer;
    padding: 5px 0px 3px 0px;
    text-align: center;
    z-index: 1000;    
}

.nav i
{
    font-size: 35px;
    color: white;
}

.nav.previous
{     
    left: 10px;              
}

.nav.next
{    
    right: 10px;  
}

.nav:hover i
{
    color: #0094df;
}

/*********************** END SLIDESHOW *************************/

/********************* OVERLAYS ***********************/

.overlay
{
    position: absolute;
    background-color: #39304a;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px; 
}

.overlay.white
{
    background-color:  #fff;
}

.overlay.gray
{
    background-color:  #f7f7f7;
}

.overlay.softBlack
{
    background-color:  #444444;
    opacity: 0.9;
}

/**************************** END OVERLAYS ********************/ 

.mainTitle
{
    text-align: center;
    color: #212529;
    font-size: 21px;
    letter-spacing: 0.2em;
    font-weight: bold;
    padding: 50px 0 20px 0;
    text-transform: uppercase;
    line-height: 25px;    
}

.separator
{
    position: absolute;
    border-bottom:  1px solid #0094df;
    width:120px;
    left: 0;
    right: 0;
    margin-left: auto;
    margin-right: auto;
}

.mainText
{
    color: #212529;
    font-size: 14px;
    line-height: 25px;
    padding-bottom: 70px;
    margin-top: 25px;
}

.mainText p
{
    line-height: 30px;
    margin-top: 20px;
    font-size: 16px;
}

.mainText p:first-child
{
    margin-top: 0px;
}

.mainText .paragraph
{
    margin-top: 40px;
}

.mainText .text
{
    display: inline-block;
    vertical-align: top;
    width: 60%;
}

.mainText .subTitle
{
    font-weight: bold; margin: 10px 0 10px 0;
}

.mainText .textFull
{
    display: inline-block;
    vertical-align: top;
    width: 100%;
}

.mainText .imgContainer
{
    display: inline-block;
    vertical-align: top;
    width: 35%;    
}

.mainText .imgContainer.left
{
    margin-right: 40px;
}

.mainText .imgContainer.right
{
    margin-left: 40px;
}

.mainText .imgContainerFull
{
    display: inline-block;
    vertical-align: top;
    width: 100%;
    padding: 10px;
}

.mainText .imgContainer img, .mainText .imgContainerFull img
{    
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: 300px;    
    max-width: 400px;
}

.mainText .pdf
{      
    text-align: left;
    font-size: 14px;
    color: #212529;
    line-height: 40px;
    vertical-align: top;
    /*display: inline-block;*/
    width: 33%;  
}

.pdf a
{
    font-size: 16px;
    color: #212529;
    text-decoration: none;
}

.pdf a:hover
{
    color: #0094df;
}

/*******************  FOOTER **************************/

.contacts
{
    width: 100%;
    min-height: 256px;
    position: relative;
}

.copyright
{
    height: 56px;
    background-color: #212529;
    width: 100%;
    position: relative;
}

.copyright p
{
    line-height: 51px;
    color: #fff;
    text-align: center;
}

.footerContent
{
    display: inline-block;
    border-right: 1px solid white;
    padding-right: 50px; 
    width: calc(33% - 75px);
    color: white;
    font-size: 12px;    
    line-height: 25px;    
    margin-top: 30px;
    margin-left: 50px;
    vertical-align: top;
    height: 200px;
}

.footerContent:first-child
{
    margin-left: 0;
}

.footerContent:last-child
{
    border: none;
    padding-right: 5px; 
}

.footerContent .title
{
    text-transform: uppercase;
    margin-bottom: 20px;
    font-size: 14px; 
    letter-spacing: 0.2em;  
}

.footerContent a
{
    color: white;
    cursor: pointer;
    text-decoration: none;  
    display: inline;       
}

.footerContent a:hover
{
    color: #0094df;
}

.footerContent p
{
    margin-bottom: 10px;
}

.footerContent p span
{
    margin-left: 42px;
}

.footerContent p:last-child
{
    margin-bottom: 0px;
}

.footerContent i
{
    position: relative;
    color: white;
    margin-right: 20px;
    font-size: 18px;
    top: 3px;
    left: 5px;
}

.oldLogo
{
    width: 100px;
    height: 100px;
    position: absolute;
    right: 0;
    bottom: 0;
}

.gotoTop
{
    position: absolute;
    bottom: 14px;
    right: 0;
    color: white;
    font-size: 20px;
    cursor: pointer;
}

.gotoTop:hover
{
    color: #0094df;
}

/*********************** END FOOTER *************************/

/******************** SERVICES ********************/

.service
{
    display: inline-block;
    width: calc(33% - 20px);
    margin-right: 30px;
    text-align: center;
    position: relative;
    margin-top: 50px;
    background-color: #f7f7f7; 
    vertical-align: top;
    margin-bottom: 70px;
}

.service.transparent
{
    background-color: transparent; 
}

.service:last-child
{
    margin-right: 0px;
}

.service .imgContent
{
    width: 100%;
    height: 100%;
    max-height: 267px;
}

.imgContent img
{
    object-fit: cover;
    width: 100%;
    height: 100%;
    max-height: 267px;
}

.serviceContainer
{
    padding: 20px;
    height: 230px;
}

.serviceContainer .title
{
    font-size: 18px;
    color: #212529;
    text-transform: uppercase;
    padding-bottom: 15px;
    letter-spacing: 0.2em;
}

.serviceContainer .text
{
    padding: 24px 0 0 0;
    font-size: 14px;
    color: #212529;
    line-height: 21px;
}

.serviceContainer a
{
    position: absolute;
    color: #212529;
    cursor: pointer;
    text-decoration: none;    
    text-transform: uppercase;
    bottom: 15px;
    left: 40%;
    display: inline;    
}

.serviceContainer a:hover
{
    color: #0094df;
}

.service .imgDesc
{
    font-size: 14px;
    color: #212529;
    padding-top: 5px;
}

.anchor
{
    color: #212529;
    cursor: pointer;
    text-decoration: none;    
    text-transform: uppercase;  
    display: inline-block;
    margin-top: 10px; 
}

.anchor:hover
{
    color: #0094df;
}
/************** CONTACT ****************/

.contact
{
    display: inline-block;
    width: calc(24% - 30px);
    color: #212529;
    text-align: center;
    line-height: 35px;
    vertical-align: top;
    margin-left: 30px;
}

.contact i
{
    font-size: 45px;
    display: block;
    margin-bottom: 25px;
    color: #0094df; 
}

.contact a
{
    color: #212529;
    text-decoration: none;
    font-size: 14px;        
}

.contact a:hover
{
    color: #0094df;
}

.contact p
{
    font-size: 14px;    
    text-align: center;
}

.googleMap iframe
{
    pointer-events: none;
}

.otherContact
{
    display: inline-block;
    width: calc(24% - 30px);
    color: #212529;    
    line-height: 25px;
    vertical-align: top;
    margin-left: 30px;
}

.otherContact i
{
    font-size: 16px;    
    color: #212529;
    margin-right: 5px; 
}

.otherContact a
{
    color: #212529;
    text-decoration: none;
    font-size: 14px;        
}

.otherContact a:hover
{
    color: #0094df;
}

.otherContact p
{
    font-size: 12px;  
    margin: 0;  
    white-space: nowrap;    
}

.otherContact .title
{
    font-size: 14px; 
    text-transform: uppercase;    
    margin-bottom: 10px;
    letter-spacing: 0.2em;    
}

.formcontainer
{
    font-size: 16px;
    margin: 50px 20% 50px 20%;
}

.formcontainer div
{
    margin-top: 30px;
}

.formcontainer input
{
    width: 100%;
    height: 55px;
    font-size: 14px;
    border: 1px solid rgb(227, 228, 236);
    border-radius: 3px;
    padding: 0 0 0 20px;
    display: block;
}

.formcontainer .rgpd input
{
    width: 15px;
    height: 15px;
    font-size: 12px;
    border: 1px solid rgb(227, 228, 236);
    border-radius: 3px;
    padding: 0 0 0 0;
    display: inline-block;
}

.formcontainer .rgpd input:focus
{
    outline: none;
    box-shadow: none;
}

.formcontainer .rgpd
{
    font-size: 14px;
}

.formcontainer .rgpd a
{
    color: #212529;
    text-decoration: underline;
}

.formcontainer .rgpd a:hover
{
    color: #0094df;        
}

.formcontainer textarea
{
    width: 100%;
    height: 300px;
    font-size: 14px;
    border: 1px solid rgb(227, 228, 236);
    border-radius: 3px;
    padding: 20px 0 0 20px;
    display: block;
}

.formcontainer input:focus, .formcontainer textarea:focus
{
    box-shadow: #0094df 0 0 0 1px;
}

.formcontainer label
{
    color: #212529;
    display: block;
}

.formcontainer .btnSend
{
    display: block;
    margin: 0 auto;
    padding: 0 10px;
    width: 260px;
    height: 55px;    
    font-size: 20px;
    font-weight: 400;
    text-align: center;
    letter-spacing: 0.05em;
    color: white;
    background-color: #0094df;
    border-radius: 3px;
    text-decoration: none;
    line-height: 55px;
    margin-top: 50px;
}

.formcontainer .btnSend:hover
{
    background-color: rgba(0,63,102,1);
}

.formcontainer .error
{
    color: red;
    font-size: 14px;
}

/* /// MEDIA QUERIES /// */

@media only screen and (max-width: 1250px), screen and (max-device-width: 1250px) {
	
}

@media only screen and (max-width: 1200px), screen and (max-device-width: 1200px) {
	
}

@media only screen and (max-width: 1024px), screen and (max-device-width: 1024px) {
}	

@media only screen and (max-width: 980px), screen and (max-device-width: 980px) {
	.logo
    {
        margin-left: 5px;
    }

    .siteName {       
        top: 24px;
        left: 360px;        
    } 
    
    .mainMenu
    {
        left: 0;
        text-align: center;        
    }

    .mainTitle
    {
        font-size: 18px;
        padding-top: 35px;
    }

	.mainHeaderContainer
    {
        width: 100%;
        min-width: initial;
        max-width: initial;
    }

    .container
    {
        width: 100%;
        min-width: initial;
        max-width: initial;
        margin: 0 0 0 0;
        padding: 0 0 0 0;
    }

    .service
    {
        margin-right: 10px;
        margin-left: 5px;
        width: calc(33% - 13px);
    }

    .serviceContainer .text
    {
        font-size: 12px;
    }

    .serviceContainer .title
    {
        font-size: 14px;
    }

    .fixedHeader .siteName
    {
        display: none;
    }

    .mainText
    {
        padding: 5px 0 10px 5px;
    }

    .mainText p
    {
        line-height: 20px;
        font-size: 12px;        
        margin-top: 10px;
    }

    .oldLogo
    {
        display: none;
    }

    .footerContent
    {
        padding-right: 0px;
        margin-left:  18px;
        width: calc(40% - 70px);
    }

    .footerContent:first-child {
        margin-left: 5px;
        width: 30%;
    }

    .slideshowText .title
    {
        font-size: 20px;
    }
    
    .slideshowText .subTitle
    {
        font-size: 14px;
        margin-bottom: 30px;
    }
}

@media only screen and (max-width: 768px), screen and (max-device-width: 768px) { 
    .headerWrapper
    {
        height: 145px;
    }

    .siteName {       
        top: 24px;
        left: 279px;        
    } 

    .serviceContainer 
    {
        height: 344px;
    } 
    
    .footerContent:first-child {
        display: none;
    }

    .footerContent {
        padding-right: 0px;
        margin-left: 5px;
        width: calc(49% - 10px);
    }

    .contact
    {
        width: calc(49% - 30px);
    }

    .contact i
    {
        font-size: 22px;
    }

    .otherContact
    {
        width: 100%;
        margin-bottom: 15px;
        margin-left: 0px;
    }
}

@media only screen and (max-width: 480px), screen and (max-device-width: 480px) {
      
    .siteName { 
        display: none;
    }

    .mainMenu a
    {
        font-size: 10px;
    }
    
    .service:first-child
    {
        margin-top: 15px;        
    }
    
    .service
    {
        margin-top: 0px;
        margin-bottom: 20px;
        margin-right: 5px;
        margin-left: 5px;        
        height: auto;
        width: calc(100% - 10px);
    }

    .serviceContainer 
    {
        height: 170px;
    }

    .footerContent:first-child {
        display: none;
    }

    .footerContent
    {
        display: block;
        width: 100%;
        border-right: none;
        border-bottom: 1px solid white;
    }

    .splitHalf 
    {
        width: 100%;
    }
}

@media only screen and (max-width: 375px), screen and (max-device-width: 375px) {
	
}

@media only screen and (max-width: 320px), screen and (max-device-width: 320px) {
		
}

/* /// END MEDIA QUERIES /// */