@import url(http://fonts.googleapis.com/css?family=Open+Sans);


/*==================================
             GENERAL
====================================*/

*{
	box-sizing: border-box;
}

html{
	background-color: rgb(200, 200, 200);
	min-width: 380px;	
}

body{
	font-family: 'Lato', sans-serif;
    font-size: 16px;   
    color: rgb(102, 102, 102);
    max-width: 1400px;
    margin: 0 auto;
    background-color: white;    
    line-height: 1.5;
}

h1{
	font-size: 2rem;
	font-weight: normal;	
	line-height: 1.2;
	margin: .65em 0 .25em;
}

h2{
	font-size: 1.3rem;
	font-weight: normal;
	line-height: 1;
    margin-top: 0px;
    /*margin-bottom: 0px;*/
}

h1, h2{
	font-family: 'Roboto', sans-serif;
}

ul{
	margin: 0;
}

select{
	padding: 1rem;
    color: rgb(102, 102, 102);
    border: 1px solid darkgray;
    border-radius: 5px;
    margin: 0 1rem 2rem 0;
}

input[type="submit"]{
	padding: 1rem;
    color: rgb(102, 102, 102);
    border: 1px solid darkgray;
    border-radius: 5px;
    margin: 0 1rem 2rem 0;
}

.l-header a{
	text-decoration: none;
	color: rgb(102, 102, 102);
}

.l-footer{
	padding-top: 2em;
}

.l-footer a{
	text-decoration: none;

}

.l-header a:hover {
	color: rgb(46, 100, 153);
    text-decoration: underline;
}

a{
	color: #5783AD;
}


a:hover {
    /*text-decoration: none;*/
    color: #084b64;
}


/*a:hover i{
    text-decoration: none;
}*/

.inner{
	padding: 4rem 7rem 1rem;	
}


.graybg{
	background-color: #f3f3f3;
}

.countries a, .left a, 
.lists a{
	display: block;
	padding: .2rem 0 .5rem 0;
}

.results-box{
	margin-bottom: 2rem;	
}

.left a:hover, 
.countries a:hover,
.lists a:hover{
    /*text-decoration: none;
    background-color: #084b64;*/
    color: #084b64;
}

ol{
	list-style-position:inside;
	margin-left: 0;
	padding-left: 0;
}

ol li{
	padding: 1rem;
	margin-bottom: .5rem;
}

ol li:nth-of-type(odd){
	background-color: #ececec;
}

img{
	max-width: 100%;
}


form{
	margin: 0;	
}

input {
	outline: 0;
    border: 1px solid rgb(200, 200, 200);
    margin-bottom: 12px;
}




.headerbox {
    position: relative;
    padding-bottom: 0.05rem;
    padding: 1rem 4rem;
}

header{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding: 2rem 0 4rem;    
}


.site-logo img{
	width: 90px;
	height: auto;
	margin-right: 2rem;
}

.headerbox nav{
  justify-content: space-between;
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
}

.headerbox h1 {
	width: 23rem;
    line-height: .85;
    padding-top: 1rem;
}

.headerbox h1 a {
   color: lightgray;
   font-size: 1.45rem;
   text-decoration: none;
   width: 10rem;
 }

.headerbox .intro,
.headerbox .branding {
  position: relative;
  z-index: 1;
}

.headerbox .branding{
	display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-start;
}

.upper-menu{
	padding-bottom: .5rem;
	border-bottom: 1px solid lightgray;
}

.upper-menu ul {
    padding-top: 0.35rem;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: space-between;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

.upper-menu a{
	color: lightgray;
	padding: .5rem;
	margin-right: .5rem;
	text-decoration: none;
}

.upper-menu ul li:not(:last-of-type){
	border-right: 1px solid lightgray; 
}

.upper-menu ul li:not(:first-of-type){
	margin-left: .5rem;	
}

.upper-menu ul a:hover{
	color: white;
}

.headerbox h1 {
  margin-top: 0;
  margin-bottom: 0;
}

.overlay:before {
  position: absolute;
  content: " ";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  z-index: 0;
  background: linear-gradient(rgba(0, 0, 0, 0.4) 10%, rgba(0, 0, 0, 0)), linear-gradient(to right, rgba(0, 0, 0, 0.5) 10%, rgba(0, 0, 0, 0));
}

.section-img {
  position: absolute;
  overflow: hidden;
  z-index: 0;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.section-img img {
  height: auto;
  width: 100%;
}

.menubar{
	width: 42rem;
	padding-top: 1rem;
	justify-content: flex-end !important;
}

.spanish .menubar{
	width: 48rem !important;
}

#menu-div ul{    
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    justify-content: flex-end;
    list-style-type: none;
    padding: 0;
    margin: 0;
}

#menu-div ul a{
	color: lightgray;
	text-decoration: none;
	padding: .5rem;
}

#menu-div ul li:last-of-type a{
	padding-right: 0;
}

#menu-div ul a:hover{
	color: white;	
}

.footer{
  background-color: #4d4d4d;
  display: block;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-left: 4rem;
  padding-right: 4rem;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  justify-content: space-between;
}

footer p a {
  color: #cccccc;
}

footer .item {
  vertical-align: top;
  margin: 2rem 0 1rem 0;
  margin: 2rem 0;
 flex: 1 250px;
}

footer .footer-contact, footer .footer-newsletter {
  flex-grow: 3;
  padding-right: 0.75rem;
}

footer .footer-social a {
  margin-bottom: 1rem;
  text-align: center;
}

.footer-social{
  max-height: 4rem;
  justify-content: space-around;
  
}

footer .footer-menu li:not(:last-of-type) {
  padding-bottom: 0.5rem;
  margin-bottom: 0.5rem;
  border-bottom: 1px dotted #f2f2f2;
  margin-right: 4rem;
}

footer h3 {
  margin-top: 0;
  color: #cccccc;
}

footer p, .darkgraybox p {
  color: #cccccc;
}

footer ul{
    list-style-type: none;
    padding: 0;
    margin: 0;
}


footer ul a{
	text-decoration: none;
	color: lightgray;
}

.policy{
  padding: 0.5rem 4rem;
background: #323232;
color: #f2f2f2;
margin-top: 0;
text-align: center;
}

.policy p {
  font-size: 0.82rem;
}


.social-icons {
	 display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
 
}

.social-icons a {
  text-align: center;
  text-decoration: none;
  color: lightgray;
}


.social-icons i {
  margin: 0;
}
.social-icons .fab {
  font-size: 1.85rem;
}

.btn--more-onblack {
  background-color: #f2f2f2;
  color: #2a2a2a;
  border: 1px solid #e5e5e5;
  padding: 0.5rem 1.5rem;
  border-radius: 4px;
  text-decoration: none;
}



/*Clearfix*/

.group:after {
	visibility: hidden;
	display: block;
	content: "";
	clear: both;
	height: 0;
	}

* html .group             { zoom: 1; } /* IE6 */
*:first-child+html .group { zoom: 1; } /* IE7 */

/*==================================
             HEADER
====================================*/

.l-header{
	background-color: white;
}

.top-menu{
	border-top: solid 12px rgb(46, 100, 153);
    border-bottom: solid 1px rgb(46, 100, 153);  
}

.top-menu li{
	display: inline;
	padding: 12px;
    border-right: 1px solid #2e6499;
    list-style: none;
    margin-left: -4px;
    margin-bottom: -1px;
}

.info-menu,
.language-switcher,
.social-menu{
	float: left;
    white-space: nowrap;	
}

.social-menu ul,
.info-menu ul{
	padding-top: 10px;
    white-space: nowrap;
}

@media (max-width: 70em) {
    .info-menu ul{
    	display:none;
    }
}


.info-menu{	
	width: 42.02899%;    
    margin-left: 3.758%;
}

.language-switcher{	
	width: 20.28986%; 
}

.language-switcher ul li{
	display: inline-block;
}

.language-switcher .active{
	background-color: rgb(46, 100, 153);    
}

.language-switcher .active a{
	color: white;
}

.social-menu{
	width: 20.28986%;    
    margin-left: 10%;      
}

.social-menu li:hover{
	background-color: rgb(46, 100, 153);	
}

.social-menu li:hover i{
	color: white;
}

.icon-facebook,
.icon-linkedin,
.icon-twitter,
.icon-youplay,
.icon-mail-solid{
	font-family: 'cecicons';
	font-size: 18px;
	color: rgb(102, 102, 102);
}


/*                  SITE LOGO AND NAME              */

.block--logo{
	float: left;
	display:block;
	width: 90%;
	margin: 1em auto 1em;
}

.block--sitename{
	display:block;
	text-align: center;
}

.block--sitename h1 {
    display: block;
}


/*                  MAIN MENU              */

.tb-megamenu{	
  	min-height: 50px;
  	border-top: 1px solid #4D4D4D;
    border-bottom: 5px solid #4D4D4D;
    margin-top: 2em;
}

.tb-megamenu ul{
	list-style-type: none;	
	padding: 0;
}

.tb-megamenu ul li a{
	display: block;
	padding: 1em;
}

.tb-megamenu ul li a:hover{
	background-color: #666;
	color: white; 
	text-decoration: none;
}

.lang-adj{
	min-height: 75px;
}



/*==================================
             CONTENT
====================================*/

.l-main{
	min-height: 5em;
	position: relative;	
}

.main{    
    /*max-width: 86%;
    margin: 40px auto;*/
}


.content img{
	width: 100%;
}

.sub-theme:not(:last-of-type){
	margin-right: 1em;
}

.sub-theme ul{
	margin: 0;
	padding: 0;
	list-style-type: none;
}

h3 + div:not(:last-of-type){
	border-bottom: 1px solid #efefef;
}

.right img{	
	margin: 20px auto;
}

/*==================================
             FOOTER
====================================*/

.footer .panel-col-first,
.footer .panel-col2,
.footer .panel-col3,
.footer .panel-col-last{
	width: 90%;
    margin: 1em;    
    
}


.footer .panel-col2 span{
	font-size: 1.2rem;
}

.ourwork-footer a:hover{
	text-decoration: none;
}

.footer .panel-col-first ul li{
	padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid white;
}

.footer .panel-col-first ul li:last-of-type{
	border:none;	
}

.panel-col2 a{
	text-decoration: underline;
}

.pane-bean-socialnet-footer{
    position: relative;
}

.footer .panel-col3 ul li{
	display: inline;
    font-size: 2.2em;
    margin-right: 18px;
}


.copyright{
	margin-top: 20px;
    background-color: rgb(51, 51, 51);
    color: white;
}

.copyright a{
	text-decoration: underline;
}

.copyright .panel-col-first,    
.copyright .panel-col-last{
    width: 100%;
	padding: 1em;	
}

.pane-bean-copyright-sitemap .content{
	float: right;
	padding-top: 14px;
}

.pane-bean-copyright-sitemap ul li{
    margin-right: 8px;
    display: inline;
}


.l-main img{
	//border:1px solid black;
	margin-top:10px;
	border-radius: 5px;
}

.l-main table{
	width:100%;
}

.l-main table td, .l-main table th{
	text-align:left;
}

.cover{
	display: block;
}

/*=========================
       POWER PLANTS
==========================*/

.read-more{
	text-align: right;
	padding: 15px 0 10px;
}

.countries .mexico,
.countries .us,  
.countries .canada {
	display: block;
	width: 100%;
}  	


.countries ul{
	list-style-type: none;
	margin: 3% 0;
	padding: 0;
}

.countries ul li{
	line-height: 1.5;
}

.previous{
	margin-right:10px;
}

.left, 
.right{
	display: block;
	width: 90%;
}

/*.right{
	background-color: #ececec;
	padding: 2em 3em;
	margin: 2em auto 5em;	
	min-height: 271px;
}*/


.lists ul{
	width: 100%;
	display: block;
	list-style-type: none;
	margin: 0;
	padding: 0;
}

.lists ul li{
	line-height: 1.5;
}


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

@media (min-width: 800px) {
    .block--logo{
		width: 20%;
		display:inline-block;
		margin-right: 20px;
		margin-left: 7em;
		margin-top: -10px;
	}

	.block--sitename{
		margin: 1em auto 0 0;
	    display:inline-block;
		width: 80%;
		text-align: left;

	}

	.block--sitename h1 {
	    display:inline-block;
	}

	.tb-megamenu{	
	  	min-height: 50px;
	  	border-top: 1px solid #4D4D4D;
	    border-bottom: 5px solid #4D4D4D;
	    margin-top: .5em;
	}

	.tb-megamenu ul{
		max-width: 80%;
		margin-left: 4%;
		display: flex;
	    flex-flow: row wrap;  
	  	justify-content: space-around;  
	}

	.tb-megamenu li{
		display: inline-block;        
	}

	.tb-megamenu ul li a{
		display: block;
		padding: .93rem 1rem;
	}

	.main{    
	    /*margin: 3em auto 1.5em;*/
	}

    .content{
		width: 100%;
		display: inline-block;	
		margin-bottom: 2rem;	
	}

	.right-menu{
		width: 27%;
		display: inline-block;
		padding: 0 2em 1em; 
		margin-left: 2em;
		vertical-align: top;
		background-color: #efefef;
	}

	.right-menu h2{
		border-top: 2px solid #333;
		border-bottom: 1px solid #999;
		line-height: 1.5;
		margin-top: 2em;
		margin-bottom: 1.3em;

	}

    .right-menu h2:first-of-type{
    	padding-top: 0;
    	margin-top: 0;
    }

  	.countries .mexico,
	.countries .us,  
	.countries .canada {
		display:inline-block;
		width: 30%;
		margin: 0 0 3rem;
		/*padding: 2% 0;*/
		box-sizing: border-box;
	}

	.countries .mexico{
		margin-left: 4%;
		margin-right: 4%;
	}    

  	.left, 
	.right{
		display: inline-block;
		vertical-align: top;
	}

	.left{	
		width: 50%;
		margin-right: 5%;			
	}

	.right{
		width: 45%;	
		margin-left: -5px;
	}

	.right ul{
		margin: 0;
		padding: 0;
		list-style-type: none;
	}

	.sub-theme{
		width: 23%;
		display: inline-block;			
		vertical-align: top;
	}

	.sub-theme:nth-of-type(even){
		margin-left: -4px;
	}

	.content img:not(:first-of-type){
		width: 80%;
		margin: auto;
		text-align: center;
	}

	.lists ul{		
		display: inline-block;
		margin-right: -4px;
	}

	.lists ul:first-of-type{
		width: 30%;
	}

	.lists ul:last-of-type{
		width: 50%;
	}

	.footer .panel-col-first,
	.footer .panel-col2,
	.footer .panel-col3,
	.footer .panel-col-last{
		width: 18%;	    
	    display: inline-block;			
		vertical-align: top;  	    
	}

	.footer .panel-col-first{
		margin-left: 7%; 
	}

	.footer .panel-col2,
	.footer .panel-col3,
	.footer .panel-col-last{
		margin-left: 5%; 
	}
	

	.copyright .panel-col-first{
	    width: 50%;			
		float: left;
		margin-left: 5em;		
	}	

	.copyright .panel-col-last{
	    width: 35%;
	    padding-left: 7em;
		margin-right: 3em;
		margin-left: -4px;
		float: right;	
		vertical-align: top;	
	}
}
