/*
	Theme Name: Great Barrier
	Description: Theme for greatbarier.co.nz
	Author: Shaun Lee
	Author URI: http://stet.co.nz

*/

/* COLOURS

Warm black rgba(25, 20, 15, 1);
Warm white rgba(240, 235, 230, 1);
Kara rgba(0, 178, 153, 1);
Warm yellow rgba(255, 160, 47, 1);

*/

/*------------------------------------*\
    GLOBAL
\*------------------------------------*/

/* global box-sizing */
*,
*:after,
*:before {
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	-webkit-font-smoothing:antialiased;
	font-smoothing:antialiased;
	text-rendering:optimizeLegibility;
}

html {
	font-size:62.5%; /* html element 62.5% font-size for REM use */
}

body {
	font: 300 1.6rem/150% 'Fira Sans', sans-serif; /* 16px */ 
	color: rgba(25, 20, 15, 1);
}
/* clear */
.clear:before,
.clear:after {
    content:' ';
    display:table;
}

.clear:after {
    clear:both;
}

.clear {
    *zoom:1;
}

img {
	max-width:100%;
	vertical-align:bottom;
}

a:link, a:visited, a:focus, a:hover, a:active {
	outline:0;
    text-decoration: none;
    color: rgba(0, 178, 153, .7);
    transition: color .6s;
}

a:hover, a:active {
    color: rgba(255, 160, 47, 1);
}

input:focus {
	outline: 0;
	border: 1px solid rgba(0, 178, 153, 1);
}

.button:link, .button:visited, input[type="submit"] {
    display: inline-block;
    padding: 1rem 2rem;
    border-radius: 2rem;
    border: none;
    text-align: center;
    text-transform: uppercase;
    text-decoration: none;
    line-height: 1;
    color: #fff;
    background-color: rgba(0, 178, 153, .9);
    transition: background-color .6s;
}

.button:hover, .button:active {
    color: #fff;
    background-color: rgba(255, 160, 47, 1);
    text-decoration: none;
}

/*------------------------------------*\
    STRUCTURE
\*------------------------------------*/

.wrapper {
	width: 100%;
	margin: 0 auto;
}

/*------------------------------------*\
    HEADER
\*------------------------------------*/

.header {
    height: 220px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 99;
    width: 100%;
}

.header .agbi-logo {
    display: block;
    width: 255px;
    height: 94px;
    margin: 0 auto;
    text-indent: -9999px;
    background-image: url(img/agbi-slogan-rgb-white.svg);
    background-repeat: no-repeat;
    background-size: cover;
}

@media (min-width: 768px) {
    .header .agbi-logo {
        margin: 2rem auto 0 auto;
    }
}

.header-background {
    height: 95vh;
    min-height: 512px;
    position: relative;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.hobson-sunset { background-image: url(img/header-hobson-sunset.jpg); }
.haratonga-beach { background-image: url(img/header-family-beach.jpg); }
.haratonga-sunrise { background-image: url(img/header-haratonga-sunrise.jpg); }
.gooseberry { background-image: url(img/header-gooseberry.jpg); }



.header-background .content {
    position: absolute;
    bottom: 1rem;
    left: 0;
    width: 100%;
}

.header-background h1 {
    font-weight: 300;
    font-size: 7rem;
    color:  #fff;
    line-height: .8;
    margin: 0;
    text-align: center;
    text-transform: uppercase;
}

.header-background .content p {
    text-align: center;
    color: #fff;
    padding: 0 2rem;
}

@media (min-width: 768px) {
    
    .header-background .content {
        bottom: 4rem;
    }
    
    .header-background h1 {
        font-size: 10rem;
        line-height: .8;
    }
    
    .header-background .content p {
        padding: 0 20rem;
    }
    
}

.categories-background {
     padding: .5rem 1rem 1rem .5rem;   
}

.categories-background h5 {
    margin: 0;
    padding: 0 1rem; 
    font-weight: 300;
    font-size: 1.2rem;
    color: rgba(25, 20, 15, 1);
}

.categories-background .button {
    margin: .5rem 0 0 .5rem;
    border-radius: 1rem;
}

.categories-background .all {
    background-color: rgba(25, 20, 15, 1);
    
}

.header-small {
    height: 24rem;
    min-height: 240px;
}

/*------------------------------------*\
    HEADINGS
\*------------------------------------*/


h1 {
    font-weight: 300;
    font-size: 7rem;
    line-height: .8;
    margin: 0;
}

h4 {
    padding: 1rem;
    margin: 0 0 0 0;
    text-align: center;
    color: rgba(240, 235, 230, 1);
    border-top: solid 1px rgba(240, 235, 230, .5);
    background-color: rgba(25, 20, 15, 1);
    clear: both;
}

.tiles h4 {
    margin: -4.4rem 0 0 0;
}

@media (min-width: 768px) {
    h4 {
        width: 17rem;
        height: 8rem;
        border-radius: 2rem;
        border: none;
        text-align: left;
        padding: 1rem 1rem 1rem 1.5rem;
    }
    
    .tiles h4 {
        margin: -3.4rem 0 0 0;
        width: 24rem;
    }
    
    .events-background h4, .forecast-background h4 {
        margin: -3.4rem 0 0 -.7rem;
    }
}


/*------------------------------------*\
    TOP NAV
\*------------------------------------*/
    
.top-nav {
    margin-top: 8px;
    width: 100%;
    background-color: black; 
    padding: 0;
    font-size: 0;
    
    background: -moz-linear-gradient(45deg, rgba(255,160,0,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: -webkit-gradient(left bottom, right top, color-stop(0%, rgba(255,160,0,0.4)), color-stop(100%, rgba(0,0,0,0.5)));
    background: -webkit-linear-gradient(45deg, rgba(255,160,0,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: -o-linear-gradient(45deg, rgba(255,160,0,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: -ms-linear-gradient(45deg, rgba(255,160,0,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: linear-gradient(45deg, rgba(255,160,0,0.4) 0%, rgba(0,0,0,0.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffa000', endColorstr='#000000', GradientType=1 );
    
}

.home .top-nav {
    background: -moz-linear-gradient(45deg, rgba(0, 178, 153,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: -webkit-gradient(left bottom, right top, color-stop(0%, rgba(0, 178, 153,0.4)), color-stop(100%, rgba(0,0,0,0.5)));
    background: -webkit-linear-gradient(45deg, rgba(0, 178, 153,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: -o-linear-gradient(45deg, rgba(0, 178, 153,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: -ms-linear-gradient(45deg, rgba(0, 178, 153,0.4) 0%, rgba(0,0,0,0.5) 100%);
    background: linear-gradient(45deg, rgba(0, 178, 153,0.4) 0%, rgba(0,0,0,0.5) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00B299', endColorstr='#000000', GradientType=1 );
}

.top-nav ul, .top-nav li {
    padding: 0;
    margin: 0;
    text-align: right;
}

.top-nav li {
    display: inline-block;
    width: 22%;
    vertical-align: top;
    margin: 0 0 0 0;
}

.top-nav .divider {
    width: 1px; /* there are three */
    display: inline-block;
    border-right: 1px solid rgba(255, 255, 255, .2);
    /*height: 3.4rem;
    padding: 2rem 0rem 1rem 0rem;
    margin: 2rem 0rem 1rem 0rem;*/
    height: 65px;
}

.top-nav li a {
    display: inline-block;
    width: 100%;
    height: 65px;
    font-size: 2rem;
    line-height: 1.8rem;
    font-weight: 100;
    display: inline-block;
    padding: 1.5rem 0 1rem 0;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    transition: color .6s;
}

@media (min-width: 420px) {
    
    .top-nav li a {
        /*padding: 1rem 0 1rem 0;*/
        font-size: 3rem;
        line-height: 2.8rem;
        height: 85px;
    }
    
    .top-nav .divider {
        height: 85px;
    }
    
}

@media (min-width: 768px) {
    
    .top-nav li a, .top-nav .divider {
        height: 56px;
    }
    .top-nav {
        margin-top: 3rem;
    }
    
}

.top-nav li a:link, .top-nav li a:visited {
    color: rgba(255,255,255,0.8);
}

.top-nav li a:hover, .top-nav li a:active {
    color: rgba(255,186,0,1);
}

.top-nav li:last-child a {
    font-size: 0;
    line-height: 0;
    color: transparent;
}

.top-nav li:last-child a .the-icon {
    display: block; 
    text-align: center;
    margin: 0 auto;
    width: 50px;
    height: 50px;
    background-image: url(img/icons.png);
    background-repeat: no-repeat;
    background-position: 0 -350px;
}

.top-nav li:last-child a .the-icon:hover {
    background-position: 0 -300px;
}

@media (min-width: 1024px) {
    .top-nav {
        border-radius: 4rem 0 0 4rem;
        width: 70%;
        float: right;
    }
}

.term-getting-here .get-button, .page-template-page-list-activities .play-button, .page-template-page-list-accommodations .stay-button {
    background-color: rgba(255, 255, 255, .2);
}


/*------------------------------------*\
    BOTTOM MENU
\*------------------------------------*/

.menu-container {
    background-color: rgba(25, 20, 15, 1);
    margin: 0 auto;
    padding: 0;
}

.bottom-menu li {
    display: inline-block;
    list-style-type: none;
    padding: 0;
    margin: 0 auto; 
    text-align: center;
}

.bottom-menu .sub-menu {
    padding: 0;
}

.bottom-menu .menu-item-has-children {
    width: 100%;
}

.bottom-menu .menu-item-has-children > a {
    height: 2rem;
    border: none;
    border-radius: 0;
    border-top: solid 1px rgba(240, 235, 230, .5);
    width: 100%;
    text-transform: uppercase;
    transition: color .6s;
    margin: 0 0 0 0;
    padding: 2rem 2rem 4rem 2rem;
}

.bottom-menu .menu-item-has-children > a .the-icon {
    display: none;
}

.bottom-menu .menu-item-has-children > a .icon-text {
    color: rgba(0, 178, 153, 1);
}

.bottom-menu .menu-item-has-children > a:hover {
    background-color: transparent;
}

.bottom-menu .menu-item-has-children > a:hover .icon-text {
    color: rgba(255, 160, 47, 1);
}
    
.bottom-menu a {
    display: block;
    position: relative;
    width: 220px;
    height: 130px;
    padding: 1rem;
    margin: 2px;
    color: #fff;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    text-align: center;
    border-radius: 12px;
    border: solid 1px rgba(255, 255, 255, .5);
    transition: background-color .6s;
}

.bottom-menu a:hover {
    background-color: rgba(255, 160, 47, 1);
}

.bottom-menu a .the-icon {
    display: block; 
    text-align: center;
    margin: 0 auto;
    width: 100px;
    height: 100px;
    background-image: url(img/icons.png);
    background-position: 0 0;
    background-repeat: no-repeat;
    transform: scale(0.8,0.8);
}

.bottom-menu a .icon-text {
    position: absolute;
    bottom: 1rem;
    left: 0;
    width: 100%;
}

.bottom-menu .menu-item-has-children > a .icon-text {
    position: static;
}

.bottom-menu .activities .the-icon { background-position: 0 0; }
.bottom-menu .where-to-eat .the-icon { background-position: -100px 0; }
.bottom-menu .great-adventures .the-icon { background-position: -200px 0; }
.bottom-menu .events .the-icon { background-position: -300px 0; }
.bottom-menu .info-for-boaties .the-icon { background-position: -400px 0; }
.bottom-menu .have-your-event-here .the-icon { background-position: -500px 0; }

.bottom-menu .activity-listinggetting-here .the-icon { background-position: 0 -100px; }
.bottom-menu .activity-listinggetting-around .the-icon { background-position: -100px -100px; }

.bottom-menu .accommodations .the-icon { background-position: -300px -100px; }
.bottom-menu .essential-info .the-icon { background-position: -400px -100px; }
.bottom-menu .live-here .the-icon { background-position: -500px -100px; }

.bottom-menu .great-skies .the-icon { background-position: 0px -200px; }
.bottom-menu .great-beaches .the-icon { background-position: -100px -200px; }
.bottom-menu .great-walks .the-icon { background-position: -200px -200px; }
.bottom-menu .contact-us > .the-icon { background-position: -300px -200px; }
.bottom-menu .our-environment > .the-icon { background-position: -400px -200px; }


@media (min-width: 768px) {
    
    .menu-background {
        background-color: rgba(240, 235, 230, 1);
        padding-top: 9rem;
    }
    
    .menu-container {
        padding: 3rem 0 0 0;
    }
    
    .bottom-menu {
        height: 38rem;
        margin: -9rem 0 0 0;
    }
    
    .bottom-menu > .see-do {
        margin: 0 0 0 2rem;
    }
    
    .bottom-menu .menu-item-has-children > a {
        padding: 2rem 1rem 2rem 1rem;
        border-radius: 2rem 2rem 0 0;
        background: transparent;
        border-top: none;
        margin: 2px 0 0 1.5rem;
        height: 6rem;
    }
    
    .bottom-menu .menu-item-has-children { 
        display: block;
        float: left;
        position: relative;
        width: 18rem;
        height: 4rem;
        margin: 0;
    }
    
    .bottom-menu > .li:last-child {
        clear: both;
    }
    
    .bottom-menu .menu-item-has-children .sub-menu {
        position: absolute;
        top: 7rem;
        width: calc(100vw - 4rem);
        text-align: left;
    }
    
    /* Counter the indent from the tab positions for each item */
    .bottom-menu .see-do .sub-menu { left: 2rem; }
    .bottom-menu .transport .sub-menu { left: calc(-16rem); }
    .bottom-menu .staying-here .sub-menu { left: calc(-16rem*2 - 2rem); }
    .bottom-menu .contact-us .sub-menu { left: calc(-17rem*3 - 1rem); }
    
    .bottom-menu .menu-item-has-children .sub-menu li { 
        display: inline-block;
    }
    
    .bottom-menu .menu-item-has-children .selected:link, .bottom-menu .menu-item-has-children .selected:visited, .bottom-menu .menu-item-has-children .selected:hover, .bottom-menu .menu-item-has-children .selected:active {
        background-color: rgba(25, 20, 15, 1);
        transition: background-color .3s;
        
    }
}

/*------------------------------------*\
    EVENTS SIDEBAR & NAV
\*------------------------------------*/

.events-background {
    background-color: #fff;
}

@media (min-width: 768px) {
    .events-background { /* Make space for h4's */
        padding-top: 8rem;
        padding-left: 2rem; 
    }
    .events-container {
        background-color: rgba(240, 235, 230, 1);
        border-radius: 1rem;
        margin: -4.5rem 0 0 0;
    }
}

.events-background h5 {
    margin: 0;
}

.events-background .event-title {
    font-size: 2.5rem;
    font-weight: 300;
    padding: 2rem 2rem 0 2rem;
}

.events-background .event-date {
    margin: 0;
    padding: 0 2rem 0 2rem;
    color: rgba(25, 20, 15, .5);
}

.events-background .event-date:last-child {
    padding: 0 2rem 2rem 2rem;
}

/*------------------------------------*\
    SIDEBAR WEATHER
\*------------------------------------*/


@media (min-width: 768px) {
    
    .forecast-background { /* Make space for h4's */
        padding: 8rem 0 2rem 2rem;
        background-color: #fff;
    }
    
    .wu-wrapper {
        background-color: rgba(240, 235, 230, 1);
        border-radius: 1rem;
        margin: -4.5rem 0 0 0;
    }
}

.sidebar .wu-has-icon .wu-simple-forecast-day {
    min-width: 50%;
    width: 50%;
    padding: 10%;
    margin: 0 auto;
}

.wu-forecast-wrapper div, .wu-wrapper div img {
    display: block;
    margin: 0 auto;
}

.wu-forecast-wrapper .wu-day-title {
    text-align: center;
    font-family: 'Fira Sans', sans-serif;
}

.wu-copyright {
    margin-right: 7px;
}

/*------------------------------------*\
    SIDEBAR MAP & GRID
\*------------------------------------*/

.sidebar-map, .sidebar-grid {
    position: relative;
    height: 40rem;
    width: 100%;
    background-size: cover;
}

.sidebar-map, .sidebar-grid {
    background-image: url(img/maps/discover-aotea-great-barrier-island-thumb.jpg);
}

.sidebar-grid {
    background-image: url(img/off-the-grid.jpg);
}

.sidebar-map .view-map, .sidebar-grid .view-grid {
    display: block;
    position: absolute;
    top: 90%;
    left: 50%;
    transform: translate(-50%, -90%);
    width: 80%;
    padding: 4rem;
    font-weight: 700;
    font-size: 2rem;
    background-color: rgba(25, 20, 15, .8);
}

@media (min-width: 768px) {
    .sidebar-map .view-map, .sidebar-grid .view-grid {
        padding: 1rem;
        border-radius: .5rem;
        transition: background-color .6s;
    }
    .sidebar-map .view-map:hover, .sidebar-grid .view-grid:hover {
        background-color: rgba(255, 160, 47, 1);
    }
}

.sidebar-grid h2 {
    margin: 0;
    padding: 4rem 0 0 0;
    text-align: center;
    font-size: 4rem;
    line-height: .8;
    color: #fff; 
    text-transform: uppercase;
}

/*------------------------------------*\
    FOOTER
\*------------------------------------*/

footer {
    background: rgba(25, 20, 15, 1);
    
    background: -moz-linear-gradient(top, #14362d 0%, #19140f 45%, #19140f 100%);
    background: -webkit-linear-gradient(top, #14362d 0%,#19140f 45%,#19140f 100%);
    background: linear-gradient(to bottom, #14362d 0%,#19140f 45%,#19140f 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#14362d', endColorstr='#19140f',GradientType=0 );
    
    color: rgba(240, 235, 230, 1);
}

.footer-menu {
    margin: 0 0 4rem 0;
}

.footer-menu ul, .footer-menu li {
    list-style-type: none;
    padding: 0;
}

.footer-menu ul {
    margin: 4rem;
}

.footer-menu .menu-item-has-children {
    font-weight: 700;
    padding-top: 1rem;
    text-transform: uppercase;
}

.footer-menu .menu-item-has-children:nth-child(2) {
    padding-top: 4rem;
}

.footer-menu .sub-menu {
    margin: 0;
    font-weight: 300;
    text-transform: none;
}

@media (min-width: 768px) {
    
    footer {
        height: 44rem; /* 4 more rem than the height of the footer menu items to make space for copyright */
        position: relative;
    }
    
    .footer-menu > .see-do, .footer-menu > .transport, .footer-menu > .staying-here, .footer-menu > .contact-us {
        float: left;
        height: 40rem;
    }
    
    .footer-menu .see-do {
        width: 19.2rem;
    }
    
    .footer-menu .transport {
        width: 15.4rem;
    }
    
    .footer-menu .staying-here {
        width: 15rem;
    }
    
    .footer-menu .contact-us {
        width: 15rem;
    }
    
    .footer-menu .menu-item-has-children:nth-child(2) { /* First item in menu see-do */
        padding-top: 1rem;
    }
    
}

.cta {
    background-color: rgba(0, 178, 153, 1);
    border-radius: 2rem;
    color: #fff;
    width: 80%;
    margin: 1rem auto 0 auto;
    padding: 2rem;
}

@media (min-width: 768px) {
    .cta {
        float: left;
        margin: -2rem 0 0 0;
        width: 26rem;
        position: absolute;
        right: 2rem;
        bottom: 4rem;
    }
}

@media (min-width: 1024px) {
    .cta {
        right: 4rem;
        bottom: 26rem;
    }
}

.cta a:link, .cta a:visited, .cta a:hover, .cta a:active {
    color: #fff;
}

.cta .chatty:link, .cta .chatty:visited {
    display: inline-block;
    width: 100%;
    padding: 2rem;
    margin: 1rem 0;
    text-align: center;
    border-radius: 1rem;
    color: rgba(0, 178, 153, 1);
    background-color: #fff;
}

.cta .chatty:hover, .cta .chatty:active {
    color: #fff;
    color: rgba(255, 160, 47, 1);
}

.cta .ph-number {
    font-size: 2.6rem;
    font-weight: 700;
}

.copyright {
    clear: both;
    font-size: 1.2rem;
    padding: 1rem;
    margin: 0;
}

/*------------------------------------*\
    SOCIAL
\*------------------------------------*/

.social {
    padding: 2rem;
}

@media (min-width: 768px) {
   .social {
        /* float: right; */
        position: absolute;
        left: 2rem;
        bottom: 4rem;
        width: 32rem;
    }
}

.social a {
    display: block;
    width: 100px;
    height: 100px;
    margin: 0 0 0 1rem;
    text-indent: -9999px;
    border-radius: 100%;
    background-image: url(img/icons.png);
    background-repeat: no-repeat;
    background-color: rgba(0, 178, 153, .1);
    transform: scale(0.8,0.8);
    transition: background-color .6s;
}

.social a:hover {
    background-color: rgba(255, 160, 47, .5);
}

.social .instagram {
    background-position: -200px -300px;
    float: left;
    margin-left: 10%;
}

.social .facebook {
    background-position: -300px -300px;
    float: right;
    margin-right: 10%;
}
    
/*------------------------------------*\
    SIDEBAR WIDE
\*------------------------------------*/
    
@media (min-width: 768px) {
    
    .sidebar {
    }
    
    .sidebar-wide {
        
    }
    
    .events-background .events-container, .forecast-background .wu-wrapper, .sidebar-map, .sidebar-grid {
        height: 40rem;
    }
    
    .events-background {
        width: 30%;
        float: left;
    }
    
    .forecast-background {
        width: 27%;
        max-width: 300px;
        float: left;
    }
    
    .sidebar-map {
        width: 20%;
        float: left;
        margin: 8rem 1.5% 0 1.5%;
    }
    
    .sidebar-grid {
        margin-top: 8rem;
        width: 20%;
        float: left;
    }
    
}

@media (min-width: 1280px) {
    
    .events-background {
        width: calc(97% - 900px);
    }
    
    .forecast-background {
        width: 300px;
    }
    
    .sidebar-map {
        width: 300px;
        margin-right: 1%;
        margin-left: 1%;
    }
    
    .sidebar-grid {
        width: 300px;
        margin-right: 1%;
    }
    
}

/*------------------------------------*\
    HOMEPAGE PROMOS
\*------------------------------------*/

.promo  {
    background-size: cover;
    background-repeat: no-repeat;
    height: 95vh;
    min-height: 512px;
    position: relative;
}

.promos .skies {
    background-image: url(img/promo-skies.jpg);
}

.promos .beaches {
    background-image: url(img/promo-beaches.jpg);
}

.promos .walks {
    background-image: url(img/promo-walks.jpg);
}

.promos .content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}

.promo .content:first-child {
    top: 60%;
    left: 50%;
    transform: translate(-50%, -60%);
}

.promos h1, .promos p {
    text-align: center;
    color: #fff;
    text-shadow: 0px 0px 4px rgba(0,0,0,.5);
}

.promos h1 {
    font-weight: 300;
    font-size: 7rem;
    line-height: .8;
    margin: 0;
}

.promos p {
    width: 80%;
    line-height: 1.2;
    margin: 0 auto;
}

@media (min-width: 420px) {
    .promos p {
        margin-top: 1rem;
        margin-bottom: -1rem;
        width: 80%;
    }
}

@media (min-width: 768px) {
    .promos h1 {
        font-size: 10rem;
        line-height: .8;
    }
    .promos p {
        width: 40%;
        font-size: 2rem;
        line-height: 1.2;
    }
}

.promos .button {
    width: 80%;
    max-width: 40rem;
    position: absolute;
    top: 92%;
    left: 50%;
    transform: translate(-50%, -90%);
    padding: 2rem;
    -webkit-box-shadow: 0px 0px 0px 10px rgba(0,0,0,0.2);
    -moz-box-shadow: 0px 0px 0px 10px rgba(0,0,0,0.2);
    box-shadow: 0px 0px 0px 10px rgba(0,0,0,0.2);
    transition: max-width .6s;
}

.promos .button:hover {
    max-width: 42rem;
}

/*------------------------------------*\
    PROMO SHADOW FX
\*------------------------------------*/

.promos .shadow {
    display: none;
}

@media (min-width: 1024px) {
    
    .promos .shadow {
        display: block;
        width: 1024px;
        height: 60px;
        margin: 0 auto;
        background-image: url(img/promo-ds.png);
        background-repeat: no-repeat;
        position: relative;
        z-index: 11;
    }
    
    .promo {
        z-index: 10;
    }
    
    .promos .beaches {
        margin-top: -70px;
        z-index: 9;
    }
    
    .promos .walks {
        margin-top: -70px;
        z-index: 8;
    }
    
    .home .features-background {
        position: relative;
        margin-top: -70px;
        z-index: 7;
    }

}

@media (min-width: 1280px) {
    
    .promos .shadow {
        transform: scale(1.2,1);
    }
    
}

@media (min-width: 1536px) {
    
    .promos .shadow {
        transform: scale(1.5,1);
    }
    
}

/*
.shadow {
  position: relative;
}

.shadow:before, .shadow:after {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: -15px;
  left: 10px;
  width: 50%;
  top: 90%;
  max-width:300px;
  background: #777;
  -webkit-box-shadow: 0 15px 10px #777;
  -moz-box-shadow: 0 15px 10px #777;
  box-shadow: 0 15px 10px #777;
  -webkit-transform: rotate(-3deg);
  -moz-transform: rotate(-3deg);
  -o-transform: rotate(-3deg);
  -ms-transform: rotate(-3deg);
  transform: rotate(-3deg);
}

.shadow:after {
  -webkit-transform: rotate(3deg);
  -moz-transform: rotate(3deg);
  -o-transform: rotate(3deg);
  -ms-transform: rotate(3deg);
  transform: rotate(3deg);
  right: 10px;
  left: auto;
}
*/

/*------------------------------------*\
    CONTACT FORM
\*------------------------------------*/
 
.contact-form {
    display: none;
    position: fixed;
    overflow-y: scroll;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    background-color: rgba(25, 20, 15, .96);
    color: #fff;
    padding: 8rem 2rem 8rem 2rem;
    text-align: center;
}

.contact-form .close {
    position: absolute;
    top: 2rem;
    right: 2rem;
    padding: 2rem;
    border-radius: 100%;
    font-size: 2rem;
    width: 60px;
    height: 60px;
}

.contact-form textarea, .contact-form input {
    resize: none;
    margin: 0 auto;
    width: 90%;
}

@media (min-width: 1024px) {
    .contact-form textarea, .contact-form input {
        width: 50%;
    }
}

/*------------------------------------*\
    TILES
\*------------------------------------*/

.features-background {
    background-color: rgba(240, 235, 230, 1); 
}

.tiles {
    padding: 4.5rem 0 0 0;
}

.tiles .tile-item {
    background-color: #fff;
    width: calc(100% - 2rem);
    margin: 1rem 0 0 1rem;
    height: 40rem;
}

.tiles .tile-image {
    width: 100%;
    height: 220px;
    background-repeat: no-repeat;
    background-size: 142%;
    background-position: 50% 50%;
    transition: background-size .6s;
}

.tiles .tile-image:hover {
    background-size: 150%;
}

@media (min-width: 768px) {
    .tiles .tile-item {
        width: 48.5%;
        margin: 0 0 1% 1%;
        overflow: hidden;
    }
    
    .tiles .tile-item:nth-of-type(1) {
        border-radius: 1rem 0 0 0;
    }
}

@media (min-width: 1024px) {
    .tiles .tile-item {
        width: 23.8%;
        margin: 0 0 1% 1%;
    }
}

.tiles img {
    width: 100%;
}

.tiles h3 {
    font-size: 3rem;
    font-weight: 300;
    text-transform: uppercase;
    line-height: .9;
    text-align: center;
    padding: 2rem 2rem 0 2rem;
    margin: 0;
}

.tiles p {
    color: rgba(25, 20, 15, 1);
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.2;
    padding: 0 2rem 2rem 2rem;
    margin: 0;
}

.tiles .tiles-more {
    text-align: center;
    text-transform: uppercase;
    line-height: .9;
    font-size: 3rem;
    padding: 1rem;
    margin-bottom: 1rem;
    height: 12rem;
}

@media (min-width: 768px) {
    .tiles .tiles-more {
        height: 40rem;
    }
}

.tiles-more a {
    display: block;
    width: 80%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.tiles .price {
    display: block;
    position: absolute;
    right: 1rem;
    top: 1rem;
    color: #fff;
    width: 14rem;
    background-color: rgba(0, 178, 153, .9);
    text-align: center;
    padding: 1rem 2rem;
    text-transform: uppercase;
    line-height: 1;
    text-decoration: none;
    border-radius: 2rem;
    border: none;
}

@media (min-width: 768px) {
    .tiles { /* Make space for h4's */
        padding-top: 8rem;
        margin-left: 1rem;
    }
}


/*------------------------------------*\
    SINGLE LISTINGS
\*------------------------------------*/

.single article {
    margin: 1rem;
}

@media (min-width: 1044px) {
    .single article {
        margin: 1rem auto;
        max-width: 1024px;
    }
}

.single .featured-image {
    width: 100%;
}

.single article h1 {
    font-weight: 300;
    font-size: 4rem;
    line-height: .8;
    margin: 0;
}

@media (min-width: 768px) {
    .single article h1 {
        margin: 2rem 0;
    }
}

.excerpt {
    font-size: 2.4rem;
}

.features {
    padding: 2rem;
    margin: 0 0 1rem 0;
    background-color: rgba(240, 235, 230, 1);
}

.features p {
    margin-top: 0;
}

.features .categories {
    border-top: 1px solid rgba(25, 20, 15, .2);
    padding: 1rem 0 0 0;
}

.features .categories .button {
    margin: .5rem .5rem .5rem 0;
}

.reviews #CDSWIDSSP { /* Trip advisor */
    width: 100% !important;
}

.reviews iframe { /* Bookabatch */
    width: 100% !important;
}

@media (min-width: 768px) {
    
    article h1 {
        margin: 2rem 0 0 0;
    }
    
    .excerpt {
        margin-bottom: 0;
    }
    
    .the-content {
        width: 33.3%;
        float: left;
    }
    
    .features-container {
        width: 28.3%;
        float: left;
        margin: 16px 2.5%;
    }
    
    .features {
        margin: 0 0 1rem 0;
    }

    .map {
        /* width: 33.3%;
        float: left;
        margin: 16px 0; */
    }
    
    .widSSPData { 
        padding: 0 !important;
    }
    
    .reviews {
        width: 33.3%;
        float: left;
        margin: 16px 0;
    }
    
}

@media (min-width: 1024px) {
    .features-container {
        width: 30.3%;
        margin: 16px 1.5%;
    }
}

@media (min-width: 1280px) {
    
    .the-content {
        width: 50%;
    }
    .features-container {
        width: 22%;
    }
    .reviews {
        width: 25%;
    }
}

.single article hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid rgba(25, 20, 15, .25);
    margin: 1em 0;
    padding: 0; 
}

/*------------------------------------*\
    SPECIAL AMENITIES LIST
\*------------------------------------*/

.icon-bullet {
    list-style-type: none;
    margin: 0 0 25px -48px;
}

.acc-icon {
    display: block;
    float: left;
    text-indent: -9999px;
    width: 50px;
    height: 50px;
    margin: -15px 0 0 0;
    background-image: url(img/icons.png);
    background-repeat: no-repeat;
    transform: scale(.7,.7);
}

.icon-bullet .text {
    display: block;
    float: left;
    width: calc(100% - 50px);
    line-height: 1;
}

.icon-bullet .max { background-position: 0 -400px; }
.icon-bullet .beds { background-position: -50px -400px; }
.icon-bullet .power { background-position: -100px -400px; }
.icon-bullet .water { background-position: -150px -400px; }
.icon-bullet .toilet { background-position: -200px -400px; }
.icon-bullet .view { background-position: -250px -400px; }
.icon-bullet .stars { background-position: -300px -400px; }
.icon-bullet .distance { background-position: -350px -400px; }
.icon-bullet .kitchen { background-position: -400px -400px; }
.icon-bullet .payment { background-position: -450px -400px; }

.features-free {
    border-top: 1px solid rgba(25, 20, 15, .2);
    padding-top: 16px;
}

/*------------------------------------*\
    PAGES
\*------------------------------------*/

.page-image {
    height: 380px;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: no-repeat;
}

.article-header {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 380px;
    padding: 220px 0 0 0;
}

.page .title {
    font-weight: 700;
    font-size: 2rem;
    line-height: .8;
    margin: 0;
    color: #fff;
    text-align: center;
}

.page .excerpt {
    font-size: 1.6rem;
    line-height: 1;
    text-align: center;
    color: #fff;
    font-style: italic;
    padding: 1rem;
}

@media (min-width: 768px) {
    .page .title {
        font-size: 6rem;
        font-weight: 300;
        margin: 0 0 2rem 0;
    }
}

@media (min-width: 1024px) {
    .page .excerpt {
        width: 50%;
        margin: 0 auto;
    }
}

.page article {
    padding: 0 1rem;
}

.page article li {
    margin: 0 0 .8rem 0;
}

.page-section {
    margin: 0 auto;
    max-width: 1024px;
}

.page aside {
    padding: 0 1rem 1rem 1rem;
}

@media (min-width: 768px) {
    .page article {
        width: 70%;
        max-width: 704px;
        float: left;
        padding: 0 4% 0 4%;
        margin: 0;
    }
    .page aside {
        width: 30%;
        max-width: 320px;
        float: left;
        padding: 5% 5% 5% 2%;
    }
}

.page aside .map-image {
    display: block;
    min-height: 160px;
    width: 90%;
    padding-top: 2rem;
    margin: 0 5%;
    background-size: cover;
    background-position: 50% 50%;
}

.page aside .aotea {
    background-image: url(img/maps/discover-aotea-great-barrier-island-thumb.jpg);
}

.page aside .dark-sky {
    background-image: url(img/maps/dark-skies-thumb.jpg);
}

.page aside .tryphena {
    background-image: url(img/maps/discover-tryphena-thumb.jpg);
}

.page aside .fitzroy {
    background-image: url(img/maps/discover-fitzroy-thumb.jpg);
}

.page aside .whangaparapara {
    background-image: url(img/maps/discover-whangaparapara-thumb.jpg);
}

.page aside .doc {
    background-image: url(img/maps/doc-thumb.jpg);
}

.page aside .boaties {
    background-image: url(img/maps/brochure-boaties-thumb.jpg);
}

.page aside .b-essential {
    background-image: url(img/maps/brochure-essential-thumb.jpg);
}

.page aside .b-waste {
    background-image: url(img/maps/brochure-waste-thumb.jpg);
}

.page aside .m-essential {
    background-image: url(img/maps/map-essential-thumb.jpg);
}

.page aside .map-eco {
    background-image: url(img/maps/map-eco-thumb.jpg);
}

.page aside .map-link {
    display: block;
    width: 90%;
    padding-bottom: 2rem;
    margin: 0 5%;
}

@media (min-width: 768px) {
    .page aside .map-image {
        width: 100%;
        margin: 0;
    }
    .page aside .map-link {
        width: 100%;
        margin: 0;
    }
}


.video-responsive{
    overflow:hidden;
    padding-bottom:56.25%;
    position:relative;
    height:0;
}
.video-responsive iframe{
    left:0;
    top:0;
    height:100%;
    width:100%;
    position:absolute;
}

.contact-button {
    margin-bottom: 2rem;
}

.p-picture {
    margin: 0 0 0 0;
}

.p-caption {
    margin: 4px 0 0 0;
    font-size: 1.2rem;
    line-height: 1.4rem;
    font-style: italic;
}

blockquote {
    border: 1px solid rgba(25, 20, 15, 1);
    margin: 1rem 2rem;
    padding: 1rem 2rem;
}

aside blockquote {
    margin: 1rem 0;
}

.duration { /* Great walks page */
    text-transform: uppercase;
    color: rgba(25, 20, 15, .5);
    padding: .5rem .5rem .5rem 3rem;
    background-image: url(img/icon-duration.png);
    background-repeat: no-repeat;
    background-position: 10px 7px;
    background-size: 16px 16px;
}

/*------------------------------------*\
    EVENTS ARCHIVE
\*------------------------------------*/

.header-events {
    height: 44rem;
    min-height: 440px;
}

.header-events h1 {
    padding: 24rem 2rem 0 2rem;
    font-size: 5rem;
}

@media (min-width: 768px) {
    
    .header-events h1 {
        font-size: 7rem;
    }
    
}

.nav-events h3 {
    padding: 0 0 0 2rem;
    margin-bottom: 0;
}

.events article h2 {
    font-weight: 300;
}

@media (min-width: 768px) {
    
    .events article h2 {
        font-size: 5rem;
        line-height: 1;
    }

}

.events article {
    padding: 0 1rem;
}

.events img {
    width: 100%;
}

@media (min-width: 1024px) {

    .events-archive .events-background {
        width: 25%;
        float: left;
    }
    
    .events-archive .events {
        width: 70%;
        float: left;
        padding: 2.5%;
    }

}


/*------------------------------------*\
    SEARCH
\*------------------------------------*/

.search-form {
    background-color: rgba(255, 160, 47, 1);
    padding: 1rem;
    text-align: center;
    height: 6rem;
    margin-top: -5.5rem;
}

.search-form input {
    width: 50%;
    background-color: #fff;
    border: none;
    padding: 1rem;
    display: inline-block;
    margin-right: 1rem;
}

.search-form button {
    width: 30%;
    max-width: 12rem;
    color: #fff;
    background-color: rgba(25, 20, 15, .7);
    border: none;
    padding: 1rem;
    border-radius: 2rem;
    text-align: center;
    text-decoration: none;
    font-weight: 700;
    display: inline-block;
    cursor: pointer;
    transition: background-color .6s;
}

.search-form button:hover {
    background-color: rgba(25, 20, 15, 1);
}

.search-form .search-contents {
    display: none;
}

/*------------------------------------*\
    IMAGES
\*------------------------------------*/
/* Image galleries */

.main-carousel {
    margin: 0 0 1rem 0;
}

.carousel-cell {
    background: rgba(240, 235, 230, 1);
    width: 100%;
    /* height: 213px; */
    margin-right: 10px;
}

@media screen and ( min-width: 768px ) {
  .carousel-cell {
      /* height: 512px; */
    }
}

.carousel-cell img {
    display: block;
    width: 100%;
}

.flickity-prev-next-button {
    width: 100px;
    height: 100px;
    background: transparent;
}

.flickity-prev-next-button:hover {
    background: transparent;
}

.flickity-prev-next-button .arrow {
    fill: #fff;
}

.flickity-prev-next-button.no-svg {
    color: #fff;
}

.flickity-prev-next-button:disabled {
    display: none;
}

.flickity-page-dots {
    bottom: 2px;
}

.flickity-page-dots .dot {
    height: 4px;
    width: 40px;
    margin: 0;
    border-radius: 0;
    background: #fff;
}

/*------------------------------------*\
	MAPS
\*------------------------------------*/
.map iframe {
    width: 100% !important;
    max-width: 500px;
    height: 320px !important;
    padding: 2rem 0 6rem 0;
}

/*------------------------------------*\
	TYPOGRAPHY
\*------------------------------------*/

@font-face {
	font-family:'Font-Name';
	src:url('fonts/font-name.eot');
	src:url('fonts/font-name.eot?#iefix') format('embedded-opentype'),
		url('fonts/font-name.woff') format('woff'),
		url('fonts/font-name.ttf') format('truetype'),
		url('fonts/font-name.svg#font-name') format('svg');
    font-weight:normal;
    font-style:normal;
}

/*------------------------------------*\
    RESPONSIVE
\*------------------------------------*/

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

}
@media only screen and (min-width:480px) {

}
@media only screen and (min-width:768px) {

}
@media only screen and (min-width:1024px) {

}
@media only screen and (min-width:1140px) {

}
@media only screen and (min-width:1280px) {

}
@media only screen and (-webkit-min-device-pixel-ratio:1.5),
	   only screen and (min-resolution:144dpi) {

}

/*------------------------------------*\
    MISC
\*------------------------------------*/

::selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-webkit-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}
::-moz-selection {
	background:#04A4CC;
	color:#FFF;
	text-shadow:none;
}

/*------------------------------------*\
    WORDPRESS CORE
\*------------------------------------*/

.alignnone {
	margin:5px 20px 20px 0;
}
.aligncenter,
div.aligncenter {
	display:block;
	margin:5px auto 5px auto;
}
.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.alignright {
	float:right;
	margin:5px 0 20px 20px;
}
a img.alignnone {
	margin:5px 20px 20px 0;
}
a img.alignleft {
	float:left;
	margin:5px 20px 20px 0;
}
a img.aligncenter {
	display:block;
	margin-left:auto;
	margin-right:auto;
}
.wp-caption {
	background:#FFF;
	border:1px solid #F0F0F0;
	max-width:96%;
	padding:5px 3px 10px;
	text-align:center;
}
.wp-caption.alignnone {
	margin:5px 20px 20px 0;
}
.wp-caption.alignleft {
	margin:5px 20px 20px 0;
}
.wp-caption.alignright {
	margin:5px 0 20px 20px;
}
.wp-caption img {
	border:0 none;
	height:auto;
	margin:0;
	max-width:98.5%;
	padding:0;
	width:auto;
}
.wp-caption .wp-caption-text,
.gallery-caption {
	font-size:11px;
	line-height:17px;
	margin:0;
	padding:0 4px 5px;
}
.sticky {

}
.bypostauthor {

}

/*------------------------------------*\
    PRINT
\*------------------------------------*/

@media print {
	* {
		background:transparent !important;
		color:#000 !important;
		box-shadow:none !important;
		text-shadow:none !important;
	}
	a,
	a:visited {
		text-decoration:underline;
	}
	a[href]:after {
		content:" (" attr(href) ")";
	}
	abbr[title]:after {
		content:" (" attr(title) ")";
	}
	.ir a:after,
	a[href^="javascript:"]:after,
	a[href^="#"]:after {
		content:"";
	}
	pre,blockquote {
		border:1px solid #999;
		page-break-inside:avoid;
	}
	thead {
		display:table-header-group;
	}
	tr,img {
		page-break-inside:avoid;
	}
	img {
		max-width:100% !important;
	}
	@page {
		margin:0.5cm;
	}
	p,
	h2,
	h3 {
		orphans:3;
		widows:3;
	}
	h2,
	h3 {
		page-break-after:avoid;
	}
}
