
/* --------------------- */
/* --------------------- */
/* ----             ---- */
/* ----    RESET    ---- */
/* ----             ---- */
/* --------------------- */
/* --------------------- */


/* TABLET */
@media only screen and (min-width: 768px) and (max-width: 1024px) {
}

/* MOBILE */
@media only screen and (max-width: 767px) {
}


@font-face {
    font-family: "Montserrat";
    src: url(../fonts/Montserrat-Regular.ttf);
    }

@font-face {
    font-family: "Alfa Slab One";
    src: url(../fonts/AlfaSlabOne-Regular.ttf);
    }

body {
    font-family: "Montserrat", Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif !important;
    font-weight: 500;
    font-optical-sizing: auto;
    font-size: 16px;
    color: #000;
    background: #fff;
    }

h1, h2, h3, h4, h5, h6, .btn {
    font-family: "Alfa Slab One", Baskerville, "Palatino Linotype", Palatino, "Century Schoolbook L", "Times New Roman", serif !important;
    font-weight: 300 !important;
    font-style: normal !important;
    }

ul, ol {
    font-family: "Montserrat", Segoe, "Segoe UI", "DejaVu Sans", "Trebuchet MS", Verdana, sans-serif !important;
    padding-left: 20px;
}

.upw-hr {
    border: none;
    background: #ccc;
    color: #ccc;
    height: 2px;
    overflow: hidden;
    opacity: 1;
}

/*
input { border-width: 0.375rem !important;}
*/

/* ----------------------- */
/* ----------------------- */
/* ----               ---- */
/* ----    BUTTONS    ---- */
/* ----               ---- */
/* ----------------------- */
/* ----------------------- */



.btn-primary {
    background: #b1e1f3;
    border-color: #b1e1f3;
    color: #000;
}

    .btn-primary:hover .icon, 
    .btn-primary:active .icon, 
    .btn-primary:focus .icon {
        fill:  #fff;
        color: #fff;
    }


/* --------------------- */
/* --------------------- */
/* ----             ---- */
/* ----    ICONS    ---- */
/* ----             ---- */
/* --------------------- */
/* --------------------- */


    .icon {
        display: inline-flex;
        flex: none;
        width: 24px;
        height: 24px;
        overflow: hidden;
        background: none;
        fill: #000;
        color: #000;
        transition: all .2s;
    }

.icon--white {
    fill: #fff;
    color: #fff;
}

.icon--gold {
    fill: #cba639;
    color: #cba639;
}

.icon--dk-blue {
    fill: #14202c;
    color: #14202c;
}

.icon--bright-blue {
    fill: #0d6efd;
    color: #0d6efd;
}

.icon--lt-blue {
    fill: #b1e1f3;
    color: #b1e1f3;
}

.icon--red {
    fill: #880808;
    color: #880808;
}

.icon--maroon {
    fill: #530000;
    color: #530000;
}

.icon--16 {
    width: 16px;
    height: 16px;
}
.icon--20 {
    width: 20px;
    height: 20px;
}
.icon--24 {
    width: 24px;
    height: 24px;
}

.icon--logo {
    /*
    width: 240px;
    height: 90px;


    width: 213px;
    height: 80px;
    */

    width: 187px;
    height: 70px;
}
/* MOBILE */
@media only screen and (max-width: 767px) {
    .icon--logo {
        width: 240px;
        height: 90px;
    }
}

.icon--service-map {
    /*width: 802px;
	height: 770px;*/
    width: 201px;
    height: 193px;
}



/* ------------------------ */
/* ------------------------ */
/* ----                ---- */
/* ----    CAROUSEL    ---- */
/* ----                ---- */
/* ------------------------ */
/* ------------------------ */

.upw-slider {
    /*background: #b1e1f3;*/
    /*background: #990000;
    padding: 20px;*/
    box-shadow: 0 0 20px 10px rgba(0,0,0,.1);
    /*border-radius: 20px;*/
    overflow: hidden;
    border: 10px solid #b1e1f3;
}


    .upw-slider .carousel {
        /*border: 4px solid #fff;
        box-shadow: 0 0 6px 3px rgba(0,0,0,.15);*/
        }

        .upw-slider .carousel .carousel-inner {
            position: relative;
            background: url(../img/upw-slide-BG.png);
            background-size: contain;
        }
        
        .upw-slider .carousel .carousel-inner:after {
            position: absolute;
            z-index: 2;
            top: 0;
            left: 0;
            bottom: 0;
            right: 0;
            overflow: hidden;
            /*border-radius: 13px;*/
            box-shadow: 
                inset 2px 2px 0 0 #fff,
                inset -2px -2px 0 0 #fff,
                inset -2px 2px 0 0 #fff,
                inset 2px -2px 0 0 #fff,
                inset 0 0 25px 5px rgba(0,0,0,.1)
            ;
        }

        .upw-slider .carousel-inner > .item {
            }

    .upw-slider .carousel-control-next,
    .upw-slider .carousel-control-prev {

        opacity: 0;
        z-index: 3;
    }

.upw-carousel-indicators {

    display: none;

    bottom: 0;
    right: 0;
    margin: 0 0 6px 0;
    z-index: 3;
}

.upw-carousel-indicators [data-bs-target] {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    overflow:hidden;
    background: #fff;
    border: none;
    /*box-shadow: 0 0 5px 2px rgba(0,0,0,.3);*/
    opacity: 1;
    }

    .upw-carousel-indicators [data-bs-target].active {
        opacity: 1;
        background: #0d6efd;
        box-shaow: none;
    }


/* ---------------------- */
/* ---------------------- */
/* ----              ---- */
/* ----    LAYOUT    ---- */
/* ----              ---- */
/* ---------------------- */
/* ---------------------- */



.upw-header {
    position: relative;
    z-index: 99;
    padding: 5px 0;
    text-align: center;
    /*color: #530000;*/
    background: #fff !important;
}
/* MOBILE */
@media only screen and (max-width: 767px) {
    .upw-header {
        padding: 15px 0;
    }
}

    .upw-header address {
        font-size: 14px;
    }



.upw-subheader {
    text-align: center;
    text-transform: uppercase;
    }






/* MOBILE */
@media only screen and (max-width: 767px) {
    .upw-subheader {
        padding: 5px 0 15px 0;
    }
}

    .upw-subheader .icon { 
        margin: 0 0 3px 0;
        }





    .upw-subheader p {
        margin: 2px 0 0 0;
        }


.upw-services {
    padding: 80px 0;
    color: #fff;
    text-shadow: 2px 2px 3px rgba(0,0,0,1);
    box-shadow: inset 0 0 20px rgba(0,0,0,.25);
    background: #530000;
    /*
    background: repeating-linear-gradient( 
        -15deg, 
        #400000, 
        #400000 50px, 
        #530000 50px, 
        #530000 100px 
        );
    */

    background: repeating-linear-gradient( 
        0deg, 
        #9e0f00, 
        #9e0f00 2px, 
        #ad1000 2px, 
        #ad1000 30px, 
        #9e0f00 2px, 
        #ad1000 2px
        );

}


@media only screen and (max-width: 1199px) {
    .upw-services {
        padding: 45px 0;
    }
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
    .upw-services {
        padding: 30px 0;
    }
}

@media only screen and (max-width: 767px) {
    .upw-services {
        padding: 30px 0;
    }
}
    .upw-services h2,
    .upw-services h3,
    .upw-services h4 {
        /*color: #b1e1f3;*/
    }


.upw-services-list {
}
@media only screen and (max-width: 1199px) {
    .upw-services-list {
        padding: 0 0 15px 0;
    }

}

.upw-geo-contact {
    position: relative;
    z-index: 99;
    padding: 75px 0;
    background: #fff !important;
}

@media only screen and (max-width: 991px) {
    .upw-geo-contact {
        padding: 15px 0 45px 0;
    }
}

    .upw-geo-contact label {
        color: #000;
        }

    .upw-geo-contact input,
    .upw-geo-contact textarea {
        color: #000;
        border-color: #aaa;
    }

.upw-geo-contact textarea {
    max-height: 100px;
}

.upw-geo-contact input[type=submit] {
    border: none;
}
        .upw-service-area {
            position: relative;
            background: url(../img/service-map-expanded.png) right center no-repeat;
            background-size: contain;
            z-index: 1;
            overflow: hidden;
            min-height: 275px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            /*padding: 0 25px 0 0;*/
            padding: 0;
            /* background: url(../img/service-map-expanded.png) no-repeat right center;
    background-size: contain;*/
            text-shadow: 3px 3px 1px rgba(255,255,255,1), -3px -3px 1px rgba(255,255,255,1), -3px 3px 1px rgba(255,255,255,1), 3px -3px 1px rgba(255,255,255,1);
        }

@media only screen and (max-width: 991px) {
    .upw-service-area {
        padding: 0;
    }
}
    .upw-service-area__graphic {
        position: relative;
        z-index: -1;
        margin: -30px 0 0 -250px;
        width: 250px;
        height: auto;
    }
@media only screen and (max-width: 991px) {
    .upw-service-area__graphic {
        margin: 0 0 0 -250px;
    }
}

.upw-contact-form {
    border-left: 2px solid #ccc;
    padding: 0 0 0 50px;
}

@media only screen and (max-width: 991px) {
    .upw-contact-form {
        border: none;
        border-top: 2px solid #ccc;
        margin: 30px 0 0 0;
        padding: 45px 0 0 0;
    }
}

.upw-footer {
    padding: 55px 0 40px 0;
    color: #fff;
    text-shadow: 2px 2px 3px rgba(0,0,0,1);
    box-shadow: inset 0 0 20px rgba(0,0,0,.25);
    background: #530000;
    background: repeating-linear-gradient( 0deg, #9e0f00, #9e0f00 2px, #ad1000 2px, #ad1000 30px, #9e0f00 2px, #ad1000 2px );
}

/* MOBILE */
@media only screen and (max-width: 767px) {
    .upw-footer {
        padding: 30px 0;
    }
}
    .upw-footer h2,
    .upw-footer h3,
    .upw-footer h4 {
        /*color: #b1e1f3;*/
    }


    
	.upw-footer li {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
	}


.upw-footer a {
	overflow: hidden;
	text-overflow: ellipsis;
}

.upw-footer span + a {
    margin-left: 10px;
}

    .upw-footer a,
    .upw-footer a:visited {
        color: #b1e1f3;
    }

    .upw-footer .icon {
        fill: #fff;
        color: #fff;
        margin-right: 10px;
    }