    
object, input {outline:none;}
a {outline:none; text-decoration:none;}
img {border:0;}


::selection { background: #848487 ; color:#FFFFFF; /* Safari */ }
::-moz-selection {background: #848487 ; color:#FFFFFF ; /* Firefox */ }

html {
    height:auto;
}

body {
	font-family: "Assistant", Arial, sans-serif;font-weight:400;	
	font-smooth:always;
	margin: 0;
	padding: 0;
	color: #848487;
	font-size:16px;
	width:100%;
	height:100%;
	background-color:#fff;
	text-align:right;
	line-height: 1.2em;
    position:relative;
    top:0px;
}

p {
    font-size: 1em;
    line-height:1.4em;
}
a {
    -webkit-transition: all 0.2s;
    -moz-transition: all 0.2s;
    transition: all 0.2s;
    color:#1775c9;
}
a:focus,
a:hover {
    color:#0e4577;
}

h1, h2, h3, h4, h5, h6 {
    color:#1775c9;
    font-family: "Assistant", Arial, sans-serif;font-weight:700;
    line-height: 1;
    font-weight: 600;
}


h1 {
    font-size: 2em;
}
h2 {
    font-size: 2em;
    margin-top: 0;
}
h3 {
    color:#848487;
    font-size:1.1em;
    margin-top:0;
    margin-bottom: 1em;    
    line-height: 1.4em !important;
}

p:empty {
    display:none;
}

.mask {
    overflow:hidden;
    position:relative;
}

ul, ol, dl {
    font-size:1em;
}

sup { vertical-align: super; line-height: 0;}
sub { vertical-align: sub; line-height: 0; }

strong, b {
	font-family: "Assistant", Arial, sans-serif;font-weight:700; 
}


.shadow {
    -moz-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
    box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
}

.gm-style img,
.gmnoprint img {
    max-width: none; 
}

a.disabled {
    cursor:default;
}


.centerMe {
    position:absolute;
    right:0;
    left:0;
    top:0;
    bottom:0;
    margin:auto;
    z-index:100;
}
.centerMe-flex {
    display: flex;
    align-items:center;
    justify-content:center;
}

ul.list-inline {
    margin:0;
    padding:0;
    list-style-type:none;
}
ul.list-inline li {
    display:inline-block;
    margin:0 0.1em;
}
ul.list-inline:not(.portfolio-item-filters) li:first-child {
    margin-right:0;
}

.large_phone {    
    font-size: 2.7em;
}

.last {
    margin-bottom:3em;
}

.fa-ul {
    padding-left: 0;
    margin-left: auto;
    padding-right: 0;
    margin-right: 2.14285714em;
}
.fa-li {
    right: -2.14285714em;
}


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/

.row {
    max-width: 1170px;
}

#theContent {
    position: relative;
            margin-top: 160px;
        
    padding-top:30px;

}



.no-js #theContent,
.outdated #theContent {
    margin-top:0;
}


.column, .columns {
	/*float:right !important;*/
}

/* section:first-of-type {
    margin-top:3em;
    padding-top: 30px;
} */

section.content {
    padding:3em 0;
}

article {
    margin-bottom:2em;
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/

#searchBox {
    position: fixed;
    background-color: #1775c9;
    width: 100%;
            padding: 1.1em 0 0.7em 0;
        
    
    z-index: 10000;
    top:0em;
    transition: all 0.5s ease-in-out;
    /*text-align: center;*/
    -moz-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
    -webkit-box-shadow: 0px 0px 8px rgba(0,0,0,0.3);
    box-shadow: 0px 0px 8px rgba(0,0,0,0.3);

    display:none;
}
.outdated #searchBox {
    position: absolute;
}

#searchBox.open {
            top: 150px;
    }

/*
#searchBox.home.open {
            top: 8em;
    }
  */



#search_form_retry,
#searchBox input.main {
    background-color: transparent;
    border-bottom: 1px solid #fff;
    height: auto;
    padding-bottom: 0em;
    padding-top: 0em;
    display: inline-block;
}
#searchBox input.main {
    color: #fff;
            font-size: 1.1em;
        padding-bottom:0.2em;
    width: 30%;
}

#searchBox #search_btn {
    display: inline-block;
    font-size: 1em;
    vertical-align: -0.2em;
    color:#fff;
    margin-right: 0.3em;
}
#searchBox #search_btn:hover {
    color:#0e4577;
}


#search_form_retry {
    color:#1775c9;
    border-color:#1775c9;
    padding-bottom: 0.3em;
    width: 90%;
    margin-top:0.4em;
}
#search_btn_retry {
    display: inline-block;
    font-size: 1.2em;
    vertical-align: -4px;
    margin-right: 0.3em;
}

.search_again {
    display: inline-block;
}

.advanced_search_btn {
    color: #fff;
         
        font-size: 1em;
        margin-right: 2em;
    display: inline-block;
    vertical-align: -0.2em;
}
.advanced_search_btn:before {
    content: "\f196";
            font-size: 0.8em;
        font-family: FontAwesome;
    font-style: normal;
    font-weight: normal;
    text-decoration: inherit;
    margin-left:0.3em;
}

.advanced_search_btn:hover {
    color:#0e4577;
}
.advanced_search_btn:hover:before {
    content: "\f0fe";
}

.advSearchBox {
    margin: 2.3em auto 1em auto;
    color:#fff;
}

.advSearchBox a.close_search {
    display: inline-block;
    margin-right: 1em;
    color: #fff;
}
.advSearchBox a.close_search:hover {
    color:#0e4577;
}
.advSearchBox .fancy-select {
    /*margin-bottom:7px;*/
    margin-top:0.7em;
    width: 17%;
}
.advSearchBox .fancy-select ul.options{
    width: 100%;
    min-width: 0;
}
.advSearchBox .fancy-select:first-of-type {
    /*width: 235px;*/
    display:inline-block;
    margin-left: 7%;
}
.advSearchBox .radio_group {
    display:inline-block;    
      vertical-align: top;
    margin-top: 0.7em;
}


.advSearchBox .radio_group input[type='radio']:checked + label.radio_label:before, .advSearchBox .radio_group input[type='checkbox']:checked + label:before,
.advSearchBox .radio_group input[type='radio']:checked + label.radio_label:after, .advSearchBox .radio_group input[type='radio']:checked + label.radio_label:hover:after {
    border-color:#0e4577;
}
.advSearchBox .radio_group input[type='radio']:checked + label.radio_label:after, .advSearchBox .radio_group input[type='radio']:checked + label.radio_label:hover:after {
    background-color:#0e4577;
}


.advSearchBox .input_group {
    width: 25%;
    text-align:right;
    color: #fff;
    display: inline-block;
    margin-top: 0.7em;
}
form#adv_search  input[type="text"] {
    margin-bottom:0px;
}
form#adv_search > input[type="text"] {
  width:51.8%;
  /*margin:0 auto;*/
  margin-bottom:4px;
  margin-top: 0.7em;
}

.input_group span.inputTitle {
  display:inline-block;
  width: 100px;
}
.input_group input {
  display:inline-block;
}
.input_group input:not(:first-child) {
  margin-right:0.2em;
}
.advSearchBox div.fancy-select div.trigger:after {
    background-color: #0e4577;
}
#sendAdvSearch {
    background-color:#0e4577;
    /*padding:0.1em 0.8em 0.2em 0.8em;*/
    margin-top: 0.3em;
}
#sendAdvSearch:hover {
    color:#f1f1f1;
}

article .advSearchBox,
article .advSearchBox .input_group {
    color:#848487;
}
.portfolio-list .advanced_search_btn,
.portfolio-list .advSearchBox .close_search {
    display:none;
}

article .advanced_search_btn {
    color:#848487;
    display: block;
    margin: 0;
    margin-top: 0.8em;
}
article #searchFld #search_form_retry {
    width:40%;
}


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/


.portfolio-item {
    /*width: 300px;
    height: 200px;
    margin: 10px;
    float: left;*/
    /*border: 10px solid #fff;*/
    overflow: hidden;
    position: relative;
    text-align: center;
    /*box-shadow: 1px 1px 2px #e6e6e6;*/
    cursor: pointer;
    /*background: #fff url(../images/bgimg.jpg) no-repeat center center;*/
}

.mason-img.vid .mask,
.portfolio-item .mask, .portfolio-item .content {
    /*width: 300px;
    height: 200px;*/
    position: absolute;
    overflow: hidden;
    top: 0;
    left: 0;
}
.mason-img.vid .mask,
.portfolio-item .mask {
    background-color: rgba(49,157,255, 0.8); 
    transition: all 0.5s ease-in-out;
    opacity: 0;
}

.mason-img.vid img,
.portfolio-item img {
    display: block;
    position: relative;
    /*transform: scaleY(1);*/
    transition: all 0.5s ease-in-out;
    width: 100%;
}
.portfolio-item img {
    max-width:275px;
    max-height:275px;
}
.mason-img.vid h4,
.portfolio-item h4 {
    text-transform: uppercase;
    text-align: center;
    position: relative;
    font-size: 1.2em;
    padding: 0em 0.5em 0.5em;
    margin: 0;
    background: transparent;
    transform: scale(0);
    color: #323232;
    transition: all 0.3s linear;
    opacity: 0;
}
.portfolio-item p {
    font-style: italic;
    position: relative;
    text-align: center;
    font-size:0.875em;
    padding: 0 1em;
    margin: 0;
    line-height: 1.2em;
    color: #323232;
    opacity: 0;
    transform: scale(0);
    transition: all 0.3s linear;
}
.portfolio-item a.link {
    font-size: 0.875em;
    color: #323232;
    border: 1px solid #323232;
    padding: 0.2em 0.7em;
    margin-top: 1em;
    display: none;
}

.portfolio-item p.link,
.portfolio-item a.link {
    display: none;
}


html:not(.mobile) .mason-img.vid:hover img,
html:not(.mobile) .portfolio-item:hover img { 
    /*transform: scale(2);*/
    opacity: 0.5;
}
html:not(.mobile) .mason-img.vid:hover .mask,
html:not(.mobile) .portfolio-item:hover .mask { 
    opacity: 1;
}             
html:not(.mobile) .mason-img.vid:hover h4,                                                               
html:not(.mobile) .portfolio-item:hover h4,
html:not(.mobile) .portfolio-item:hover p,
html:not(.mobile) .portfolio-item:hover a.link { 
    transform: scale(1);
    opacity: 1;
}

.portfolio-item .img-mask {
    overflow: hidden;
    /* height:275px; */
}
.portfolio-item .mask .centerMe {
    /*height: 109px;*/
}


.img_item {
    cursor: pointer;
}



/* @media screen and (max-width:767px) { */
    .mason-img.vid .mask,
    .portfolio-item .mask, .portfolio-item .content {
        position: static;
    }
    .mason-img.vid .mask,
    .portfolio-item .mask {
        background-color: transparent; 
        opacity: 1;
    }
    .mason-img.vid h4,                                                               
    .portfolio-item h4,
    .portfolio-item p,
    .portfolio-item a.link {
        transform: scale(1);
        opacity: 1;
    }
    .main-port .portfolio-item .mask {
        padding-top: 10px;
    }
    /* .portfolio-item .saveMe {
        bottom: auto;
        top: 132px;
    } */
/* } */

h2.lower_title {
    display: none;
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/


#flyout_overlay {
    width:100%;
    height:100%;
    background-color:rgba(0,0,0,0.9);
    position:fixed;
    z-index:99999999;
    display:none;
    top:0px;
    left:0px;
}

#flyout_overlay .content_win {
    width:50%;
    height:50%;
    display:block;
    margin: auto;
    position: absolute;
    top: 0; left: 0; bottom: 0; right: 0;
    display:none;
    z-index: 1000;
}

#flyout_overlay #img_player {
    text-align: center;
}
#flyout_overlay #img_player img {
    height: 100%;
    width: auto;
}
/*
#flyout_overlay #img_player.horiz {
    width: 90%;
    margin: 0 auto;
}
#flyout_overlay #img_player.horiz img {
    height: auto;
    width: 100%;
}*/
#flyout_overlay .desc {
    text-align: center;
    color: #fff;
    margin-bottom: 0.5em;
}
#flyout_overlay .desc h3 {
    color:#fff;
    font-size:1.2em;
}


#flyout_overlay .arrow_left,#flyout_overlay .arrow_right {
    width:27px;
    height:53px;
    display:block;
    position:absolute;
    top:50%;
    margin-top:-26px;
}
#flyout_overlay .arrow_left {
    background-image: url('../images/white_arrow_left.png');
    left:-5%;
}
#flyout_overlay .arrow_right {
    background-image: url('../images/white_arrow_right.png');
    right:-5%;
}
#flyout_overlay .arrow_left:hover {
    background-image: url('../images/white_arrow_left_2.png');
}
#flyout_overlay .arrow_right:hover {
    background-image: url('../images/white_arrow_right_2.png');
}


#flyout_overlay .close_btn {
    width: 29px;
    height: 29px;
    display: block;
    margin: 0px auto;
    margin-top: 4em;
    background-image:url('../images/close_btn.png');
}
#flyout_overlay .close_btn:hover {
    background-image:url('../images/close_btn_2.png');
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/

#newsletter_form {
    background-color:#d2d2d2;
    padding:2em 0 2.5em;
    margin-bottom:1.7em;
}
#newsletter_form input {
    background-color:#fff;
            width:44%;
    }
#newsletter_form form {
    width: 60%;
    display:block;
    margin:0.7em auto 1em;
    font-size: 1.3em;
}
#newsletter_form a.btn {
            padding:0.4em 0.8em 0.5em 0.8em;
        /*float:none;*/
    margin-right:0.3em;
}


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/


/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/



/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/




/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/

.sitemap {
    text-align: center;
}
.sitemap a.subCatBtn {
    display:none;
}
.sitemap li {
	list-style-type:none;
    display:block !important;
    margin:0 !important;
}
.sitemap ul {
    margin:0 !important;
}
.sitemap h4 {
	font-size:1.2em;
}
.sitemap h3 {
	margin-bottom:0.7em;
}

.sitemap h3:not(:first-child) {
	padding-top:1em;
	border-top:1px solid #000;
	margin-top:1em;
	
}

.sitemap a {
	text-decoration:none !important;
}

/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/



.browsehappy {
    position:relative;
    z-index:99999999999;
    top:0px;
    width: 100%;
    padding:3px 8px 5px 8px;
    background:#C8C02A;
    font-size:0.9em;
    display:none;
    text-align: center;
    color:#fff;
}

.browsehappy a {
    color:#fff;
}

body:not(.mobile) .browsehappy a:hover {
    color:#848487;
}

.no-js .browsehappy.nojs {
    display:block;
}
.outdated .browsehappy.outdated {
    display:block;
}



/*///////////////////////////////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////////////////////////////////*/



.clearfloat { /* this class should be placed on a div or break element and should be the final element before the close of a container that should fully contain a float */
    clear:both;
    height:0;
    font-size: 1px;
    line-height: 0px;
}
