/*RESET*/

html, body, header, nav, main, section, aside, div, footer, h1, h2, h3, p, ul, li, span, a {
    display: block;
    margin: 0;
    padding: 0;
}

/*GLOBAL*/

html, body {
    height: 100%;
    width: 100%;
}

body {
    background-color: #600;
    color: #FFF;
}

.wrap {
    margin: 0 auto;
    padding-left: 5%;
    padding-right: 5%;
}

.pic {
    background-attachment: scroll;
    background-repeat: no-repeat;
    background-size: cover;
    border: #FFF solid 0.2rem;
    border-radius: 0.4rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    height: 0;
    overflow: hidden;
    width: 100%;
}

@font-face {
    font-family: 'headings';
    src: url('fonts/lobster-regular.woff2') format('woff2'),
         url('fonts/lobster-regular.woff') format('woff'),
         url('fonts/lobster-regular.ttf') format('truetype');
}

@font-face {
    font-family: 'general';
    src: url('fonts/overlock-regular.woff2') format('woff2'),
         url('fonts/overlock-regular.woff') format('woff'),
         url('fonts/overlock-regular.ttf') format('truetype');
}

h1, h1 span, h2, h3 {
    font-family: 'headings'; 
    font-style: normal; 
    font-weight: normal; 
}

h2 {
    background-attachment: scroll;
    background-image: url(graphics/icon-sprite.png);
    background-repeat: no-repeat;
    background-size: 2.5rem 260rem;
    font-size: 2rem;
    line-height: 1;
    text-indent: 2.5rem;
}

h3 {
    font-size: 1.5rem;
    margin-top: 1.25rem;
}

p {
    font-family: 'general'; 
    font-style: normal; 
    font-weight: normal;
}

.info p, aside p {
    font-size: 1rem;
    line-height: 1.5;
}

aside p {
    opacity: 0.5;
    margin-top: 0.5rem;
}

a {
    color: #FFF;
    text-decoration: none;
}

/*HEADER*/

header {
    background-color: #600;
    height: 3rem;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 1;
}

h1, h1 span {
    font-size: 2rem;
    line-height: 3rem;
}

h1 span {
    display: inline;
}

/*NAV*/

nav {
    height: 3rem;
    left: 0;
    position: fixed;
    top: 0;
    width: 100%;
    z-index: 2;
}

nav ul {
    height: 3rem;
    text-align: right;
}

nav li {
    height: 3rem;
}

nav a {
    font-family: 'general'; 
    font-style: normal; 
    font-weight: normal;
}

/*WELCOME*/

#welcome {
    background-color: #700;
    padding-top: 5rem;
}

#welcome .pic {
    background-image: url('images/welcome.jpg');
}

#welcome a {
    background-attachment: scroll;
    background-image: url(graphics/icon-sprite.png);
    background-repeat: no-repeat;
    background-size: 2.5rem 260rem;
    font-family: 'headings'; 
    font-size: 1.5rem;
    font-style: normal; 
    font-weight: normal;
}

/*PACKAGES*/

#packages {
    background-color: #276127;
}

#packages .pic {
    background-image: url('images/packages.jpg');
}

#packages h2 {
    background-position: left -70rem;
}

/*DETAILS*/

#details {
    background-color: #356135;
}

#details .pic {
    background-image: url('images/details.jpg');
}

#details h2 {
    background-position: left -80rem;
}

/*CENTRES*/

#centres {
    background-color: #276127;
}

#centres .pic {
    background-image: url('images/centres.jpg');
}

#centres h2 {
    background-position: left -90rem;
}

#centres li {
    font-family: 'general'; 
    font-style: normal; 
    font-weight: normal;
    line-height: 1.5;
}

/*REVIEWS*/

#reviews {
    background-color: #356135;
}

#reviews .pic {
    background-image: url('images/enquire.jpg');
}

#reviews h2 {
    background-position: left -100rem;
}

#reviews p, #reviews span {
    font-size: 1rem;
    line-height: 1.5;
}

#reviews p {
    margin-bottom: 1.25rem;
}

#reviews p:last-of-type {
    margin-bottom: 0;
}

#reviews span {
    opacity: 0.5;
}

/*ENQURE*/

#enquire {
    background-color: #276127;
}

#enquire .pic {
    background-image: url('images/enquire.jpg');
}

#enquire h2 {
    background-position: left -110rem;
}

#enquire a {
    background-attachment: scroll;
    background-image: url('graphics/icon-sprite.png');
    background-repeat: no-repeat;
    background-size: 2.5rem 260rem;
    font-family: 'general'; 
    font-style: normal; 
    font-weight: normal;
    padding-left: 3.25rem;
}

.myemail {
    background-position: left -119.65rem;
}

.myphone {
    background-position: left -129.65rem;
}

.linkedin {
    background-position: left -139.65rem;
}

.facebook {
    background-position: left -149.65rem;
}

/*FORM*/

input, textarea, button span {
    background-attachment: scroll;
    background-image: url('graphics/icon-sprite.png');
    background-repeat: no-repeat;
    background-size: 2.5rem 260rem;
    font-family: 'general'; 
    font-size: 1rem;
    font-style: normal; 
    font-weight: normal;
}

label, input, textarea {
    display: block; 
    font-family: 'general'; 
    font-size: 1rem;
    font-style: normal; 
    font-weight: normal;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
}

label {
    margin-bottom: 0.25rem;
}

input, textarea {
    color: #696;
}

input {
    line-height: 2rem;
}

.name, .email, .message {
    border: 0; 
    border-radius: 0.2rem; 
    margin-bottom: 1rem; 
}

.name, .email {
    height: 2rem; 
    padding: 0 0.5rem 0 2rem;
}

.message {
    height: 6rem; 
    padding: 0.5rem 0.5rem 0 2rem;
 }

button {
    background-color: #276127;
    border: #FFF solid 0.1rem; 
    border-radius: 0.2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    cursor: pointer;
    height: 3rem; 
    width: 47.5%;
}

button span {
    color: white; 
    font-family: 'general'; 
    font-size: 1rem;
    font-style: normal; 
    font-weight: normal;
    padding-left: 1.25rem;
}

.submitbtn {
    margin-right: 5%;
}

.name {
    background-position: 0.5rem -159.5rem;
}

.email {
    background-position: 0.5rem -169.4rem;
}

.message {
    background-position: 0.5rem -179.5rem;
}

.submitbtn span {
    background-position: 0.5rem -190rem;
}

.resetbtn span {
    background-position: 0.5rem -200rem;
}

/*FOOTER*/

footer {
    background-color: #600;
    height: 3rem;
}

footer p {
    font-family: 'general'; 
    font-size: 0.8rem;
    font-style: normal; 
    font-weight: normal;
    line-height: 3rem;
}

/*UP*/

#up {
    background-attachment: scroll;
    background-image: url('graphics/icon-sprite.png');
    background-position: left -230rem;
    background-repeat: no-repeat;
    background-size: 2.5rem 260rem;
    bottom: 1rem;
    height: 2.5rem;
    opacity: 0;
    overflow: hidden;
    position: fixed;
    right: 1rem;
    text-indent: -999px;
    transition: opacity ease 0.5s;
    width: 2.5rem;
    z-index: 3;
}

/*THANKYOU*/

#thankyou {
    background-color: #276127;
    min-height: calc(100vh - 10rem);
    padding-top: 5rem;
    padding-bottom: 2rem;
}

#thankyou .pic {
    background-image: url('images/thankyou.jpg');
}

#thankyou h2 {
    background-position: left -250rem;
}

#thankyou p {
    margin-top: 1rem;
}

/*-----DEVICES-----*/

/*PHONE LAYOUT*/
@media screen and (max-width: 562px) {
    
    /*GENERAL*/
    
    .wrap {
        max-width: 22rem;
    }
    
    aside p {
        display: none;
    }
    
    .pic {
        padding-bottom: 75%;
    }
    
    .info {
        
    }
    
    /*HEADER*/
    
    h1 span {
        display: none;
    }
    
    /*NAV*/
    
    nav li:nth-child(1), nav li:nth-child(2), nav li:nth-child(3), nav li:nth-child(4), nav li:nth-child(5) {
        display: none;
    }
    
    nav li:nth-child(6) {
        border: #FFF solid 0.1rem;
        border-radius: 0.2rem;
        box-sizing: border-box;
        display: inline-block;
        height: 2.5rem;
        margin-top: 0.25rem;
        padding: 0 1rem;
    }
    
    nav a {
        font-size: 1rem;
        line-height: 2.25rem;
    }
    
    nav a:after {
        content: " Now";
    }
    
    /*WELCOME*/
    
    #welcome {
        text-align: center;
    }
    
    #welcome .pic {
        background-position: left -4rem;
        margin-bottom: 1.5rem;
    }
    
    #welcome h2 {
        display: none;
    }
    
    #welcome .info p:nth-of-type(1) {
        margin-top: 2rem;
    }
    
    #welcome .info p:nth-of-type(2) {
        margin-top: 1rem;
        margin-bottom: 1.5rem;
    }
    
    #welcome a {
        background-position: center -207.5rem;
        display: inline-block;
        line-height: 1;
        padding-bottom: 3.5rem;
    }
    
    /*PACKAGES*/
    
    #packages .spacer {
        border-bottom: #B06A6A dashed 0.2rem;
        background-color: #700;
        height: 2.25rem;
        width: 100%;
    }
    
    #packages .wrap {
        display: flex;
        flex-direction: column-reverse;
        padding-top: 2.75rem;
    }
    
    #packages .pic {
        background-position: left -1rem;
        margin-top: 1.75rem;
    }
    
    /*DETAILS*/
    
    #details .spacer {
        border-bottom: #81A381 dashed 0.2rem;
        background-color: #276127;
        height: 2.25rem;
        width: 100%;
    }
    
    #details .wrap {
        display: flex;
        flex-direction: column-reverse;
        padding-top: 2.75rem;
    }
    
    #details .pic {
        background-position: left top;
        margin-top: 1.75rem;
    }
    
    /*CENTRES*/
    
    #centres .spacer {
        border-bottom: #94AC94 dashed 0.2rem;
        background-color: #356135;
        height: 2.25rem;
        width: 100%;
    }
    
    #centres .wrap {
        display: flex;
        flex-direction: column-reverse;
        padding-top: 2.75rem;
    }
    
    #centres .pic {
        background-position: left -0.5rem;
        margin-top: 1.75rem;
    }
    
    #centres h2+p {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
    
    /*REVIEWS*/
    
    #reviews .spacer {
        border-bottom: #81A381 dashed 0.2rem;
        background-color: #276127;
        height: 2.25rem;
        width: 100%;
    }
    
    #reviews .wrap {
        padding-top: 2.75rem;
    }
    
    #reviews h2+p {
        margin-top: 1rem;
    }
    
    #reviews .pic {
        background-position: left -0.5rem;
        margin-top: 1.75rem;
    }
    
    /*ENQUIRE*/
    
    #enquire .spacer {
        border-bottom: #94AC94 dashed 0.2rem;
        background-color: #356135;
        height: 2.25rem;
        width: 100%;
    }
    
    #enquire .wrap {
        padding-top: 2.75rem;
        padding-bottom: 2.25rem;
    }
    
    #enquire .pic {
        display: none;
    }
    
    .contact {
        border-bottom: #81A381 dashed 0.2rem;
        padding-bottom: 1.75rem;
    }
    
    /*THANYOU*/
    
    #thankyou .wrap {
        display: flex;
        flex-direction: column-reverse;
    }
    
    #thankyou .pic {
        background-position: left -1rem;
        margin-top: 1.75rem;
    }
}

/*290 x 12 LAYOUT*/
@media screen and (max-width: 351px) {
    html {
        font-size: 12px;
    }
}

/*352 x 16 LAYOUT*/
@media screen and (min-width: 352px) and (max-width: 562px) {
    html {
        font-size: 16px;
    }
}

/*TABLET 563 x 16 LAYOUT*/

@media screen and (min-width: 563px)and (max-width: 844px) {
    
    /*GENERAL*/
    
    html {
        font-size: 16px;
    }
    
    .wrap {
        max-width: 32rem;
    }
    
    aside p {
        display: none;
    }
    
    .pic {
        padding-bottom: 75%;
    }
    
    .info {
        
    }
    
    /*HEADER*/
    
    h1 {
        background-attachment: scroll;
        background-image: url(graphics/icon-sprite.png);
        background-position: left -59.5rem;
        background-repeat: no-repeat;
        background-size: 2.5rem 260rem;
        text-indent: 2.5rem;
    }
    
    /*NAV*/
    
    nav li:nth-child(1), nav li:nth-child(2), nav li:nth-child(3), nav li:nth-child(4), nav li:nth-child(5) {
        display: none;
    }
    
    nav li:nth-child(6) {
        border: #FFF solid 0.1rem;
        border-radius: 0.2rem;
        box-sizing: border-box;
        display: inline-block;
        height: 2.5rem;
        margin-top: 0.25rem;
        padding: 0 1rem;
    }
    
    nav a {
        font-size: 1rem;
        line-height: 2.25rem;
    }
    
    nav a:after {
        content: " Now";
    }
    
    /*WELCOME*/
    
    #welcome {
        text-align: center;
    }
    
    #welcome .pic {
        background-position: left -4rem;
        margin-bottom: 1.5rem;
    }
    
    #welcome h2 {
        display: none;
    }
    
    #welcome .info p:nth-of-type(1) {
        margin-top: 2rem;
    }
    
    #welcome .info p:nth-of-type(2) {
        margin-top: 1rem;
        margin-bottom: 1.5rem;
    }
    
    #welcome a {
        background-position: center -207.5rem;
        display: inline-block;
        line-height: 1;
        padding-bottom: 3.5rem;
    }
    
    /*PACKAGES*/
    
    #packages .spacer {
        border-bottom: #B06A6A dashed 0.2rem;
        background-color: #700;
        height: 2.25rem;
        width: 100%;
    }
    
    #packages .wrap {
        display: flex;
        flex-direction: column-reverse;
        padding-top: 2.75rem;
    }
    
    #packages .pic {
        background-position: left -1rem;
        margin-top: 1.75rem;
    }
    
    /*DETAILS*/
    
    #details .spacer {
        border-bottom: #81A381 dashed 0.2rem;
        background-color: #276127;
        height: 2.25rem;
        width: 100%;
    }
    
    #details .wrap {
        display: flex;
        flex-direction: column-reverse;
        padding-top: 2.75rem;
    }
    
    #details .pic {
        background-position: left top;
        margin-top: 1.75rem;
    }
    
    /*CENTRES*/
    
    #centres .spacer {
        border-bottom: #94AC94 dashed 0.2rem;
        background-color: #356135;
        height: 2.25rem;
        width: 100%;
    }
    
    #centres .wrap {
        display: flex;
        flex-direction: column-reverse;
        padding-top: 2.75rem;
    }
    
    #centres .pic {
        background-position: left -0.5rem;
        margin-top: 1.75rem;
    }
    
    #centres h2+p {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
    
    #centres ul {
        display: inline-block;
        vertical-align: top;
        width: 45%;
    }
    
    #centres ul+ul {
        padding-left: 10%;
    }
    
    /*REVIEWS*/
    
    #reviews .spacer {
        border-bottom: #81A381 dashed 0.2rem;
        background-color: #276127;
        height: 2.25rem;
        width: 100%;
    }
    
    #reviews .wrap {
        padding-top: 2.75rem;
    }
    
    #reviews h2+p {
        margin-top: 1rem;
    }
    
    #reviews .pic {
        background-position: left -0.5rem;
        margin-top: 1.75rem;
    }
    
    /*ENQUIRE*/
    
    #enquire .spacer {
        border-bottom: #94AC94 dashed 0.2rem;
        background-color: #356135;
        height: 2.25rem;
        width: 100%;
    }
    
    #enquire .wrap {
        padding-top: 2.75rem;
        padding-bottom: 2.25rem;
    }
    
    #enquire .pic {
        display: none;
    }
    
    .contact, .note {
        display: inline-block;
        vertical-align: top;
        width: 45%;
    }
    
    .note {
        padding-left: 10%;
    }
    
    /*THANYOU*/
    
    #thankyou .wrap {
        display: flex;
        flex-direction: column-reverse;
    }
    
    #thankyou .pic {
        background-position: left -1rem;
        margin-top: 1.75rem;
    }

}

/*DESKTOP LAYOUT*/

@media screen and (min-width: 845px) {
    
    /*GENERAL*/
    
    .wrap {
        max-width: 48rem;
    }
    
    aside {
        display: inline-block;
        text-align: right;
        vertical-align: top;
        width: 31.25%;
    }
    
    .pic {
        padding-bottom: 100%;
    }
    
    .info {
        display: inline-block;
        padding-left: 6.25%;
        vertical-align: top;
        width: 62.5%;
    }
    
    /*HEADER*/
    
    h1 {
        background-attachment: scroll;
        background-image: url(graphics/icon-sprite.png);
        background-position: left -59.5rem;
        background-repeat: no-repeat;
        background-size: 2.5rem 260rem;
        text-indent: 2.5rem;
    }
    
    /*NAV*/
    
    nav li {
        display: inline-block;
        padding-left: 0.5rem;
    }
    
    nav a {
        background-attachment: scroll;
        background-image: url('graphics/icon-sprite.png');
        background-repeat: no-repeat;
        background-size: 1.25rem 130rem;
        font-size: 0.8rem;
        padding-top: 1.75rem;
    }
    
    nav li:nth-child(1) a {
        background-position: center 0.5rem;
    }
    
    nav li:nth-child(2) a {
        background-position: center -4.5rem;
    }
    
    nav li:nth-child(3) a {
        background-position: center -9.5rem;
    }
    
    nav li:nth-child(4) a {
        background-position: center -14.5rem;
    }
    
    nav li:nth-child(5) a {
        background-position: center -19.5rem;
    }
    
    nav li:nth-child(6) a {
        background-position: center -24.5rem;
    }
    
    
    /*WELCOME*/
    
    #welcome .pic {
        background-position: left top;
    }
    
    #welcome h2 {
        background-attachment: scroll;
        background-image: url('graphics/masthead.png');
        background-position: left top;
        background-repeat: no-repeat;
        background-size: contain;
        height: 0;
        font-size: 0;
        padding-bottom: 14%;
        text-indent: -9999px;
        width: 100%;
    }
    
    #welcome .info p:nth-of-type(1) {
        margin-top: 1.5rem;
    }
    
    #welcome .info p:nth-of-type(2) {
        margin-top: 1rem;
        margin-bottom: 1.5rem;
    }
    
    #welcome a {
        background-position: left -210rem;
        display: inline-block;
        line-height: 1;
        padding-top: 0.4rem;
        padding-bottom: 0.75rem;
        text-indent: 3.25rem;
    }
    
    /*PACKAGES*/
    
    #packages .spacer {
        border-bottom: #B06A6A dashed 0.2rem;
        background-color: #700;
        height: 2.25rem;
        width: 100%;
    }
    
    #packages .wrap {
        padding-top: 2.75rem;
    }
    
    #packages .pic {
        background-position: left top;
    }
    
    /*DETAILS*/
    
    #details .spacer {
        border-bottom: #81A381 dashed 0.2rem;
        background-color: #276127;
        height: 2.25rem;
        width: 100%;
    }
    
    #details .wrap {
        padding-top: 2.75rem;
    }
    
    #details .pic {
        background-position: left top;
    }
    
    /*CENTRES*/
    
    #centres .spacer {
        border-bottom: #94AC94 dashed 0.2rem;
        background-color: #356135;
        height: 2.25rem;
        width: 100%;
    }
    
    #centres .wrap {
        padding-top: 2.75rem;
    }
    
    #centres .pic {
        background-position: left top;
    }
    
    #centres h2+p {
        margin-top: 1rem;
        margin-bottom: 1rem;
    }
    
    #centres ul {
        display: inline-block;
        vertical-align: top;
        width: 45%;
    }
    
    #centres ul+ul {
        padding-left: 10%;
    }
    
    /*REVIEWS*/
    
    #reviews .spacer {
        border-bottom: #81A381 dashed 0.2rem;
        background-color: #276127;
        height: 2.25rem;
        width: 100%;
    }
    
    #reviews .wrap {
        padding-top: 2.75rem;
    }
    
    #reviews h2+p {
        margin-top: 1rem;
    }
    
    #reviews .pic {
        display: none;
    }
    
    /*ENQUIRE*/
    
    #enquire .spacer {
        border-bottom: #94AC94 dashed 0.2rem;
        background-color: #356135;
        height: 2.25rem;
        width: 100%;
    }
    
    #enquire .wrap {
        padding-top: 2.75rem;
        padding-bottom: 2.25rem;
    }
    
    #enquire .pic {
        background-position: left top;
    }
    
    .contact, .note {
        display: inline-block;
        vertical-align: top;
        width: 45%;
    }
    
    .note {
        padding-left: 10%;
    }
    
    /*THANKYOU*/
    
    #thankyou .pic {
        background-position: left top;
    }
    
}

/*845 x 16 LAYOUT*/
@media screen and (min-width: 845px) and (max-width: 1055px) {
    html {
        font-size: 16px;
    }
}

/*960 x 20 LAYOUT*/
@media screen and (min-width: 1056px) {
    html {
        font-size: 20px;
    }
}