
#footer {
	 color: white;
	 font-size: 1em;
	 line-height: 1.3em;
}

 #footer .inner {
	 padding-left: 0 !important;
	 padding-right: 0 !important;
	 justify-content: space-between;
}

#footer .inner #address {
	 padding-top: 1em;
}

/** Top Section **/
 #footer .top {
	justify-content: space-between;
	align-items: stretch;
}
 #footer .top .divider {
	 width: 4px;
	 background-color: rgba(255,255,255,0.1);
	 display: block;
	 margin-bottom: 8px;
}

 #footer .top .subscribe-button {
	 flex: 1;
	 max-width: 60%;
	 text-align: center;
	 display: flex;
	 flex-direction: column;
	 justify-content: center;
	 align-items: center;
}
 #footer .top .subscribe-button p {
	 letter-spacing: normal;
	 font-weight: 500;
     font-size: 28px;
     line-height: 1.5em;
     padding-bottom: 0px;
	 color: white;
}
 #footer .top .subscribe-button button {
	 margin-top: 32px;
}
 #footer .top .contact-info {
	 flex-basis: 30%;
}


/** Contact **/
 #footer .inner .contact-info {
	 font-size: 16px;
	 line-height: 32px;
     padding-bottom: 0px;
	 padding-top: 0px;
	 color: white;
}

 #footer .inner .contact-info .logo {
	 height: 40.5px;
}

 #footer a.contact {
   color: #6CC72B;
   text-decoration: underline;
}



/** Links and navigation **/
 #footer .inner .site {
	 display: flex;
	 justify-content: space-between;
	 text-transform: uppercase;
	 align-items: center;
   	 font-weight: 700;
     font-size: 14px;
     letter-spacing: .2em;
}

 #footer .inner .site a {
     text-decoration: none;
}

#footer .inner .links {
	 display: flex;
	 justify-content: space-between;
	 align-items: center;
	 padding-top: 60px;
}


#footer .inner .links a:not(:last-child) {
  margin-right: 32px;
}
 #footer .inner .social {
	 display: flex;
	 justify-content: flex-end;
	 align-items: flex-end;
}
 #footer .inner .social a .fab {
	 font-size: 1.5em;
}
 #footer .inner .social a:not(:last-child) {
	 margin-right: 25px;
}

 #footer .inner .legal {
	 font-size: 0.75em;
	 flex: 1;
	 margin-top: 32px;
}
 #footer .inner .legal .privacy {
	 position: relative;
	 padding-right: 9px;
	 margin-right: 4px;
	 text-decoration: none;
}
 #footer .inner .legal .privacy::after {
	 content: '';
	 position: absolute;
	 top: 2px;
	 bottom: 0;
	 right: 0;
	 width: 1px;
	 background-color: white;
}





/** NEWS LETTER FORM **/
 body.newsletter {
	 margin: 0;
	 height: 100vh;
	 overflow: hidden;
}

 body.newsletter #footer .newsletter-form {
   display: flex;
}

 #footer .newsletter-form {
	 color: black;
	 position: fixed;
	 width: 100vw;
	 height: 100vh;
	 left: 0;
	 top: 0;
	 bottom: 0;
	 right: 0;
	 z-index: 1000;
	 display: flex;
	 align-items: center;
	 justify-content: center;
	 z-index: 999999;
   display: none;
}
 #footer .newsletter-form .background {
	 position: absolute;
	 top: 0;
	 bottom: 0;
	 width: 100vw;
	 height: 100vh;
	 background-color: red;
	 background-color: black;
	 opacity: 0.2;
}
 #footer .newsletter-form .wrapper {
	 position: relative;
	 padding: 48px;
	 background-color: white;
	 border-radius: 10px;
	 max-width: 600px;
	 z-index: 999;
   max-height: 100vh;
   
           overflow: scroll;
        -webkit-overflow-scrolling: touch;
}
 #footer .newsletter-form h2 {
	 margin-bottom: 32px;
	 text-align: center;
	 line-height: initial;
}
 #footer .newsletter-form input, #footer .newsletter-form select {
	 margin-bottom: 12px;
	 color: black;
}
 #footer .newsletter-form input:focus, #footer .newsletter-form select:focus {
	 outline-style: none;
}
 #footer .newsletter-form input.ng-empty, #footer .newsletter-form select.ng-empty {
	 color: #A9A9A9;
}
 #footer .newsletter-form input option:first-child, #footer .newsletter-form select option:first-child {
	 display: none;
}
 #footer .newsletter-form .disclaimer {
	 font-size: 14px;
	 line-height: 24px;
}
 #footer .newsletter-form .disclaimer a {
	 text-decoration: none;
}
 #footer .newsletter-form .disclaimer .note {
	 margin-bottom: 12px;
}
 #footer .newsletter-form .bottom {
	 margin-top: 32px;
	 align-items: center;
	 text-align: center;
}
 #footer .newsletter-form .bottom button.green {
	 box-shadow: none;
}
 #footer .newsletter-form .bottom a.black {
	 cursor: pointer;
	 font-size: 14px;
	 letter-spacing: 0.2em;
}
 #footer .newsletter-form .close {
	 cursor: pointer;
	 position: absolute;
	 top: 20px;
	 right: 20px;
	 background-image: url(../images/general/close.svg);
	 background-repeat: no-repeat;
	 background-position: center;
	 background-size: 20px 20px;
	 width: 32px;
	 height: 32px;
}



/** BREAKPOINTS **/

/* Medium */
@media (max-width: 991px) {
  #footer .inner .links {
    flex-direction: column;
    align-items: center;
  }
  #footer .inner .site {
    width: 100%;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }
  
  #footer .inner .site  a {
    word-break: keep-all;
    text-align: center;
    margin-right: 0px !important;
    max-width: 120px;
    min-width: 109px;
    
    margin-top: 20px;
  }
  
  #footer .inner .links .site { margin-bottom: 32px; }
  
  	 #footer .inner .social {
		 justify-content: center;
		 align-items: center;
	}
  	 #footer .top {
		 flex-direction: column;
		 justify-content: center;
		 align-items: center;
		 text-align: center;
	}
	 #footer .top .divider {
		 width: 100%;
		 height: 4px;
		 margin: 50px 0;
	}
	 #footer .top .subscribe-button {
		 max-width: 100%;
	}
  
  #footer .inner .legal { text-align: center; }
}


 @media (max-width: 767px) {
   #footer .inner { text-align: center; }
   
   	 #footer .newsletter-form {
		 align-items: flex-start;
	}
}
 @media (min-width: 992px) and (max-width: 1087px) {
	 #footer .top .contact-info {
		 margin-right: 60px;
	}
}