/* CSS RESET */

body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { margin:0; padding:0; }
html,body { margin:0; padding:0; }
table { border-collapse:collapse; border-spacing:0; }
fieldset,img { border:0; }
ol,ul { list-style:none; }
h1,h2,h3,h4,h5,h6 { font-size:100%; font-weight:normal; }



/* ================

   	  MAIN RULES

   ================ */

body { background-color:#131313; color:#FFF; font-family: 'Source Sans Pro', sans-serif !important; position: fixed; width:100%; height:100%; }
a { color:inherit; text-decoration: none; }
.sprite { background-image: url(../IMG/sprite.png); }
.main-container { width:1200px; margin:0 auto; }
*{font-family: 'Source Sans Pro', sans-serif !important;}

/* ================

   	  	HEADER

   ================ */

header { margin:10px 0; height:93px; position:relative; }
header:after { display: block; content: ''; clear: both; }

/*  LOGO  */

.logo { width:167px; height:93px; display:block; background-image:url(../IMG/logo.png); background-size:contain; background-repeat:no-repeat; z-index:50; float:left; }
.logo a { display:block; text-indent:-2000em; height:93px; }

/*  LANGUAGES  */

.languages { position:absolute; right:0; top:0; color:#a29fa0; font-size:14px; }
.languages .active, .languages a:hover { color:#FFF; }

/*  NAV - MENU  */
nav { float: left; }
nav ul { margin-top:72px; margin-left:55px; }
nav ul li { display: inline-block; margin:0 15px; color:#a29fa0; font-size:100%;  }
nav ul li a { font-weight: 700;text-transform:uppercase}
nav ul li a:hover, nav ul .active { color:#484848; }

/*  SUBNAV - LINKS  */
#sub-nav { float: right; margin-top: 55px; }
#sub-nav .sub-link { display: inline-block; margin-left: 20px; cursor: pointer; }
#sub-nav span { display: inline-block; height:33px; }
#sub-nav .pin { width:26px; background-position: -5px -4px; }
#sub-nav .chat { width:34px; background-position: -84px -5px; }
#sub-nav a { font-weight: 700; color:#a29fa0;text-transform:uppercase}
#sub-nav .sub-link:hover a { color:#FFF;  }
#sub-nav .sub-link:hover .pin { background-position: -42px -4px; }
#sub-nav .sub-link:hover .chat { background-position: -127px -5px; }


/*
/   BANNER - CAPTIONS
*/

#banner-container { width:100%; background-color:#FFF; }
#banner-container .main-container { position:relative; }
#banner-container .caption { padding:25px 50px;background-color:rgba(0,0,0,0.5); position:absolute; left:0; z-index:99;  }
#banner-container .caption .scroll-pane *{font-size:14px!important}
#banner-container .caption h2 { font-size:50px; font-weight:700; }
#banner-container .caption p { margin-top:10px; line-height:22px; letter-spacing:0.5px }

#home-caption { width:400px; top:75px; }
#home-caption p { max-height:200px; overflow:hidden; }

#about-caption { width:600px; top:50px; height:270px; }
#about-caption h2, #services-caption h2, #portfolio-caption h2 { font-size:30px !important; }
#about-caption .scroll-pane, #services-caption .scroll-pane { max-height:230px; margin-top:5px; }
#about-caption p { margin-bottom:15px; }

#services-caption { width:700px; top:25px; }
#services-caption .nav-pane { margin-top:20px; }
.nav-pane .inner-left { float:left; font-weight:700; color:#e20a17; }
.nav-pane .inner-left a { height:28px; display:inline-block; line-height:28px; }
.nav-pane .inner-left a:hover { color:#FFF; }
.nav-pane .inner-right { float:right; text-align:right; }
.nav-pane .inner-right a { display:inline-block; height:28px; width:18px; color:transparent; text-indent:-999px; line-height:100px; overflow:hidden; }
.nav-pane:after { content:''; display:block; clear:both; }
.nav-pane .prev { background-position:-226px -9px; transform:rotate(180deg); -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg); }
.nav-pane .prev:hover { background-position:-185px -8px; transform:rotate(0deg); -moz-transform:rotate(0deg); -webkit-transform:rotate(0deg); }
.nav-pane .next { background-position:-226px -9px; margin-left:15px; }
.nav-pane .next:hover { background-position:-185px -8px; transform:rotate(180deg); -moz-transform:rotate(180deg); -webkit-transform:rotate(180deg); }

#portfolio-caption { width:750px; top:30px; } 
#portfolio-caption h2 { float:left; }
#portfolio-caption .services-nav { float:right; }
#portfolio-caption .services-nav a { display:inline-block; height:38px; width:38px; background-size:750%; text-indent:-9999px; margin-left:20px; }
#portfolio-caption .crane { background-position:-2px -45px; }
#portfolio-caption .building { background-position:-127px -45px; }
#portfolio-caption .stand { background-position:-60px -43px; }
#portfolio-caption .module { background-position:-189px -111px; }

#portfolio-caption .crane:hover, #portfolio-caption .crane.active { background-position:-2px -91px; }
#portfolio-caption .building:hover, #portfolio-caption .building.active { background-position:-127px -91px; }
#portfolio-caption .stand:hover, #portfolio-caption .stand.active { background-position:-60px -89px; }
#portfolio-caption .module:hover, #portfolio-caption .module.active { background-position:-239px -111px; }

.projects_wrapper{width:750px;height:358px;overflow:hidden;position:relative}
.projects-pane { height:328px;margin-top:20px; }
.projects-pane .teaser { width:240px; height:150px; display:inline-block; margin-right:10px; margin-bottom:10px; background-size:cover; position:relative; cursor:pointer; }
.projects-pane .teaser:nth-of-type(3n) { margin-right:0; }
.projects-pane .teaser .info { position:absolute; bottom:0; left:0; background-color:rgba(0,0,0,0.7); padding:10px; width:220px; font-size:10px; font-weight:300; }
.projects-pane .teaser .client { color:#e20a17; font-weight:700; }
.projects-pane .teaser a { font-size:13px; display:inline-block; padding-left:5px; max-width:165px; height:17px; overflow:hidden; vertical-align:bottom; }
.projects-pane .teaser:hover .info { background-color:rgba(0,0,0,1); }

/* list */
.projects-pane ul li{width:750px;height:328px;margin-right:10px;float:left}
.projects-pane ul li:last-child{margin-right:0}

#portfolio-details-caption { width:400px; top:20px; position:relative; } 
#portfolio-details-caption h2 { float:none !important; font-size:30px !important; }
#portfolio-details-caption hr { margin:10px 0; width:50px; }
#portfolio-details-caption h4 { font-size:20px; letter-spacing:1px; font-weight:600; }
#portfolio-details-caption .more { display:block; position:absolute; height:18px; width:18px; right:30px; bottom:15px; background-position:-300px -14px; cursor:pointer; transition:transform .1s ease-out; -moz-transition:transform .1s ease-out; -webkit-transition:transform .1s ease-out; }
#portfolio-details-caption .more:hover { background-position:-324px -14px; }

.project-content { display:none; position:absolute; top:170px; z-index:99; width:400px; padding:25px 50px; background-color:rgba(0,0,0,0.5);  }
.project-content h3 { font-weight:600; font-size:16px; height:60px; overflow:hidden; }
.project-content .scroll-pane{height:185px;margin-top:5px}
.project-content .scroll-pane *{font-size:14px!important}
.project-content p {margin-top:10px; }

.portfolio-nav { display:block; z-index:60; position:absolute; width:1200px; left:0; right:0; margin:auto; bottom:60px; }
.portfolio-nav a { font-weight:700; padding:15px; background-color:rgba(0,0,0,0.5); }
.portfolio-nav a:hover { background-color:rgba(0,0,0,1); }

.rotate-btn { transform:rotate(45deg); -moz-transform:rotate(45deg); -webkit-transform:rotate(45deg); }

.news-content { position:absolute; z-index:99; top:40px; font-size:20px; width:750px; height:50px; overflow:hidden; font-weight:600; }

.news-pane { position:absolute; z-index:99; top:110px; width:100%; }
.news-pane .teaser { width:270px; height:180px; display:inline-block; margin-right:36px; margin-bottom:10px; background-size:cover; position:relative; cursor:pointer; }
.news-pane .teaser:nth-of-type(4n) { margin-right:0; }
.news-pane .teaser .info { opacity:0; position:absolute; text-align:center; top:0; left:0; background-color:rgba(0,0,0,0.9); padding:20px; height:140px; width:230px; transition:opacity .4s ease-out; -moz-transition:opacity .4s ease-out; -webkit-transition:opacity .4s ease-out; }
.news-pane .teaser .info h5 { font-size:15px; max-height:57px; overflow:hidden; }
.news-pane .teaser .info hr { width:150px; }
.news-pane .teaser .info p { font-size:13px; max-height:52px; overflow:hidden; }
.news-pane .teaser .info a { font-size:12px; color:#e20a17; text-decoration:underline; }
.news-pane .teaser:hover .info { opacity:1; }

#news-details .left-pane { float:left; color:#484848; width:500px; padding-top:50px; }
#news-details .left-pane h2 { font-size:20px; font-weight:600; }
#news-details .left-pane hr { border:none; height:2px; background-color:#e20a17; width:50px; display:block; margin-left:0; text-align:left; }
#news-details .left-pane .date { display:block; }
#news-details .left-pane .scroll-pane { height:190px; }
#news-details article { margin:40px 0 80px; }
#news-details article p { margin-top:10px; font-size:14px; }

#news-details .news-nav { padding-top:10px; border-top:solid thin #a29fa0; }
#news-details .news-nav a { color:#a29fa0; }
#news-details .news-nav a:hover { color:#484848; }
#news-details .nav-article { float:right; }
#news-details .nav-article a { padding-left:10px; }
#news-details .nav-article a:nth-of-type(2) { border-left:solid thin #a29fa0; margin-left:10px; }

#news-details .right-pane { float:right; width:600px; }

#localization { color:#484848; line-height:22px; }
#localization .left-pane { width:600px; float:left; padding:30px 0; }
#localization .left-pane .address { margin-bottom:33px; }
#localization .right-pane { width:600px; float:right; padding:30px 0; } 

#localization .address { margin-bottom:10px; }
#localization .address span { color:#e20a17; font-weight:700; }

#localization .contacts span { font-weight:600; }

#localization .map { margin-top:25px; }

#google-map-pt, #google-map-cv { width:450px; height:200px; margin-top:10px; }

#contacts { padding-top:60px; width:850px; margin:0 auto; color:#484848; }
#contacts form { margin-top:40px; }
#contacts input, #contacts textarea { border:none; padding:5px 0px; font-size:16px; resize:none; font-family: 'Source Sans Pro', sans-serif; display:block;  }
#contacts input:focus, #contacts textarea:focus { outline:none; }
#contacts input[type="text"] { border-bottom:solid thin #484848; width:410px; margin-bottom:20px; }
#contacts input:nth-of-type(odd) { float:left; }
#contacts input:nth-of-type(even) { float:right; }
#contacts textarea { width:100%; margin-bottom: 40px; overflow: hidden; line-height: 30px; background: url(../IMG/line.png) repeat; padding:0; }
#contacts input[type="submit"] { background-color:transparent; color:#e20a17; float:right; cursor:pointer; }
#contacts input[type="submit"]:hover, #contacts input[type="submit"]:focus { text-decoration:underline; }


/*
/   CATEGORIES NAV
*/
#categories-nav { position:absolute; bottom:30px; left:0; right:0; margin:auto; background-color:rgba(0,0,0,0.5); padding:20px 0; }
#categories-nav .main-container { display:table; table-layout:fixed; border-spacing:0px; }
#categories-nav .category { display:table-cell; cursor:pointer; width:220px; }
#categories-nav .category:nth-of-type(2), #categories-nav .category:nth-of-type(3) { text-align:center; width:285px; }
#categories-nav .category:nth-of-type(4) { text-align:right; width:155px; }
#categories-nav .category a { font-size:20px; font-weight:600; display:inline-block; vertical-align:middle; padding-left:10px; }
#categories-nav .category span { display:inline-block; height:48px; width:48px; vertical-align: middle; }

#categories-nav .crane { background-position:-1px -55px; }
#categories-nav .building { background-position:-154px -54px; }
#categories-nav .stand { background-position:-73px -54px; }
#categories-nav .module { background-position:-232px -138px; }

#categories-nav .category:hover .crane, #categories-nav .active .crane { background-position:-1px -112px; }
#categories-nav .category:hover .building, #categories-nav .active .building { background-position:-154px -111px; }
#categories-nav .category:hover .stand, #categories-nav .active .stand { background-position:-73px -111px; }
#categories-nav .category:hover .module, #categories-nav .active .module { background-position:-294px -138px; }


/* ================

       FOOTER

   ================ */

footer { position: absolute; width:1200px; bottom:0; height:40px; }
footer:after { display: block; content: ''; clear: both; }

#site-info { float:left; margin-top:17px;  }
#site-info p { color:#484848; font-size: 12px; }
#site-info span, #site-info a { font-weight: 700; }
#site-info a:hover { color:#FFF; }

#social-media { float: right; }
#social-media a { display:inline-block; margin-left: 10px; width:35px; height:35px; text-indent: -9999px; background-color: #131313;  }
#social-media .facebook { background-position: -229px -103px; }
#social-media .google { background-position:-272px -102px; }
#social-media .linked { background-position:-316px -103px; }

#social-media .facebook:hover { background-position: -229px -60px; }
#social-media .google:hover { background-position:-272px -58px; }
#social-media .linked:hover { background-position:-316px -60px; }


/* FORMS VALIDATION */

p.error, p.success { margin-bottom:15px; }
span.error { padding:2px 10px 2px 10px; display:inline-block; border-right:solid thin #CCC; margin-top:5px; }
span.error:first-of-type { padding-left:0; }
span.error:last-of-type { border:none; }
span.error:nth-of-type(7) { padding-left:0; }  