/*!
Theme Name: Ensign-Starter-Template
Theme URI: https://github.com/Ensign-AS/Ensign-Starter-Template
Author: Ensign AS
Author URI: http://ensign.no/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: ensign-starter-template
*/


/* GENERAL RESETS */

body {
	margin: 0;
	padding: 0;
   /*  overflow-x: hidden; */
}

/* Martin */

html{
	scroll-behavior: smooth;
}

/* Global*/
:root{
	/* --yellow-color: #FECA22; */
	--font-headings: 'teko', 'aktiv-grotesk', sans-serif;
	--font-body: 'aktiv-grotesk', sans-serif;
	--white-color: #fff;
	--gray-color: #f7f7f7;
	--green-color: #007A33;
	--easing: cubic-bezier(0.5, 0.7, 0.4, 1);
}

p, li{
	font-family: var(--font-body);
	font-size: 16px;
	font-weight: 300;
	margin: 0 0 25px;
	line-height: 1.6;
}

li{
	line-height: 1.4;
	margin: 0 0 10px;
}

h1,h2,h3,h4,
.h1,.h2,.h3,.h4{
	font-family: var(--font-headings);
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 10px;
}

h1{ 
	font-size: calc(45px + (70 - 40) * (100vw - 620px) / (1440 - 320));
	margin: 0;
	text-transform: uppercase;
	font-weight: 500;
}

h2{ 
	font-size: calc(45px + (70 - 40) * (100vw - 620px) / (1440 - 320));
	margin: 0;
	text-transform: uppercase;
	font-weight: 500;
}

h3{ 
	font-size: calc(15px + (70 - 40) * (100vw - 620px) / (1440 - 320));
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 2px;
	font-weight: 300;
}

.btn {
	position: relative;
    overflow: hidden;
    display: inline-block;
    min-width: 200px;
    padding: 17px 33px 15px;
    font-size: 18px;
    line-height: 1.34;
    border: 2px solid;
	font-family: var(--font-headings);
    font-weight: 500;
    letter-spacing: 0.075em;
    text-transform: uppercase;
    white-space: nowrap;
    text-overflow: ellipsis;
    text-align: center;
    cursor: pointer;
    vertical-align: middle;
    user-select: none;
    transition: 250ms all ease-in-out;
	letter-spacing: 2px;
	border-radius: inherit;
}

.btn-main {
    color: var(--white-color);
    border: 1px solid var(--green-color);
    background-color: var(--green-color);
    text-decoration: none;
}
.btn-main:hover {
    color: var(--white-color);
    border: 1px solid var(--green-color);
    background-color: var(--green-color);
    text-decoration: none;
}
.btn-inverse {
    color: var(--green-color);
    border: 1px solid var(--white-color);
    background-color: var(--white-color);
    text-decoration: none;
}
.btn-inverse-dark{
    color: black;
    border: 2px solid black;
    background-color: transparent;
    text-decoration: none;
}

.pad-up{
	padding-top: 6em;
}
.pad-down{
	padding-bottom: 6em;
}

.tilted{
	font-family: var(--font-headings);
	font-style: italic;
	font-weight: 500;
}

.green-color{
	color: var(--green-color);
}

.bg-gray{
	background-color: var(--gray-color);
}

.page-header{
	margin: 2em 0;
}

/*Video*/

#video-container {
  overflow:hidden;
  position:relative;
  max-height: 100%;
}

video {
  min-width:100%;
  min-height:100%;
  width: 100%; 
}

.color-overlay {
  width: 100%;
  height: 100%;
  background:linear-gradient(to right,rgba(0, 141, 54, 0.5),rgba(0, 141, 54, 0.5));
  opacity: .9;
  position: absolute;
}

.intro {
    display: table;
    width: 100%;
    height: 100vh;
    color: #000;
    background: no-repeat bottom center scroll;
    background-color: #fff;
    -webkit-background-size: cover;
    -moz-background-size: cover;
    background-size: cover;
    -o-background-size: cover;
}

.intro .intro-body {
    display: table-cell;
    vertical-align: middle;
}

.content {
  position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    transform: translate(-50%,-50%);
    text-align: center;
    z-index: 2;
}
.content p {
  font-size: calc(35px + (70 - 40) * (100vw - 620px) / (1440 - 320));
  padding: 1em 0;
  color:#fff;
}

@media screen and (min-width: 1380px) {
  .content p {
      font-size: 4rem;
	  margin: 10px 0;
	  padding-left:100px;
	  padding-right:100px;
     }
  .content {
      top: 50%;
  }   
  .btn-secondary {
      font-weight: 700;
      background-color: #fff;
      border-color: #fff;
      color: #007A33;
      padding: 20px 50px;
      width: 100%;
  }
   
}
/**/

/*** Home nav **/
#home-nav{
	position: absolute;
	right: 2em;
    top: 2.5em;
	z-index: 4;
	display: block;
}

.hamburger{
	position: absolute;
	top: 2em;
	right: 2em;
	cursor: pointer;
	margin-top: 7px;
	display: none;
	z-index: 100;
}

.rec1, .rec2{
    width: 60px;
    height: 3px;
	fill: white;
}
.rec3{
	width: 40px;
	height: 3px;
	fill: white;
}

@media(max-width:1183px){
	#home-nav{
		display: none;
	}
	.hamburger{
		display: block;
	}
}

.logo-wrapper{
	position: absolute;
	z-index: 2;
	top: 2em;
	left: 2em;
}


.logo-home img,
.logo-wrapper img{
	width: 150px;
	height: auto;
}

.admin-bar .logo-home,
.admin-bar #home-nav,
.admin-bar .logo-wrapper{
	top: 4em;
}

.admin-bar .top-menu-wrapper .logo-home{
	top: 0;
}
.admin-bar .top-menu-wrapper #inner-nav{
	top: 2em;
}

#home-nav li{
 display: inline;	
 font-size: 18px;
 margin: 0 10px;
}

#home-nav a,
#home-nav a:hover{
 color: white;
 text-decoration: none;
}

.mobile-menu{
	width: 100%;
	height: 100vh;
	position: fixed;
	top: 0;
	right: 0;
	z-index: 1000;
	background-color: var(--green-color);
	display: none;
	justify-content: center;
	align-items: center;
}

button.closeBTN{
	position: absolute;
	top: 2em;
	right: 2em;
	z-index: 10001;
}

.closeBTN img{
	width: 35px;
	height: auto;
}
.mobile-menu button{
	background: none;
	border: none;
}
.mobile-menu button img{
	width: 20px;
    height: auto;
}

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

#mobile ul li a{
	color: white;
	text-decoration: none;
	opacity: .6;
	font-weight: 400;
	transition: opacity 0.2s cubic-bezier(0.7, 0, 0.2, 1);
}

#mobile ul li a:hover,
#mobile ul li a:active,
#mobile ul li a:focus{
	color: white;
	text-decoration: none;
	opacity: 1;
	transition: opacity 0.2s cubic-bezier(0.7, 0, 0.2, 1);
}

#mobile ul li{
	font-size: 1.5em;
	margin: 1em;
}

.logo-small{
	position: absolute;
    top: 2em;
    left: 3em;
	z-index: 1000;
}

.logo-small svg{
	width: 250px;
	height: auto;
}

.admin-bar .logo-small svg{
	margin-top: 4em;
}

/*** Inner nav **/
.top-menu-wrapper{
	background-color: var(--green-color);
	position: relative;
	padding: 2em;
}
#inner-nav{
	position: absolute;
	right: 2em;
    top: 2.5em;
	z-index: 4;
	display: block;
}

@media(max-width:1183px){
	#inner-nav{
		display: none;
	}
}

.admin-bar .logo-inner,
.admin-bar #inner-nav{
	top: 4em;
}

#inner-nav li{
 display: inline;	
 font-size: 18px;
 margin: 0 10px;
}

#inner-nav a,
#inner-nav a:hover{
 color: white;
 text-decoration: none;
}

/* Tjenester */

#tjenester a, #tjenester a:hover{
	color: black;
	text-decoration: none;
}

#tjenester .col-sm-4{
	margin-bottom: 15px;
}

#tjenester h3{
	font-size: 2em
}

/* @media only screen and (max-width: 1420px){
	#tjenester h3{
		font-size: calc(15px + (70 - 40) * (100vw - 620px) / (1440 - 320));
	}
} */

.info-box{
	margin: 0 0 3em;
}

.info-box span{
	font-family: var(--font-headings);
}

.info-box .btn{
	min-width: 100%;
}

.album-name {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: white;
    padding: 1em 2em 2em 1em;
}

.img-fluid {
    height: auto !important;
    max-width: 100% !important;
}

/* Årets prosjekt */

.half-bg{
	position: relative;
	width: 100%;
	min-height: 60vh;
	height: auto;
	background: no-repeat center scroll;
	background-color: var(--green-color);
	background-blend-mode: multiply;
	background-size: cover;
	-webkit-background-size: cover;
	-moz-background-size: cover;
	-o-background-size: cover;
	padding: 3em;
	display: flex;
	align-items: center;
	justify-content: center;
}


.module {
	width: 100%;
	max-width: 768px;
	height: auto;
	position: relative;
	/* margin: 20px; */
	border-radius: 3px;
	padding: 12px;
	box-sizing: padding-box;
	position: relative;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	border-left: 3px solid #fff;
	transition: 0.3s;
}
.module__top {
	cursor: move;
	display: flex;
	flex-direction: row;
	width: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.module__top:before {
	border-radius: 3px 0 0 0;
	display: block;
	content: "";
	flex: 2 0 0;
	height: 1px;
	border-top: 3px solid #fff;
	transition: 0.3s;
}
.module__top:after {
	border-radius: 0 3px 0 0;
	display: block;
	content: "";
	flex: 2 0 0;
	height: 1px;
	border-top: 3px solid #fff;
	transition: 0.3s;
}
.top__content {
	/* height: 26px; */
	color: #fff;
	overflow: hidden;
	flex: 0 0 70px;
	margin-top: -30px;
	text-align: center;
	transition: 0.3s;
}
.module__contents {
	color: var(--white-color);
	height: 100%;
	width: 100%;
	padding: 6em 4em 4em;
	transition: 0.3s;
}

.module__contents h4{
	font-size: 2em;
	letter-spacing: 2px;
}
.module__contents h3{
	font-size: calc(45px + (70 - 40) * (100vw - 620px) / (1440 - 320));
}
.module svg{
	max-width: 80px;
}

.st0{
	fill: var(--white-color);
	transition: 0.3s;
}

.half-bg a{
	display: block;
	color: #fff;
	text-decoration: none;
}

.half-bg a:hover .st0{
	fill: gold;
}

.half-bg a:hover .module__top:before,
.half-bg a:hover .module__top:after{
	border-top: 3px solid gold;
}

.half-bg a:hover .module{
	border-right: 3px solid gold;
	border-bottom: 3px solid gold;
	border-left: 3px solid gold;
}

.half-bg a:hover .module__contents{
	color: gold;
}

.half-bg a:hover .btn-inverse{
	background-color: gold;
	color: black;
	border: 1px solid gold;
}

/* Referanser */
.referanse-specs{
	padding: 2em 0;
}

.referanser-wrapper{
	position: relative;
}

.referanser-wrapper .album-name{
	background-color: var(--gray-color);
	padding: 1em 2em 1em 1em;
}
.referanser-wrapper .album-name h3{
	font-size: 2em;
}

.referanser-wrapper{
	margin: 15px;
}

.referanser a{
	color: black;
}

/** Footer **/

.footer-wrapper{
	padding: 4em 2em;
}

.footer-wrapper h2{
  margin: 0 0 10px;
}

.footer-wrapper p,
.footer-wrapper a{
  font-size: 20px;
}

.footer-wrapper a{
  color: var(--green-color);
  padding-bottom: 5px;
  border-bottom: 1px solid var(--green-color);
}

.footer-wrapper a:hover{
	text-decoration: none;
}
.inner-footer{
	padding: 4em 2em;
	background-color: #f0f0f0;
}

.inner-footer h2{
  margin: 0 0 10px;
}

.inner-footer p,
.inner-footer a{
  font-size: 20px;
}

.inner-footer a{
  color: var(--green-color);
  padding-bottom: 5px;
  border-bottom: 1px solid var(--green-color);
}

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

/* Mobile */
@media only screen and (max-width: 650px){
	.btn{
		min-width: 100%;
	}
	.pad-up{
		padding-top: 3em;
	}
	.pad-down{
		padding-bottom: 3em;
	}
	.referanse-specs {
		padding: 0 0 1em 0;
	}
	.page-header {
		margin: 1em 0;
	}
	.module__contents {
		padding: 3em 2em 2em;
	}
	.footer-wrapper {
	    padding: 2em 1em;
	}
}