body {
    background-color: transparent;
    display: flex;
    flex-direction: column;
    height: 100vh;
}

.flexFooter {
    flex: 1;
}

.homelogos {
	display: block;
	margin: 0 auto;
	width: 100%;
	max-width: 300px;
	height: auto;
}

.header {
    position: fixed;
    z-index: 3;
    background: #1a6279;
    width: 100%;
    height: 152px;
}

.logo {
    background-image: url("images/logo.svg");
	background-repeat: no-repeat; 
	padding: 90px;
	width: 100%; 
    max-width: 200px; 
    height: auto;
}

.phone {
	color: #fff;
    font-weight: 300; 
    font-size: 44px; 
    color: #D3D3D3;
    padding: 110px 140px 0 0;
    float: right;
	display: block;
}

.phoneno {
    color: #D3D3D3; 
    font-weight: 300; 
    font-size: 44px; 
    color: #D3D3D3;
    margin-top: -67px;
    padding-left: 20px;
}

.smallphone {
	font-size: 150%;
	font-weight: bold;
	text-align: center;
	height: 50px;
	display: none;
	margin: 10px auto 0 auto;
}

.smallphone a {
	color: #4e8194;
}

/********* Logo Hover Overlay *********/
.boxy {
	position: relative;
	height: 270px;
}

.overlay {
      position: absolute;
      top: 16%;
      bottom: 20%;
      left: 20%;
      right: 20%;
      margin-top: 20px;
	opacity: 0;
      transition: .5s ease;
      background: rgba(230,96,3,.9);
 }

.boxy:hover .overlay {
      opacity: 1;
}

.overlaytext {
      color: white;
      font-size: 20px;
      line-height: 1;
	position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      text-align: center;
	text-transform: lowercase;
}

.overlaytext a {
      color: #fff;
	background: #1c6279;
	margin-top: 10px;
	padding: 4px 14px;
	border-radius: 4px;
	text-transform: uppercase;
}

.overlaytext a:hover {
      color: darkorange;
	background: #fff;
}

.tooltip {
  display: inline;
  position: relative;
}

.tooltip:hover:after{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: center;
  justify-content: center;
  background: #444;
  border-radius: 4px;
  color: #fff;
  content: attr(title);
  margin: -200px auto 0;
  font-size: 16px;
  padding: 13px;
  width: auto;
	/***width: 220px;***/
}

.tooltip:hover:before{
  border: solid;
  border-color: #444 transparent;
  border-width: 12px 6px 0 6px;
  content: "";
  left: 45%;
  top: 40%;
	/***bottom: 30px;***/
  position: absolute;
	z-index: 50;
}

.folio {
	width: 100%;
	max-width: 800px;
	height: auto;
	margin: 0 auto;
}

/************** OVERLAY ************/
        #mask {
            position: absolute;
            left: 0;
            top: 0;
            bottom: 0;
            right: 0;
            z-index: 9000;
            background: rgba(0,0,0,.9);
            display: none;
        }

        #boxes .window {
            position: absolute;
            left: 0;
            top: 0;
            width: 50% !important;
            max-width: 700px !important;
            display: none;
            z-index: 9999;
            padding: 20px !important;
            border-radius: 8px;
            text-align: left;
            background: #fff;
        }

        #boxes #dialog {
            width: 80% !important;
            max-width: 700px !important;
            padding: 30px;
            background-color: #fff ;
            font-family: 'Roboto', sans-serif;
            font-size: 1.5rem;
            color: #333;
        }

        #boxes #dialog a.close{
            opacity: 1 !important;
            
        }
        #popupfoot {
            font-size: 16pt;
            position: absolute;
            top: -10px;
            width: 30px;
            right: -10px;
            color: #fff;
            border-radius: 50%;
            height: 20px;
        }
        #popupfoot a{
            color: #fff; 
            text-decoration: none;}
        
        @media screen and (max-width: 768px){
            #boxes {
            }

            #dialog {
                left: 0 !important;
                width: 95vw !important;
                max-width: 95vw !important;
        }
        }

.justify {
    text-align: justify;
}

.lefty {
    text-align: left;
}

.top240 {
    margin-top: 200px;
}

.top100 {
    margin-top: 100px;
}

.top280 {
    margin-top: 280px;
}

.bottom100 {
   padding-bottom: 100px;
}

.hidePhone {
	display: none;
	position: relative;
	z-index: 25;
	top: 160px;
	background: #fff;
	text-align: center;
	font-size: 2rem;
	color: #000;
}

video {
    margin-top: 185px;
    width: 100%;
    height: auto;
	
}

.hideVideo {
	display: block;
}	

.mute-video {
    background: url("/themes/finelinenew/images/speaker_off.png") no-repeat center;
    background-size: 30px;
    border: 0;
    width: 30px;
    height: 30px;
    text-indent: 9999px;
    position: absolute;
    z-index: 1;
    top: 250px;
    right: 20px;
    color: #fff;
}

.mute-video:focus {
    outline: none;
}

.unmute-video {
    background:url("/themes/finelinenew/images/speaker_on.png") no-repeat center;
    background-size:32px;
}

.subject a {
	font-family: 'Roboto', sans-serif;
	font-size: 2.5rem;
	font-weight: 200;
	text-transform: lowercase;
	text-align: center;
	padding: 40px 0;
	margin: 0 auto;
	color: #000;
}

.subject a:hover {
	color: #ccc;
}

.hometext {
	padding: 20px 0 100px 0;
}

body.scroll {
    background-color: lightcyan;
}


/*.section {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 2500px; 
}*/

.scroll {
    color: #000;
    font-size: 16px;
    font-family: 'Manrope';
    font-weight: 300;
}

.hello {
    color: #fff;
    font-size: 100px;
    font-family: 'Manrope';
    font-weight: 300;
}

::-webkit-scrollbar {
    width: 3px;
    height: 3px;
    position: absolute;
    display: none;
}

.icons {
    width: 100%;
    max-width: 40px;
    color: #fff;
    padding-right: 10px;
}

.icon a {
	color: #444;
	text-decoration: none;
}

.icon a:hover {
	color: teal;
	text-decoration: none;
}

.bggrey {
    background: #c8c8c8;
    margin: 20px 0 0 0;
	padding: 0 0 -20px 0;
}


/*************** IMAGE ROLLOVER ***************/
.img_description_layer {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(36, 62, 206, 0.6);
  color: #fff;
  visibility: hidden;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  /* transition effect. not necessary */
  transition: opacity .2s, visibility .2s;
}

.img_wrap:hover .img__description_layer {
  visibility: visible;
  opacity: 1;
}

.img_description {
  transition: .2s;
  transform: translateY(1em);
}

.img_wrap:hover .img_description {
  transform: translateY(0);
}

.footerfix {
    position:fixed;
    bottom: 0;
    width: 100%;
    z-index: 33;
}

.footer {
    text-align: center;
    color: #fff;
	padding-top: 20px;
}

.footerstrip {
    position: relative;
    bottom: 0;
    width: 100%;
    text-align: center;
    background: #444;
    color: #fff;
	padding: 6px 0 6px 0;
	font-size: 70%;
}

.padbottom {
	padding-bottom: 20px;
}

.justify {
	text-align: justify;
}

.justifyCenter {
	text-align: justify;
	font-size: 2rem;
}

.btn-lg {
	padding: 1rem;
}

.pad200 {
	padding: 240px 20px 100px 20px;
}

.logos {
	min-height: 350px;
	vertical-align: middle;
}

.google-maps {
        position: relative;
        padding-bottom: 75%; // This is the aspect ratio
        height: 0;
        overflow: hidden;
}

.google-maps iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100% !important;
        height: 100% !important;
}

.btn-width {
	width: 100%;
}

/*************** MAORI BUTTON **************/
.btn-maori {
  color: #000;
  background-image: url("https://finelinecreative.co.nz/files/1516/2804/5818/maoriborder.png");
	background-size: cover;
	background-repeat: no-repeat;
background-color: #f8f9fa;
  border-color: #ccc;
}

.btn-maori:hover {
  color: #000;
  background-image: url("https://finelinecreative.co.nz/files/2016/2804/6066/maoriborder_over.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-color: #efefef;
  border-color: #ccc;
}

.btn-maori:focus, .btn-maori.focus {
  color: #000;
  background-image: url("https://finelinecreative.co.nz/files/2016/2804/6066/maoriborder_over.png");
	background-size: cover;
	background-repeat: no-repeat;
	background-color: #efefef;
  border-color: #ccc;
  box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
}




/*************** RESPONSIVE ****************/

/**IPAD**/
@media only screen 
and (min-device-width : 768px) 
and (max-device-width : 1024px) 
and (orientation : landscape)
and (-webkit-min-device-pixel-ratio: 2) {
		.hideVideo {
		display: none;
}
	.hometext {
	padding: 100px 0 100px 0;
}	
}
		
/**ANDROID**/
@media screen and (max-width: 1024px)
and (min-aspect-ratio: 13/9) {
	.hideVideo {
		display: none;
}
	.hometext {
	padding: 100px 0 100px 0;
}	
}

@media screen and (max-width: 1080px) {
	.phone {
		display: none;
	}
	
.smallphone {
	display: block;
}
	
	.hidePhone {
		display: block;
}
}
	
/**IPHONE X**/
@media only screen 
    and (device-width : 375px) 
    and (device-height : 812px) 
    and (-webkit-device-pixel-ratio : 3) {
	.hometext {
		padding-top: 250px;
	}
	
	.top100 {
		margin-top: 0;
	}
	
	.phone {
		display: none;
	}
		
.smallphone {
	display: block;
}
	
	.hidePhone {
		display: block;
	}
	
	.justify {
		text-align: left;
	}
	
	.justifyCenter {
		text-align: center;
	}
	
	.lefty {
    	text-align: center;
	}
	
	.btn-lg {
		padding: .3rem .7rem;
	}
}

/**ANDROID**/
@media screen and (max-width: 768px)
and (min-aspect-ratio: 13/9){
	
.hometext {
		padding-top: 250px;
}
	
.justify {
    text-align: center;
}
	
.top100 {
		margin-top: 0;
}
	
.smallphone {
	display: block;
}
	
.hidePhone {
		display: block;
	}
	
.justifyCenter {
		text-align: center;
	}
	
.lefty {
    	text-align: center;
	}
	
.btn-lg {
		padding: .3rem .7rem;
}
}