html {
  box-sizing: border-box;
}

@font-face {
  font-family: 'Adobe Garamond Pro Adobe Regular';
  src: url('fonts/AGaramondPro-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
  }

@font-face {
  font-family: 'Brandon Grotesque Regular';
  src: url('fonts/BrandonGrotesque-Regular.woff') format('woff'); 
  font-weight: normal;
  font-style: normal;
  }

  @font-face {
    font-family: 'Brandon Grotesque Bold';
    src: url('fonts/BrandonGrotesque-Bold.woff') format('woff');    
    font-weight: bold;
    font-style: normal;
    }

img {
	height: auto;
	/* Make sure images are scaled correctly. */
	max-width: 100%;
	/* Adhere to container width. */
}

body {
  margin: 0;
  padding: 0;
  background-color: #9EACBA;
  color: white;
 
}

a {
  text-decoration:none;
color:white;
  } 

.logo {
display: none;
position: absolute;
left: 0;
top:0;
font-weight: 400;
font-family: 'Adobe Garamond Pro Adobe Regular', serif;
text-transform: uppercase;
margin: 0.4rem 0;
}


.triangle-pattern { 
  position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-image: url('http://www.webdocks.net/img/triangles-mobile.jpg');
    background-size: cover;
    background-position: center;
    opacity: .03;
    z-index: -3;
}

.header {
  margin: 0 auto;
  width: 300px;  
  text-align: center;   
  border-bottom: 1px solid white;  
}

.header a, 
.bottom-line a {
  font-size: 0.9rem;  
  line-height: 2.2;   
  font-family: 'Brandon Grotesque Regular', sans-serif;
  text-decoration:none;
  color: white;
  border: 1px solid #D3D3D3;
  padding: 0.3rem 0.8rem;   
  background-color: rgba(73, 89, 105, 0.4);   
  text-transform: uppercase;  
  transition: all 260ms ease-in; 
}



.header a:hover,
.bottom-line a:hover {
color: #000; 
background-color: rgba(255, 255, 255, 0.9);   

}
.header li{
  transition: all 220ms ease-in; 
}

.header li:hover {
  transform: scale(1.1); 
}

.header ul {
list-style: none;
padding:0;
display: flex;
flex-flow: row wrap;
justify-content: space-around;
}

.header ul li {
padding:0;  
display: inline;
} 

.three-cells-grid {
  margin: 1rem auto 0 auto;
	display: inline-grid; 
	grid-template-columns: 1fr;
	grid-auto-rows: auto;	
	grid-gap: 16px;		
	padding: 0.6rem 0.4rem;
	align-items:stretch;
  justify-content: center; 
}
.three-cells-grid p {
text-align: left;
margin: 0;
padding: 0;
}

.three-cells-grid > div {
max-width: 500px;
font-family: 'Brandon Grotesque Regular', sans-serif;
color: black;
font-size: 1.3rem;
line-height: 1.3;
font-weight: 400;
letter-spacing: 0.1rem;
padding: 0.4rem 0.2rem 0.8rem 0.6rem;
border: 1px solid rgb(77, 77, 77);
background-color: #EFF2F5;
}

.text-content {
  max-width: 1080px;
  padding: 0.4rem 0.4rem 0.8rem 0.6rem;
  margin: 1rem 0 0.6rem 0;
  min-width: 300px;
  min-height: 300px;
  font-family: 'Brandon Grotesque Regular', sans-serif;
  color: black;
  font-size: 1.2rem;
  line-height: 1.4;
  font-weight: 400;
  letter-spacing: 0.1rem;  
 
  background-color: #EFF2F5;
}

.text-content p {
text-align: left;
}

.text-content ul {
text-align: left;
}

.text-content a {
color: black;
text-decoration: underline;
}


.aligncenter {
margin:0 auto;
text-align: center;
margin: 0.6rem 0 0 0;
}

.alignleft {
margin:0 auto;
text-align: center;
margin: 0.6rem 0 0 0;
float: none;  
}


.three-cells-grid h4 {
  margin: 0.2rem 0 0 0;  
  font-family: 'Adobe Garamond Pro Adobe Regular', serif;  
  font-size: 1.6rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing:0;  
  text-align: center;
}

.main {  
text-align: center;
min-height: 520px;
padding: 0 0.6rem;  
padding-bottom: 0.8rem;
display: flex;
flex-flow: column nowrap;
justify-content: space-around;
align-items: center;
}

.main h1 { 
  margin: 20px 0 8px 0;
  font-size: 1.2rem;
  line-height: 1.4;
  letter-spacing: 0.14em;
  font-weight: 400; 
  font-family: 'Adobe Garamond Pro Adobe Regular', serif;  
  text-transform: uppercase;
}

.main h2 {
  margin: 1rem 0 0 0;  
  font-family: 'Brandon Grotesque Bold', sans-serif;
  font-size: 0.86rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.4em;
  text-transform: uppercase;
}

.main h3 {
  margin: 0.8rem 0 0 0;  
  font-family: 'Adobe Garamond Pro Adobe Regular', serif;  
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 400;
  letter-spacing: 0.2em;  
  text-shadow: 1px 1px rgb(0, 0, 0);
}

.main-grid {
  margin: 1rem auto 0 auto;
	display: inline-grid; 
	grid-template-columns: 1fr 1fr;
	grid-auto-rows: auto;	
	grid-gap: 10px;	
	text-align: left;
  padding: 0;
  justify-content: center;   
	align-items: center;
  
}

.main-grid > div {
border-radius: 0px;
background-color: rgba(226, 226, 226, 0.7);
box-shadow: 0px 4px 8px 0px rgba(0,0,0,0.6);  
}

.main-grid > div img {
 padding: 0;
}

.main-grid > div a {
  width:100%;	
  height:100%;
  display: block;
  padding: 0 0 0.6rem 0;
  font-size: 0.8rem;
  color: #002D42;
  font-weight: 700;
  text-align: center;    
}

.main-grid > div a:hover {
  color: #7B0002;
}

.main-grid > div:hover {
transform: scale(0.99);
transition: all 200ms ease-in; 
background-color: rgba(255, 255, 255, 0.8); 
}

.main-grid p {
margin: 0.2rem 0.2rem;
line-height: 1.6;
text-align: center;
}

.main-grid a {
color: black;
}

.bottom-line {
  margin: 0.6rem auto 1rem auto;
  text-align: center;
}

/* ---- CONTAcT FORM ---- */

form { 
  margin:0 auto; 
  padding: 0 0.4rem 0 0;
}

#error-message p, #done-message p{
text-align:left;
font-size: 1rem;
margin: 0.6rem 0 0.8rem 0.6rem;
}

#done-message p {
text-align:center;
}
.input-wrap {
  padding: 0.6rem 0;
  text-align: left;
  font-size: 1rem;
}
.label {
  display:block;  
  margin:0.4rem 0 0.4rem 0.1rem;
}
input, textarea {
  border:1px solid #eee;
  padding:6px;
  border-radius:3px;
  width:100%;
}
textarea {
  height:200px;
  resize:none;
}

 .test {
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .test input {
        max-width: 4rem;
        max-height: 2rem;
        margin-left: 1rem;
        margin-right: 6rem;
    }

    button {
        cursor: pointer;
    }


.button-container {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin: 20px auto;
  font-family: 'montserrat', sans-serif;
  font-weight: 400;
  letter-spacing: 0.8px;
  font-size: 1.1rem;
}

.button--large, .button--primary {
  display: inline-block;
  border-radius: 3px;
  text-decoration: none; 
  color: #fff;
  border-bottom: 2px solid #ccc;
  transition: background 0.12s ease;
  background-color: #85BF31;
  border-bottom-color: #627F34;
  
}
.button--large:active, .button--primary:active {
  position: relative;
  top: 2px;
  margin-bottom: 2px;
  box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.42);
}
.button--large {
  padding: 9px 14px 6px;
cursor: pointer;
}
.button--primary:link, .button--primary:visited {
  background: #85BF31;
  border-bottom-color: #627F34;
}
.button--primary:hover {
  background: #7DB32E;

}
.button--primary:active {
  border-bottom: 0;
}

  #done-message {
        display: none;
    }
 
/* ---- footer ---- */
.footer {
  margin: 0; 
  padding: 0.6rem;
  text-align: center;  
  font-family: 'Brandon Grotesque Regular', sans-serif;
  font-size: 1.2rem;
  line-height: 1.4;   
  
  letter-spacing: 2px;
  background-color: #495969;
  
}
.footer a:hover {
  color: #FFD505;
}


.footer > div {
  margin:  1rem 0;    
}

.footer a {
  margin:  0;  
}

@media screen and (min-width: 600px) {  



  .triangle-pattern { 
    position: fixed;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      background-image: url('http://www.webdocks.net/img/triangles.jpg');
      background-size: cover;
      background-position: center;
      opacity: .03;
      z-index: -3;
  }

  .logo {
    display: block;
  }


  .three-cells-grid {  
    grid-template-columns: 1fr 1fr;    
  }

  .three-cells-grid > div {
    max-width: 380px;   
    }
   
.main-grid > div a {  
  font-size: 0.9rem;    
}


  .main h1 { 
    margin: 28px 0 18px 0;
    font-size: 2.05rem;
    line-height: 1;
    letter-spacing: 0.26em;  
  }
  
  .main h2 {       
    font-size: 0.96rem;
    line-height: 2.2;   
  }  

  .main h3 {    
    font-size: 1.6rem;   
  }
  .main-grid {    
    grid-template-columns: 1fr 1fr 1fr;
   
  }

  .text-content {    
    padding: 0.4rem 1rem 0.8rem 1.2rem;  
    font-size: 1.3rem;
    line-height: 1.4;   
    min-width: 480px;
    min-height: 300px;
  }

  .input-wrap { 
    font-size: 1.2rem;
  }

#error-message p, #done-message p{
font-size: 1.1rem;
}

.alignleft {
margin:1.6rem 0.6rem 0 0;
text-align: left;
float: left;
}

}

@media screen and (min-width: 900px) {  

  .three-cells-grid {  
    grid-template-columns: 1fr 1fr 1fr;    
  }

  .main-grid {    
    grid-template-columns: 1fr 1fr 1fr 1fr;   
  }

}


