﻿* {
    font-family: 'PT Sans', sans-serif;
}

.img-background-container {
    margin-right: -15px;
    margin-left: -15px;
    overflow: hidden;
}

.img-background {
    padding-bottom: 70%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background, .img-background * {
    cursor:pointer;
}

.col-sm-6 .img-background {
    padding-bottom: 35%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
    position: relative;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background.main {
    padding-bottom:50.2%;
    cursor:default;
}

.img-background.content {
    padding-bottom: 25%;
    cursor: default;
}

.home-container {
    position:relative;
}

.home-image {
    position:absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width:1000px;
    height:1000px;

}

/* Mobile Styles */
@media (max-width: 768px) {
    .col-sm-6 .img-background, .col-sm-3 .img-background {
        padding-bottom: 50%;
    }

    .img-background.main {
        padding-bottom: 80%;
    }
}

.img-background.slide {
    -ms-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -o-transform: scale(1.1);
    transform: scale(1.1);
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background.slide .background-cover-fade {
    background: url(/theme/image-fade-up-bg.png) bottom left repeat-x;
    height: 135px;
    position: absolute;
    
    bottom: -30px;
    width: 100%;
    z-index: 1;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background.slide .background-cover-fade {
    bottom: 0;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background .tile-text {
    position: absolute;
    left: 50%;
    bottom: 30px;
    z-index: 3;
    margin-left: -150px;
    color: #fff;
    text-shadow: 1px 1px 7px rgba(0,0,0, .8);
    text-align: center;
    width: 300px;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
    transform-style: preserve-3d;
}

.img-background.slide .tile-text {
    bottom: 120px;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background .tile-text .title {
    font-size: 18px;
    font-weight: bold;
    text-align: center;
    display: block;
    margin-bottom: 40px;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background.slide .tile-text .title {
    margin-bottom: 0px;
    background-position: 55% 55%;
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background .tile-text .title.yellow {
    color: #FFFF00;
    font-style:italic;
    font-size:28px;
    font-weight:normal;
}

.img-background .tile-text span {
    display: block;
    margin: 10px 0;
}

.img-background .tile-text a {
    display: block;
    background: rgba(0,0,0,.5);
    color: #fff;
    border: solid 1px #000 !important;
    text-shadow: none;
    font-weight: normal;
    
    -webkit-transform: rotateX(180deg);
    -moz-transform: rotateX(180deg);
    -o-transform: rotateX(180deg);
    transform: rotateX(180deg);
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
    border-radius: 0;
}

.img-background .tile-text a {
    background: rgba(0,0,0,1);
    
    -webkit-transition: all .5s ease 0s;
    transition: all .5s ease 0s;
}

.img-background .tile-text div.rollover {
    margin-bottom: -90px;
}

.img-background.slide .tile-text div.rollover {
    display: block;
}

.img-background.slide .tile-text a {
    -webkit-transform: rotateX(0deg);
    -moz-transform: rotateX(0deg);
    -o-transform: rotateX(0deg);
    transform: rotateX(0deg);
    -webkit-transition: all 1s ease 0s;
    transition: all 1s ease 0s;
}

.horizontal-bar {
    height: 5px;
    background: #999;
}


#jsddm a, #jsddm a {
    color: #fff;
}

#jsddm {
    list-style:none;
    float:right;
    margin-top:70px;
    margin-bottom:0;
}

#jsddm > li {
    display:block;
    float:left;
    margin:10px 30px;
}

#jsddm > li:first-child {
    margin-left:0;
}

#jsddm li:last-child {
    margin-right:0;
}

#jsddm > li a, #jsddm > li a {
    color:#555;
    text-transform:uppercase;
    font-weight:bold;
    font-size:17px;
}

#jsddm > li a {
    color:#2B6BB9;
    text-decoration:none;
}

#jsddm li ul {
    margin: 4px 0px;
    padding: 0px;
    position: absolute;
    display: none;
    border: 1px solid #173962;
    background: #2B6BB9;
    z-index: 100;
    list-style: none;
}

#jsddm li ul li {
    background-image: none;
    margin: 0px;
    padding: 0px;
    text-align: left;
}

#jsddm li ul li a, #jsddm li ul li a {
    display: block;
    width: 240px;
    line-height: 20px;
    padding: 2px 4px;
    font-size: 13px;
    font-weight:normal;
    color:#fff;
    background-image: none;
    color: #fff;
    border-bottom: solid 1px #173962;
    white-space: nowrap;
}

#jsddm li ul li a {
    background: #4D8BD7;
}

#jsddm .last {
    border: none;
}

.subNavContainer {
    background: #eee;
}

.subNav {
    height: 29px;
    margin: 0px auto;
    display: block;
    padding: 0px;
    list-style: none;
}

    .subNav li {
        display: block;
        float: left;
        margin: 0px;
        padding: 0px;
        margin: 6px 0px;
        padding: 2px 20px;
    }

#dealerNav {
    height: 29px;
    overflow: hidden;
}

    #dealerNav .last {
        border: none;
    }

.subNav li a {
    display: block;
    color: #333;
    text-decoration: none;
    font-size: 11px;
}


/* Mobile Styles */
@media (max-width: 768px) {

    .icon-bar {
        background:#000;
    }

    #jsddm {
        list-style: none;
        margin:0;
        float:none;
        padding:0;
        position:absolute;
        left:0px;
        top:110px;
        z-index:100;
        display:none;
    }

        #jsddm > li {
            display: block;
            border-bottom:solid 1px #aaa;
            background:#fff;
            margin: 0;
            width:100%;
            padding:5px;
        }
            #jsddm > li:first-child {
                margin-left: 0;
            }

        #jsddm li:last-child {
            margin-right: 0;
        }

        #jsddm > li a, #jsddm > li a {
            color: #555;
            text-transform: uppercase;
            font-weight: bold;
            font-size: 17px;
        }

            #jsddm > li a {
                color: #2B6BB9;
                text-decoration: none;
            }

        #jsddm li ul {
            margin: 4px 0px;
            padding: 0px;
            position: absolute;
            display: none;
            border: 1px solid #173962;
            background: #2B6BB9;
            z-index: 100;
            list-style: none;
        }

            #jsddm li ul li {
                background-image: none;
                margin: 0px;
                padding: 0px;
                text-align: left;
            }

                #jsddm li ul li a, #jsddm li ul li a {
                    display: block;
                    width: 240px;
                    line-height: 20px;
                    padding: 2px 4px;
                    font-size: 13px;
                    font-weight: normal;
                    color: #fff;
                    background-image: none;
                    color: #fff;
                    border-bottom: solid 1px #173962;
                    white-space: nowrap;
                }

                    #jsddm li ul li a {
                        background: #4D8BD7;
                    }

        #jsddm .last {
            border: none;
        }
}


#footer {
    margin-top:10px;
}

#footer, #footer * {
    font-size:10px;
    color:#777;
}

h1 {
    font-size: 32px;
    line-height: 40px;
}

h2 {
    font-size:25px;
    line-height:40px;
    color:#555;
    
    padding-top:15px;
}

h3 {
    color: #2B6BB9;
}

h5 {
    line-height:40px;
    font-size:18px;
    margin:30px 0;
}

.btn, .btn-primary, .btn-primary, .btn-primary:active, .btn-primary:focus {
    background: #2B6BB9 !important;
    border: none !important;
    border-radius: 0 !important;
    text-shadow: none !important;
    box-shadow: none !important;
    font-weight: normal !important;
}

.note {
    font-size:11px;
    margin-top:10px;
    margin-bottom:20px;
    font-style:italic;
    color:#757575;
}

.poolModelThumb {
    width: 160px;
    height: 120px;
    margin: 6px 5px 5px 0 !important;
    border: none !important;
    float: left;
}

.photoGalleryPoolModelThumb {
    margin: 6px 25px 5px 15px !important;
    border: none !important;
    float: left;
    width: auto !important;
    height: 120px;
}

.poolThumbnail {
    position: relative;
    width: 180px;
    height: 134px;
    margin: 0 5px 5px 0;
}

    .poolThumbnail em {
        display: block;
        position: absolute;
        left: 6px;
        bottom: 6px;
        color: #fff;
        font-size: 12px;
        font-style: italic;
        font-weight: bold;
        text-decoration: none;
        text-shadow: 2px 2px 2px #333;
    }

        .poolThumbnail em b {
            font-size: 10px;
            font-weight: normal;
            display: block;
        }


#Advantage th {
    font-weight: bold;
}

#Advantage td, #Advantage th {
    text-align: center;
    padding: 4px;
    vertical-align: middle;
}

#Advantage td {
    height: 40px;
}

#Advantage a {
    color: #fff;
}

#Advantage ul {
    margin: 5px;
    list-style-position: inside;
}

#Advantage li {
    text-align: left;
    margin: 3px 0px;
}

#Advantage .Concrete, #Advantage .Vinyl {
    background: #6F6F6F url(/images/td-gray-bg.jpg) repeat-x;
    border-left: solid 1px #555;
    border-bottom: solid 1px #555;
    color: #fff;
}

#Advantage .Fiberglass {
    background: #2867B6 url(/images/featureHighlightBg.jpg) repeat-x;
    width: 350px;
    color: #fff;
}


    #Advantage .Fiberglass ul li {
        color: #fff;
    }

#Advantage .Category {
    background: none;
    background-image: none;
    text-align: right;
    font-weight: normal;
    font-size: 12px;
    width: 120px;
}

#dealerNavInline a, #downloadLinkList a, .dealerNavInline a {
    display: block;
    margin: 7px 0;
}

/*
    Colorbox Core Style:
    The following CSS is consistent between example themes and should not be altered.
*/
#colorbox, #cboxOverlay, #cboxWrapper {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 9999;
    overflow: hidden;
}

#cboxWrapper {
    max-width: none;
}

#cboxOverlay {
    position: fixed;
    width: 100%;
    height: 100%;
}

#cboxMiddleLeft, #cboxBottomLeft {
    clear: left;
}

#cboxContent {
    position: relative;
}

#cboxLoadedContent {
    overflow: auto;
    -webkit-overflow-scrolling: touch;
}

#cboxTitle {
    margin: 0;
}

#cboxLoadingOverlay, #cboxLoadingGraphic {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

#cboxPrevious, #cboxNext, #cboxClose, #cboxSlideshow {
    cursor: pointer;
}

.cboxPhoto {
    float: left;
    margin: auto;
    border: 0;
    display: block;
    max-width: none;
    -ms-interpolation-mode: bicubic;
}

.cboxIframe {
    width: 100%;
    height: 100%;
    display: block;
    border: 0;
    padding: 0;
    margin: 0;
}

#colorbox, #cboxContent, #cboxLoadedContent {
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
}

/* 
    User Style:
    Change the following styles to modify the appearance of Colorbox.  They are
    ordered & tabbed in a way that represents the nesting of the generated HTML.
*/
#cboxOverlay {
    background: #000;
    opacity: 0.9;
    filter: alpha(opacity = 90);
}

#colorbox {
    outline: 0;
}

#cboxTopLeft {
    width: 14px;
    height: 14px;
    background: url(/images/controls.png) no-repeat 0 0;
}

#cboxTopCenter {
    height: 14px;
    background: url(/images/border.png) repeat-x top left;
}

#cboxTopRight {
    width: 14px;
    height: 14px;
    background: url(/images/controls.png) no-repeat -36px 0;
}

#cboxBottomLeft {
    width: 14px;
    height: 43px;
    background: url(/images/controls.png) no-repeat 0 -32px;
}

#cboxBottomCenter {
    height: 43px;
    background: url(/images/border.png) repeat-x bottom left;
}

#cboxBottomRight {
    width: 14px;
    height: 43px;
    background: url(/images/controls.png) no-repeat -36px -32px;
}

#cboxMiddleLeft {
    width: 14px;
    background: url(/images/controls.png) repeat-y -175px 0;
}

#cboxMiddleRight {
    width: 14px;
    background: url(/images/controls.png) repeat-y -211px 0;
}

#cboxContent {
    background: #fff;
    overflow: visible;
}

.cboxIframe {
    background: #fff;
}

#cboxError {
    padding: 50px;
    border: 1px solid #ccc;
}

#cboxLoadedContent {
    margin-bottom: 5px;
}

#cboxLoadingOverlay {
    background: url(/images/loading_background.png) no-repeat center center;
}

#cboxLoadingGraphic {
    background: url(/images/loading.gif) no-repeat center center;
}

#cboxTitle {
    position: absolute;
    bottom: -25px;
    left: 0;
    text-align: center;
    width: 100%;
    font-weight: bold;
    color: #7C7C7C;
}

#cboxCurrent {
    position: absolute;
    bottom: -25px;
    left: 58px;
    font-weight: bold;
    color: #7C7C7C;
}

/* these elements are buttons, and may need to have additional styles reset to avoid unwanted base styles */
#cboxPrevious, #cboxNext, #cboxSlideshow, #cboxClose {
    border: 0;
    padding: 0;
    margin: 0;
    overflow: visible;
    position: absolute;
    bottom: -29px;
    background: url(/images/controls.png) no-repeat 0px 0px;
    width: 23px;
    height: 23px;
    text-indent: -9999px;
}

    /* avoid outlines on :active (mouseclick), but preserve outlines on :focus (tabbed navigating) */
    #cboxPrevious:active, #cboxNext:active, #cboxSlideshow:active, #cboxClose:active {
        outline: 0;
    }

#cboxPrevious {
    left: 0px;
    background-position: -51px -25px;
}

    #cboxPrevious {
        background-position: -51px 0px;
    }

#cboxNext {
    left: 27px;
    background-position: -75px -25px;
}

    #cboxNext {
        background-position: -75px 0px;
    }

#cboxClose {
    right: 0;
    background-position: -100px -25px;
}

    #cboxClose {
        background-position: -100px 0px;
    }

.cboxSlideshow_on #cboxSlideshow {
    background-position: -125px 0px;
    right: 27px;
}

    .cboxSlideshow_on #cboxSlideshow {
        background-position: -150px 0px;
    }

.cboxSlideshow_off #cboxSlideshow {
    background-position: -150px -25px;
    right: 27px;
}

    .cboxSlideshow_off #cboxSlideshow {
        background-position: -125px 0px;
    }

.intro-header h4 {
    color:#fff;
}

.social-media-bar {
    
    height:45px;
    text-align:center;
    padding:10px 0;
}

.social-media-bar a {
    text-decoration:none;
    opacity:.7;
}

.social-media-bar i {
    font-size:26px;
    color:#fff;
    margin:0 7px;
}

.callout-banner {
    text-align:center;
    padding:10px 0;
    width:100%;
    background-color: #1764E3;
    background-image: -moz-linear-gradient(top, #4F8AEE 0%, #1764E3 100%);
    background-image: -o-linear-gradient(top, #4F8AEE 0%, #1764E3 100%);
    background-image: -webkit-gradient(linear, left top, left bottom, color-stop(0, #4F8AEE), color-stop(1, #1764E3));
    background-image: -webkit-linear-gradient(top, #4F8AEE 0%, #1764E3 100%);
    background-image: -ms-linear-gradient(top, #4F8AEE 0%, #1764E3 100%);
    background-image: linear-gradient(to bottom, #4F8AEE 0%, #1764E3 100%);
}

.callout-banner.featured {
    padding:20px 0;
}

#DealerWelcomeHeader {
    position:absolute;
    top:0;
    right:0;
    padding-right:15px;
}

/* START - File Upload BS3 Code (https://stackoverflow.com/questions/51738012/how-to-set-file-input-in-custom-format-using-bootstrap-3-3-7-or-css) */
.input-group {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    width: 100%;
}

    .input-group > .form-control,
    .input-group > .custom-select,
    .input-group > .custom-file {
        position: relative;
        flex: 1 1 auto;
        margin-bottom: 0;
    }

.btn-file {
    position: relative;
    overflow: hidden;
    vertical-align: middle;
}

.fileinput.input-group {
    display: flex;
    margin-bottom: 9px;
    flex-wrap: nowrap;
}

    .fileinput.input-group > * {
        position: relative;
        z-index: 2;
    }

.fileinput .form-control {
    padding: .375rem .75rem;
    display: inline-block;
    margin-bottom: 0px;
    vertical-align: middle;
    cursor: text;
}

.fileinput-filename {
    display: inline-block;
    overflow: hidden;
    vertical-align: middle;
}

.form-control .fileinput-filename {
    vertical-align: bottom;
}

.input-group > .form-control:not(:last-child),
.input-group > .custom-select:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
}

.fileinput.input-group > .btn-file {
    z-index: 1;
}

.fileinput-new {
    padding-right: 10px;
}

    .fileinput-new.input-group .btn-file,
    .fileinput-new .input-group .btn-file {
        border-radius: 0 4px 4px 0;
    }

    .fileinput-new.input-group .btn-file,
    .fileinput-new .input-group .btn-file {
        border-radius: 0 .25rem .25rem 0;
    }

.input-group-addon:not(:first-child) {
    border-left: 0;
}

.fileinput .input-group-addon {
    padding: .375rem .75rem;
    width: auto;
}

.fileinput-exists .fileinput-new,
.fileinput-new .fileinput-exists {
    display: none;
}

.fileinput .btn {
    vertical-align: middle;
}

.fileinput .input-group-addon {
    padding: .375rem .75rem;
    min-width:160px;
}

.btn:not(:disabled):not(.disabled) {
    cursor: pointer;
}

.fileinput.input-group > .btn-file {
    z-index: 1;
}

.fileinput-new.input-group .btn-file,
.fileinput-new .input-group .btn-file {
    border-radius: 0 4px 4px 0;
}

.fileinput-new.input-group .btn-file,
.fileinput-new .input-group .btn-file {
    border-radius: 0 .25rem .25rem 0;
}

.btn-file > input {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%;
    margin: 0;
    font-size: 23px;
    cursor: pointer;
    filter: alpha(opacity=0);
    opacity: 0;
    direction: ltr;
}
/* END - File Upload BS3 Code (https://stackoverflow.com/questions/51738012/how-to-set-file-input-in-custom-format-using-bootstrap-3-3-7-or-css) */