body {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-size:18px;
}

.maincontent {
    max-width: 100%;
    padding: 0;
    margin: 0;
}

.maincontent_wrapper {
    padding-top: 0;
}

.maincontent {
    max-width: 100%;
}

.row {
    margin: 0 !important;
    padding: 0 !important;
}
img{
    width:100%;
}


p, h5 {
    font-family: 'Roboto Slab', Sans-Serif;
}
.title{
    font-weight:700;
}
.ital{
    font-style: italic;
}
.name{
    color:#4D7BA2;
    font-weight:700;
}
.myButton {
    position: relative;
    margin: 20px 0;
    background-color: #4D7BA2;
    border-radius: 28px;
    border: 1px solid #402c1a;
    display: block;
    max-width: 200px;
    cursor: pointer;
    color: #FFE9C7;
    font-family: 'Roboto Slab', Sans-Serif;
    padding: 14px 31px;
    text-decoration: none;
    text-shadow: 0px 1px 0px #fff;
    text-align: center;
}

.myButton:hover {
    background-color: #402c1a;
    color: #fff;
    text-shadow: 0px 0px 0px #fff;
    font-weight: 300;
}

.myButton:active {
    position: relative;
    top: 1px;
    background: transparent;
}


/* =========================== Hero ==================== */

.hero-container::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background:rgba(255,255,255,.3);
    z-index: 1;
}

.hero-container {
    position: relative;
}

.hero-container img {
    position: relative;
}

#hero-logo {
    position: absolute;
    top: 8%;
    right: 5%;
    width: 15vw;
    max-width: 350px;
    z-index: 2;
}

.hero-text-box-overlay {
    position: absolute;
    bottom: 15%;
    left: 10%;
    z-index: 2;
    text-transform: uppercase;
}

.hero-container .hero-text-box {
    position: relative;
    padding: 20px 0 20px 35px;
    z-index: 2;
}

.hero-text-box::before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 5px;
    background: #4D7BA2;
}

.hero-text-box::after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    height: 100%;
    width: 30%;
    border: 5px solid #4D7BA2;
    border-right: 0;
    border-left: 0;
}

.hero-text-box h5 {
    text-transform: uppercase;
}

.divider {
    margin: 0;
    padding: 2%;
    color: #ececec;
    background: #4D7BA2;
    position: relative;
    overflow: hidden;
}

.divider:before {
    content: "";
    position: absolute;
    z-index: 1;
    width: 96%;
    top: -10px;
    height: 10px;
    left: 2%;
    border-radius: 100px / 5px;
    box-shadow: 0 0 18px rgba(255, 255, 255, 0.7);
}

.divider:after {
    content: "";
    position: absolute;
    z-index: 1;
    width: 96%;
    bottom: -10px;
    height: 10px;
    left: 2%;
    border-radius: 100px / 5px;
    box-shadow: 0 0 18px rgba(255, 255, 255, 0.7);
}

.divider-flex {
    display: flex;
    flex-direction: row;
    flex-wrap:wrap;
    justify-content: space-evenly;
    font-size: 3rem;
    font-weight: 200;
    text-transform: uppercase;
    font-style: italic;
}

.divider-decoration{
    position: relative;
    width:220px;
    height:50px;
}
.divider-decoration::before{
    position: absolute;
    content:"";
    background:url('/imageserver/Reusable/viwinco-windows21/fancy-dividerx150Y.png');
    background-size:100%;
    background-repeat:no-repeat;
    top:30%;
    width:220px;
    height:15px;
}

.gradient-divider{
        height: 1px;
        z-index:5;
        background: #000;
        margin: 100px auto;
        position: relative;
        max-width: 50%;
        background: -webkit-linear-gradient(left, rgb(255, 255, 255) 0%, rgb(50, 50, 50) 50%, rgb(255, 255, 255) 100%);
}

.fancy-divider{
    text-align:center;
    margin:100px 0;
    max-height:20px;
}
.showSingle{
    cursor:pointer;
}
.section1 {
    text-align: center;
    padding: 3% 3% 0;
    margin: 0 auto;
    background:linear-gradient(rgba(255,255,255,0.8)0%, rgba(255,255,255,0.8)100%), url('/imageserver/Reusable/backgrounds/texture10.png');
    background-position:top;
    background-size:cover;
}
.sec1-header{
    text-align: center;
    margin:0 auto;
    max-width:1500px;
    padding:0 3%;
}

.section2{
    max-width:1600px;
    margin:0 auto;
    padding:0 3%;
}
 .install-grid{
    display:grid;
    grid-template-columns: 1fr .5fr 2fr;
    gap:2%;
}
#replacement-lines{
    margin:0px 0 0 100px  ;
}
 #replacement-flex{
    display:flex;
    flex-wrap:wrap;
    flex-direction:row;
    justify-content: space-evenly;
} 
#edgemont, #cambridge{
    width:45%;
    min-width:400px;
}
#replacement-lines h2{
    color:#4D7BA2;
    cursor:pointer;
    position: relative;
    display:inline-block;
}
#replacement-lines h2::after{
    content:"";
    position: absolute;
    display:inline-block;
    top:50%;
    right:-26%;
    width:25%;
    height:2px;
    background:#FFE9C7;
} */

.install-type-text{
    background:linear-gradient(to right, rgba(255,255,255,0)0%, rgba(255,255,255,.5)2%, rgba(255,255,255,.9)100%);
    justify-self:flex-end;
    align-self:center;
    max-width:1000px;
    grid-column: 2/4;
    grid-row:1/2;
    margin-left:-5vw;
    position: relative;
}
#replacement{
    position: relative;
    grid-column: 1/3;
    grid-row:1/2;
    min-height:400px;
    overflow:hidden;
    background:linear-gradient(to right, rgba(255,255,255,0)0%, rgba(255,255,255,1)80%), url('/imageserver/Reusable/viwinco-windows21/replacement-header.jpg');
    /* background-position:center, -100px 0; */
    background-size:100%;
    background-repeat: no-repeat;
}

#oceanview{
    grid-column: 1/3;
    grid-row:1/2;
    min-height:400px;
    overflow:hidden;
    background:linear-gradient(to right, rgba(255,255,255,0)0%, rgba(255,255,255,1)80%), url('/imageserver/Reusable/viwinco-windows21/oceanview-header.jpg');
    /* background-position:center, -400px 0; */
    background-size:100%;
    background-repeat: no-repeat;
}
#new-const{
    grid-column: 1/3;
    grid-row:1/2;
    min-height:400px;
    overflow:hidden;
    background:linear-gradient(to right, rgba(255,255,255,0)0%, rgba(255,255,255,1)80%), url('/imageserver/Reusable/viwinco-windows21/newconstruction-header.jpg');
    /* background-position:center, -400px 0; */
    background-size:100%;
    background-repeat: no-repeat;
}



/* ======================================== Window Styles =================================== */


.section3-inner{
    padding:5% 0;
}
.sec3-grid{
    display:grid;
    grid-template-columns: 2fr 1fr 3fr;
    gap:25px;
    max-width:1500px;
    padding:0 4%;
    margin:0 auto;
}
.sec3-grid-left{
    grid-column: 1/3;
    grid-row:1/3;
}
.sec3-grid-right-text{
    grid-column: 3/4;
    grid-row:1/2;
    align-self:flex-start;
    justify-self: flex-end;
    max-width:700px;
    min-height:600px;
}
.sec3-grid-right-icons{
    grid-column: 1/4;
    background:linear-gradient(rgba(255,255,255,0.98)0%, rgba(255,255,255,0.98)100%), url('/imageserver/Reusable/viwinco-windows21/logo-bg.png'),linear-gradient(rgba(255,255,255,1)0%, rgba(255,255,255,1)100%);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%,50%;
    grid-row:2/3;
    align-self:flex-end;
    justify-self: flex-end;
    /* background:#fafafa; */
    filter:drop-shadow(5px 5px 8px rgba(0,0,0,0.3));
    padding:1%;
    margin:0px 0 -50px 0;
}
.sec3-grid-right-icons .menu{
    display:flex;
    flex-direction:row;
    justify-content: center;
    align-items: center;
    flex-wrap:wrap;
    max-width:900px;
    min-width:800px;
}
.icon{
    display:inline-block;
    min-width:200px;
    min-height:200px;
    display:grid!important;
    justify-content: center;
    text-align:center;
    padding:20px 0;
    cursor:pointer;
    position: relative;
    color:#434E6E;
}
.product-image{
    position: relative;
}
.product-image::before{
    content:"";
    position: absolute;
    top:-25px;
    left:-25px;
    height:80%;
    width:40%;
    background:#434E6E;
}

#myImage{
    max-width:600px;
    filter:drop-shadow(3px 3px 3px rgba(0,0,0,0.5));
}
.icon::after{
    content:"";
    position: absolute;
    bottom:0;
    left:0;
    height:1px;
    width:100%;
    background:#E3CCA1;
}
.icon::before{
    content:"";
    position: absolute;
    bottom:0;
    right:0;
    height:100%;
    width:1px;
    background:#E3CCA1;
}
.icon img{
    max-width:100px;
}
#picture::before{
    width:0px;
}
#single::after{
    width:0px;
}
#mulled::after, #mulled::before{
    width:0px;
}
#specialty::after{
    width:0px;
}
#sliding::after{
    width:0px;
}


/* ================================================== Product Section ====================================== */

.gallery-section {
    background-image: linear-gradient(to bottom, rgba(250, 250, 250, 0.5)0%, rgba(250, 250, 250, 1)20%);
}

.gallery-container {
    padding: 0 20px;
}

.section h1 {
    position: relative;
    margin: 1% 0 3%;
}

.grid {
    display: grid;
    grid-gap: 30px;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    grid-auto-rows: 200px;
    grid-auto-flow: row dense;
}

.item {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    box-sizing: border-box;
    background: #0c9a9a;
    color: #fff;
    grid-column-start: auto;
    grid-row-start: auto;
    color: #fff;
    background: url('/imageserver/Reusable/viwinco-windows21/oceanview-tall.jpg');
    background-size: cover;
    background-position: center;
    box-shadow: -2px 2px 10px 0px rgba(68, 68, 68, 0.4);
    transition: transform 0.3s ease-in-out;
}

.item:nth-of-type(2) {
    background-image: url('/imageserver/Reusable/viwinco-windows21/ocean-tall-lrg2.jpg');
}

.item:nth-of-type(3) {
    background-image: url('/imageserver/Reusable/viwinco-windows21/new-tall-lrg5.jpg');
}

.item:nth-of-type(4) {
    background-image: url('/imageserver/Reusable/viwinco-windows21/new-tall-lrg6.jpg');
}

.item:nth-of-type(5) {
    background-image: url('/imageserver/Reusable/viwinco-windows21/replacement-tall-lrg5.jpg');
}

.item:nth-of-type(6) {
    background-image: url('/imageserver/Reusable/viwinco-windows21/replacement-tall-lrg2.jpg');
}

.item:nth-of-type(7) {
    background-image: url('/imageserver/Reusable/viwinco-windows21/ocean-tall-lrg3.jpg');
}

.item:nth-of-type(8) {
    background-image: url('/imageserver/Reusable/viwinco-windows21/ocean-tall-lrg1.jpg');
}

.item:hover {
    transform: scale(1.05);
}

.item:hover:after {
    opacity: 0;
}

.item--medium {
    grid-row-end: span 2;
}

.item--large {
    grid-row-end: span 3;
}

.item--full {
    grid-column-end: auto;
}

@media screen and (min-width: 768px) {
    .item--full {
        grid-column: 1/-1;
        grid-row-end: span 2;
    }
}

.item_details {
    width: 100%;
}

.item__details a {
    position: relative;
    display: block;
    width: 100%;
    font-size: 2rem;
    padding: 15px;
    color: #444;
    background: #fff;
    letter-spacing: 1px;
    color: #828282;
}

item__details a:hover {
    color: #424E63;
}



/* ============================================= Media Queries ========================================= */

@media screen and (max-width:1560px) {
   
}

@media screen and (max-width:1350px) {
    
}

@media screen and (max-width:1200px) {
   
}

@media screen and (max-width:1100px) {
    .divider-flex, .divider-text, .divider-decoration {
        display: block;
        margin:0 auto;
    }
    .divider-text{
        text-align: center;
    }
    .sec3-grid{
        display:block;
    }
}

@media screen and (max-width:992px) {
    .sec3-grid-right-icons .menu{
        min-width:auto;
    }
    #casement::before{
        width:0px;
    }
    #single::before{
        width:0px;
    }
    #single::after{
        width:100%;
    }
    #specialty::after{
        width:100%;
    }
    .install-grid{
        display:block;
    }
    .install-type-thumb{
        display:none;
    }
    .install-type-text{
        margin-left:0;
        text-align:center;
    }
    
}
@media screen and (max-width:800px) {
    #edgemont, #cambridge{
        width:45%;
        min-width:500px;
    }
}

@media screen and (max-width:768px) {
    .html, body {
        font-size: 16px !important;
    }
    .myButton {
        margin: 0 auto;
    }
    .hero-container .hero-text-box {
        text-align: center;
        padding: 10px 0;
        background: #ececec;
        color: #424E63;
    }
    .hero-text-box-overlay {
        bottom: 0;
        right: 0;
        position: relative;
        left:0;
    }
    .hero-text-box::before {
        display: none;
    }
    .hero-text-box::after {
        display: none;
    }
}

@media screen and (max-width:500px) {
    .sec3-grid-right-icons .menu{
        display:block;
    }
    .icon::before {
        width: 0px;
    }
}