/* Main structure elements ----------  */

html {
   font-family: jaf-bernina-sans, Arial, Helvetica, sans-serif;
   font-size: 62.5%;
 }

body {
    color: #595a5a;
    font-size: 2.2rem;
    line-height: 3.2rem;
    margin: 0;
 }

#mainContainer {
    margin: 0 auto;
    max-width: 170rem;
    overflow: hidden;
    padding: 0;

}

header {
    background-color: #1a3a82;
    width: 100%;
}

#headerInnerDiv {
    height: 22.9rem;
    margin: 0 auto;
    overflow: hidden;
    max-width: 110rem;
    padding: 0 2rem 0 1rem;
}

#logoDiv {
    float: left;
}

.normalLogo {
         margin-top: 3.9rem;
}

.swimClubLogo {
    margin-top: 1.9rem;
}

#contactMenuDiv {
   float: right;
   overflow: hidden;
   max-width: 74rem;
}

#topContactDiv {
   color: #fff;
   margin-top: 9.1rem;
   min-width: 60rem;
}

#topContactDiv span {
    font-size: 2.7rem;
}

nav {
   clear: both;
}

#bannerBar1 {
   background-color: #e5782a;
   height: .9rem;
   width: 100%;
}

#bannerPicDiv {
    min-height: 36.4rem;
    width: 100%;
}

#bannerBar2 {
    background-image: url(../images/banner-bar-bg.jpg);
    background-position: center;
    background-repeat: repeat, no-repeat;
    background-size: contain;
    height: 10rem;
    margin-top: -10px;
    width: 100%;
}

main {
    margin: 0 auto;
    max-width: 106.8rem;
    overflow: hidden;
    padding: 0 2rem 3rem 2rem;
}

#extraInfoOuterDiv {
    background-color: #e5782a;
    width: 100%;
}

#extraInfoDiv {
    color: #fff;
    margin: 0 auto;
    overflow: hidden;
    max-width: 112rem;
}

#bottomContactOuterDiv {
    background-color: #1a3a82;
    height: 28.7rem;
    width: 100%;
}

#bottomContactDiv {
    color: #fff;
    margin: 0 auto;
    overflow: hidden;
    padding: 8.2rem 1rem 0 1rem;
    max-width: 112rem;
}

#bottomContactCol1 {
    float: left;
}

#bottomContactCol2 {
    float: right;
}

#bottomContactCol3 {
    float: right;
    margin: 7rem 0 0 12.3rem;
}

footer {
    background-color: #1277ba;
    height: 8.5rem;
    padding: 0;
    width: 100%;
}

#copyRightDiv {
    color: #fff;
    font-size: 1.8rem;
    margin: 0 auto;
    padding: 2.9rem 1rem 0 1rem;
    max-width: 112rem;
}

.clearFloats {
    clear: both;
}

hr {
    border: none;
    border-top: solid 1px #ab6f29;
    clear: both;
    margin: 3.5rem 0;
}

.flexOuterDiv {
    display: flex;
    align-items: stretch;
}

.flexH2Div {
    flex: 0 0 21rem;
}


/* page navigation */

#topContactDiv a:link, #topContactDiv a:visited {
    color: #fff;
    text-decoration: none;
}

#topContactDiv a:hover, #topContactDiv a:active {
    color: #e5782a;
    text-decoration: none;
}

.pageLinks a:link, .pageLinks a:visited {
    color: #e5782a;
    text-decoration: none;
}

.pageLinks a:hover, .pageLinks a:active {
    color: #595a5a;
    text-decoration: none;
}

.pageLinksUnderline a:link, .pageLinksUnderline a:visited {
    color: #e5782a;
}

.pageLinksUnderline a:hover, .pageLinksUnderline a:active {
    color: #595a5a;
 }

#bottomContactDiv a:link, #bottomContactDiv a:visited {
    color: #fff;
}

#bottomContactDiv a:hover, #bottomContactDiv a:active {
    color: #e5782a;
}

/* banner image styles ---------- */

.headerPicSize {
    height: auto;
    max-width: 100%;
}

.indexHeaderPic {
    background-image: url(../images/banner-pic-index.jpg);
    background-position: right;
}

.fitnessHeaderPic {
    background-image: url(../images/banner-pic-fitness.jpg);
    background-position: center;
}

.aboutHeaderPic {
    background-image: url(../images/banner-pic-about.jpg);
    background-position: left;
}

.feesHeaderPic {
    background-image: url(../images/banner-pic-fees.jpg);
    background-position: left;
}

.fcscHeaderPic {
    background-image: url(../images/banner-pic-FCSC.jpg);
    background-position: center;
}

.classesHeaderPic {
    background-image: url(../images/banner-pic-classes.jpg);
    background-position: center;
}

.contactHeaderPic {
    background-image: url(../images/banner-pic-contact.jpg);
    background-position: center;
}

.faqHeaderPic {
    background-image: url(../images/banner-pic-FAQ.jpg);
    background-position: center;
}


/* common styles ---------- */

#logoPic {
    width: 100%;
}

.faceBookLogo {
    width: 5.3rem;
}

/* common font styles ---------- */

.boldFont {
    font-weight: 700;
}

.semiBoldFont {
    font-weight: 600;
}

.orangeFont {
    color: #e5782a;
}

#topName {
    color: #e5782a;
    font-weight: 600;
    float: left;
}

#topPhone {
    float: right;
}

h1 {
    color: #1277ba;
    font-size: 3.5rem;
    font-weight: 600;
    line-height: 4rem;
    margin: 5.9rem 0 0 0;
}

h2 {
    color: #1277ba;
    font-weight: 300;
}

main .flexOuterDiv .flexH2Div h2.h2Block {
    color: #1277ba;
    font-size: 2.6rem;
    font-weight: 600;
    line-height: 3.9rem;
    margin: 0;
}

.boldSpan {
    display: inline-block;
    font-weight: 600;
    width: 16.8rem;
}

.detailsSpan {
   display: inline-block;
   max-width: 33.2rem;
}

.flexRightColDiv p:first-child {
    margin-top: 0;
}

.flexRightColDiv p:last-child {
    margin-bottom: 0;
}

h3 {
    font-size: 3.2rem;
    font-weight: 600;
    margin: 0 0 3.3rem 0;
}

#bottomContactDiv p {
   line-height: 1.9rem;
}

.smallFont {
    font-size: 2rem;
}

/* individual page styles ---------- */

/* index page styles */

.indexBannerP {
    color: #e5782a;
    font-size: 2.9rem;
    font-weight: 600;
    margin: 3.8rem 0 0 0;
}

h1.indexH1 {
    margin: 3.8rem 0 0 0;
}

.brHide {
    display: none;
}

#centreFeaturesOuterDiv {
    background-color: #eef3f5;
    width: 100%;
}

#centreFeaturesDiv {
    overflow: hidden;
    padding: 4.9rem 2rem 6rem 2rem;
    margin: 0 auto;
    max-width: 114rem;
    text-align: center;
}

#centreFeaturesDiv h2 {
    font-size: 2.8rem;
    font-weight: 700;
    margin: 0;
}

#centreFeaturesDiv hr {
    margin: 1.8rem auto 2rem auto;
    border-width: 2px;
    width: 27rem;
}

.featureColCommon {
    float: left;
    line-height: 2.5rem;
    margin-top: 5rem;
    width: 35rem;
}

.featureColCommon h3 {
    font-size: 1.8rem;
    font-weight: 600;
    margin: 0;
}

.featureColCommon p {
    font-size: 1.5rem;
    margin: 1rem 0;
}

.featuresCol2 {
     margin-left: 4rem;
     margin-right: 4rem;
}

.featureIconPic {
    width: 11.4rem;
    margin-bottom: 1.1rem;
}

#promotionOuterDiv {
    width: 100%;
}

#promotionDiv {
    margin: 6.8rem auto;
    overflow: hidden;
    padding: 0 2rem;
    max-width: 112rem;
}

.promoColCommon {
    border: solid 1px #595a5a;
    height: 23.8rem;
    padding: 30.5rem 2.2rem 0 2.2rem;
    width: 30.8rem;
}

.promoColCommon a:link, .promoColCommon a:visited {
    color: #e5782a;
    text-decoration: none;
}

.promoColCommon a:hover, .promoColCommon a:active {
    color: #595a5a;
    text-decoration: none;
}

#promotionCol1 {
    background-image: url(../images/index-faq.jpg);
    background-repeat: no-repeat;
    float: left;
}

#promotionCol2 {
    background-image: url(../images/index-newsletter.jpg);
    background-repeat: no-repeat;
    float: left;
    margin: 0 1.9rem;
}

#promotionCol3 {
    background-image: url(../images/index-follow-us.jpg);
    background-repeat: no-repeat;
    float: left;
}

#promotionDiv h4 {
    color: #1277ba;
    font-size: 2rem;
    font-weight: 600;
    line-height: 0;
    margin: 0 0 2rem 0;
}

#promotionDiv p {
    font-size: 1.5rem;
    line-height: 2.3rem;
    margin: 1rem 0;
}

#promotionDiv p:last-child {
    font-weight: 700;
    margin-top: 2.5rem;
}

#promotionCol1 p:last-child {
    margin-top: 4.9rem;
}

.promotionPic {
    width: 35.4rem;
}

.newsletterPic {
    float: right;
    margin: 0 -1rem 0 0;
    padding-left: 1rem;
    width: 10.2rem;
    vertical-align: text-bottom;
}

#extraInfoIndexDiv {
    font-size: 3.15rem;
    font-weight: 600;
    line-height: 4rem;
    padding: 2rem;
}

#extraInfoIndexDiv p:last-child {
    margin-bottom: 4rem;
}

.acceditedLogo {
    float: right;
    margin: 2rem 2rem 2rem 4rem;
    width: 15.3rem;
}

/* classes page styles */

.aquaBabes {
    background-image: url(../images/aqua-babes.gif);
    background-repeat: no-repeat;
    background-position: -1rem 13rem;
    background-size: 78%;
    height: 25.6rem;
}

.starFish {
    background-image: url(../images/star-fish.gif);
    background-repeat: no-repeat;
    background-position: 0 12.8rem;
    height: 25.6rem;
}

.seaHorse {
    background-image: url(../images/sea-horse.gif);
    background-repeat: no-repeat;
    background-position: 0 8.5rem;
    height: 27rem;
}

.swordFish {
    background-image: url(../images/swordfish.gif);
    background-repeat: no-repeat;
    background-position: 0 10rem;
    height: 25.6rem;
}

.whales {
    background-image: url(../images/whale.gif);
    background-repeat: no-repeat;
    background-position: 0 12.8rem;
    height: 25.6rem;
}

.superFish {
    background-image: url(../images/superfish.gif);
    background-repeat: no-repeat;
    background-position: 0 11rem;
    height: 25.6rem;
}

.kingFish {
    background-image: url(../images/kingfish.gif);
    background-repeat: no-repeat;
    background-position: 0 11rem;
    height: 25.6rem;
}

.swimSquad {
    background-image: url(../images/swim-squad.gif);
    background-repeat: no-repeat;
    background-position: 0 12.8rem;
    height: 29rem;
}

.classBoldSpan {
    font-weight: 700;
    display: inline-block;
    width: 14.2rem;
}

.classDetailSpan {
    display: inline-block;
    vertical-align: text-top;
}

#extraInfoClassDiv {
    overflow: hidden;
    margin: 1.2rem 0;
    padding: 0 2rem;
    max-width: 100rem;
}

.infoGif {
    float:left;
    margin: 1rem 5rem 0 0;
    width: 17.4rem;
}

#extraInfoClassDiv p {
    margin: 2rem 0;
}

.boldBlue {
    color: #1a3a82;
    font-size: 3.4rem;
    font-weight: 700;
}

#extraInfoClassDiv a:link, #extraInfoClassDiv a:visited {
    color: #fff;

}

#extraInfoClassDiv a:hover, #extraInfoClassDiv a:active {
    color: #1a3a82;

}

#extraInfoClassDiv p.boldBlue a:link, #extraInfoClassDiv p.boldBlue a:visited {
    color: #1a3a82;
    text-decoration: none;
}

#extraInfoClassDiv p.boldBlue a:hover, #extraInfoClassDiv p.boldBlue a:active {
    color: #fff;
    text-decoration: none;
}

/* time-table page styles */

div.timetableH3 h3 {
    font-size: 2.2rem;
    font-weight: 600;
     margin: .5rem 0;
}

div.timetableH3 h3:first-child {
    margin-top: 0;
}

div.timetableH3 p {
    margin-top: .7rem;
}

.weekDaySpan {
    display: inline-block;
    width: 31rem;
}

.timeSpan {
   display: inline-block;
}

.font19px {
   font-size: 2.7rem;
}

/* swim club page styles */

.yearSpan {
    display: inline-block;
    width: 25rem;
}

.timeSpace {
    display: inline-block;
    width: 14.5rem;
}

.squadTimesDiv {
    line-height: 4rem;
}

.squadDiv {
    margin-top: 1.5rem;
}

.weekDay {
    display: inline-block;
    width: 27.5rem;
}

.am {
    display: inline-block;
    margin-right: 10rem;
    width: 12rem;
}

.pm {
    display: inline-block;
    width: 12rem;
}

#newMembersList {
    margin: 0;
    padding: 0 0 0 1.7rem;
}

#newMembersList li {
    margin: 1rem 0 0 0;
    padding-left: 1.2rem;
}

.downLoadBroP a:link, .downLoadBroP a:visited {
   color: #e5782a;
   text-decoration: none;
}

.downLoadBroP a:hover, .downLoadBroP a:active {
    color: #595a5a;
    text-decoration: none;
}

/* FAQ page styles */

#faqDiv h2 {
    color: #e5782a;
    font-size: 2.6rem;
}

/* contact page styles */

.contactSpan {
    display: inline-block;
    width: 10rem;
}

#contactFormDiv {
    max-width: 60.5rem;
}

#comContactForm {
    overflow: hidden;
}

#comContactForm label {
    color: #e5782a;
    display: block;
    font-size: 1.9rem;
    font-weight: 600;
    margin: 2.5rem 0 .5rem 0;
}

#comContactForm label:first-child {
    margin-top: 0;
}

#comContactForm input, #comContactForm textarea {
    background-color: #DFDFDF;
    display: block;
    font-size: 1.9rem;
    height: 2.5rem;
    margin: 0;
    width: 60rem;
}

#comContactForm textarea {
    height: 23rem;
}

#comContactForm #submitButton {
    background-color: #fff;
    background-image: url(../images/email-post.gif);
    background-repeat: no-repeat;
    background-position: .3rem .3rem;
    border: solid 1px #000;
    cursor:pointer;
    float: right;
    font-size: 1.6rem;
    height: 4rem;
    margin-top: 3rem;
    padding: .5rem .5rem .5rem 3rem;
    width: 10rem;
}


/* media queries styles ---------- */

@media screen and (max-width: 1190px) {
    #centreFeaturesDiv {
        margin: 0 auto;
        max-width: 90.4rem;
    }

    .featureColCommon {
        width: 28rem;
    }

    .featuresCol2 {
        margin-left: 2rem;
        margin-right: 2rem;
    }
}


@media screen and (max-width: 1158px) {

    #promotionDiv {
        max-width: 72.8rem;
    }

    #promotionCol2 {
        margin: 0 0 0 1.9rem;
    }

    #promotionCol3 {
        margin: 4rem 0 0 18.8rem;
    }
}

 @media screen and (max-width: 1063px) {

    #bannerBar2 {
        height: 5rem;
    }

 }



@media screen and (max-width: 1050px) {

    #bottomContactOuterDiv {
        background-color: #1a3a82;
        height: auto;
        padding-bottom: 4rem;
    }

    #bottomContactCol1 {
        display: block;
        float: none;
    }

    #bottomContactCol1 span.emailBlock {
        display: inline-block;
        width: 26rem;
    }

    #bottomContactCol2 {
        display: block;
        float: none;
        margin: 8rem 0 5rem 0;
    }

    #bottomContactCol3 {
        float: right;
        margin: 13rem 0 0 0;
    }

}


@media screen and (max-width: 1010px) {

    .infoGif {
        float:left;
        margin: 2.5rem 5rem 2.5rem 0;
    }
}

@media screen and (max-width: 940px) {

    #centreFeaturesDiv {
        max-width: 73rem;
    }

    .featureColCommon {
        width: 34.8rem;
    }

    .featuresCol2 {
        margin-left: 0;
        margin-right: 0;
    }

    .featuresWrapSpace {
       margin-right: 3rem;
    }

    .acceditedLogo {
         margin: 2rem;
    }

}

@media screen and (max-width: 880px) {

    #contactMenuDiv {
       float: right;
    }

    #topContactDiv {
       margin-top: 4rem;
       min-width: 30rem;
       text-align: right;
    }

    #topName {
        display: block;
        float: none;
    }

    #topPhone {
        display: block;
        float: none;
        margin-top: 2.2rem;
    }

    #bannerPicDiv {
        background-repeat: no-repeat;
        background-size: cover;
    }

    #bannerPicDiv img {
        display: none;
    }

    #bannerBar2 {
        height: 3.5rem;
    }

    .infoGif {
        margin: 3.5rem 3rem 3.5rem 0;
    }

    #contactFormDiv {
        max-width: 50.5rem;
    }

    #comContactForm input, #comContactForm textarea {
        width: 52rem;
    }

    .weekDay {
        width: 18rem;
    }

    .am {
        margin-right: 5rem;
    }

}

@media screen and (max-width: 790px) {

    #centreFeaturesDiv {
        max-width: 64rem;
    }

    .featureColCommon {
        width: 30rem;
    }

    #promotionDiv {
        max-width: 35.4rem;
    }

    .promoColCommon {
        height: auto;
    }

    #promotionCol1 {
        float: none;
        margin: 0;
    }

    #promotionCol2 {
        float: none;
        margin: 4rem 0;
    }

    #promotionCol3 {
        float: none;
        margin: 0;
    }

    #promotionCol1 p:last-child {
        margin-top: 2.5rem;
        margin-bottom: 2rem;
    }

    #promotionCol2 p:last-child {
        margin-bottom: 2rem;
    }

    #promotionCol3 p:last-child {
        margin-bottom: 2rem;
    }

    .infoGif {
        margin: 6rem 3rem 4rem 0;
    }

    #comContactForm input, #comContactForm textarea {
        width: 43rem;
    }
}

@media screen and (max-width: 740px) {

    .weekDay {
        width: 14rem;
    }

    .am {
        margin-right: 3rem;
    }
}

@media screen and (max-width: 690px) {

    #centreFeaturesDiv {
        max-width: 54rem;
    }

    .featureColCommon {
        width: 25rem;
    }

    .featuresWrapSpace {
       margin-right: 3rem;
    }

    .infoGif {
        float: none;
        margin: 2rem auto 2rem auto;
    }

    #comContactForm input, #comContactForm textarea {
        width: 39rem;
    }

    .squadTimesDiv {
        font-size: 2rem;
    }

    .weekDay {
        width: 12rem;
    }

}



@media screen and (max-width: 665px) {

    .flexOuterDiv {
        display: block;
    }

    .flexH2Div {
       display: block;
       width: 30rem;
    }

    .removeH2Br {
       display: none;
    }

    .flexRightColDiv {
        display: block;
    }

    main h2.h2Block {
        margin-bottom: 2rem;
        width: 30rem;
    }

    .topPMargin p:first-child {
        margin-top: 2rem;
    }

    div.timetableH3 h3:first-child {
        margin-top: 2rem;
    }

    .aquaBabes {
        background-image: url(../images/aqua-babes.gif);
        background-repeat: no-repeat;
        background-position: 13rem 0;
        background-size: 40%;
        height: 10rem
    }

    .starFish {
        background-image: url(../images/star-fish.gif);
        background-repeat: no-repeat;
        background-position: 15rem 0;
        background-size: 30%;
        height: 10rem;
    }

    .seaHorse {
        background-image: url(../images/sea-horse.gif);
        background-repeat: no-repeat;
        background-position: 15rem 0;
        background-size: 10%;
        height: 10rem
    }

    .swordFish {
        background-image: url(../images/swordfish.gif);
        background-repeat: no-repeat;
        background-position: 15rem 0;
        background-size: 30%;
        height: 10rem
    }

    .whales {
        background-image: url(../images/whale.gif);
        background-repeat: no-repeat;
        background-position: 14rem 1rem;
        background-size: 40%;
        height: 10rem
    }

    .superFish {
        background-image: url(../images/superfish.gif);
        background-repeat: no-repeat;
        background-position: 16rem 1rem;
        background-size: 40%;
        height: 10rem
    }

    .kingFish {
        background-image: url(../images/kingfish.gif);
        background-repeat: no-repeat;
        background-position: 13rem 1rem;
        background-size: 40%;
        height: 10rem
    }

    .swimSquad {
        background-image: url(../images/swim-squad.gif);
        background-repeat: no-repeat;
        background-position: 13rem 0;
        background-size: 30%;
        height: 10rem;
    }

    #comContactForm input, #comContactForm textarea {
        width: 50rem;
    }
}

@media screen and (max-width: 585px) {

    #centreFeaturesDiv {
        max-width: 35rem;
    }

    .featureColCommon {
        float: none;
        width: 35rem;
    }

    .featuresWrapSpace {
       margin-right: 0;
    }
}

@media screen and (max-width: 556px) {

   .brHide {
        display: inline-block;
    }
}




@media screen and (max-width: 550px) {

    #headerInnerDiv {
        height: 30rem;
        margin: 0 auto;
        max-width: 100%;
        padding: 0;
    }

    #logoDiv {
        float: none;
        margin-top: 3rem;
        text-align: center;
        width: 100%;
    }

    #contactMenuDiv {
       float: none;
    }

    #topContactDiv {
       margin-top: 0;
    }

    #topName {
        display: none;
    }

    #topPhone {
        position: absolute;
        text-align: center;
        top: 22rem;
        width: 100%;
    }

    .boldSpan {
        max-width: 12.8rem;
    }

    #contactFormDiv {
        max-width: 40.5rem;
    }

    #comContactForm input, #comContactForm textarea {
        width: 40rem;
    }
}

@media screen and (max-width: 510px) {

    .boldSpan {
        display: block;
    }

    .detailsSpan {
        display: block;
    }

    .weekDay {
        width: 14rem;
    }
}


@media screen and (max-width: 486px) {

    #bottomContactCol2 {
        display: block;
        float: none;
        margin: 8rem 0 5rem 0;
    }

    .squadTimesDiv {
        font-size: 1.8rem;
    }

    .weekDay {
        width: 12rem;
    }

    .am {
        width: 10rem;
    }

    .pm {
        width: 10rem;
    }

}

@media screen and (max-width: 450px) {

    .emailHide {
        display: none;
    }

    #contactFormDiv {
        max-width: 36.5rem;
    }

    #comContactForm input, #comContactForm textarea {
        width: 36rem;
    }

}

@media screen and (max-width: 430px) {

    #centreFeaturesDiv {
        width: 30rem;
    }

    .featureColCommon {
        width: 30rem;
        margin-left: auto;
        margin-right: auto;
    }

    #promotionDiv {
        padding: 0 1rem;
    }

    #promotionCol1, #promotionCol2, #promotionCol3 {
        margin-left: auto;
        margin-right: auto;
    }

    .promoColCommon {
        padding: 30.5rem 1rem 0 1rem;

    }

    .newsletterPic {
        margin: 0 -.3rem 0 0;
        padding-left: 1rem;
        width: 10.2rem;
        vertical-align: text-bottom;
    }

    #contactFormDiv {
        max-width: 33.5rem;
    }

    #comContactForm input, #comContactForm textarea {
        width: 33rem;
    }
}

@media screen and (max-width: 405px) {

    #centreFeaturesDiv hr {
        margin: 1.8rem auto 2rem auto;
        border-width: 2px;
        width: 25rem;
    }

    #centreFeaturesDiv {
        width: 25rem;
    }

    .featureColCommon {
        width: 25rem;
    }

    .acceditedLogo {
        float: none;
        margin: 1rem 0 0 1rem;
    }

    #bottomContactOuterDiv {
        border: solid 1px #000;
        height: 55rem;
    }

    #bottomContactCol3 {
        float: none;
        left: 1rem;
        margin: 24rem 0 0 0;
        position: absolute;
    }

    #contactFormDiv {
        max-width: 30.5rem;
    }

    #comContactForm input, #comContactForm textarea {
        width: 30rem;
    }
}

@media screen and (max-width: 368px) {

    #promotionDiv h4 {
        line-height: 2.5rem;
        margin: 0 0 2rem 0;
    }

    .promoColCommon {
        width: 25rem;
    }

    #contactFormDiv {
        max-width: 28.5rem;
    }

    #comContactForm input, #comContactForm textarea {
        width: 28rem;
    }

}
