:root {
  /* Palette Colori Originale Invariata */
  --color-primary: #3a66ad;
  --color-primary-hover: #2d5088;
  --color-text-main: #666666;
  --color-text-headings: #555555;
  --color-text-muted: #999999;
  --color-border: #dddddd;
  --color-border-dark: #999999;
  --color-border-hr: #cccccc;
  --color-bg-light: #f3f3f3;
  --color-bg-tab: #eaeaea;
  --layout-width: 978px;
  --font-main: Arial, sans-serif;
}

article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block; overflow:hidden;}
audio, canvas, video { display: inline-block; }
audio:not([controls]) { display: none; }
html { font-size: 100%; overflow-y: scroll; scroll-behavior: smooth; -webkit-text-size-adjust: 100%; -ms-text-size-adjust: 100%; }
body { margin: 0; font-size: 12px; line-height: 1.5; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
body, button, input, select, textarea { font-family: var(--font-main); color: var(--color-text-main); }
::-moz-selection { background: var(--color-primary); color: #fff; text-shadow: none; font-weight: bold; }
::selection { background: var(--color-primary); color: #fff; text-shadow: none; font-weight: bold; }	
/* LINKS */
a { text-decoration: none; color: var(--color-primary); cursor: pointer; padding: 2px; font-weight: bold; }
a:hover { color: #FFFFFF; background-color: var(--color-primary); 
transition: color 0.2s linear, background-color 0.2s linear; padding: 2px; font-weight: bold; } 
:focus:not(:focus-visible) { outline: none; }
:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 2px; }
/* TYPO */
abbr[title] { border-bottom: 1px dotted; }
dfn { font-style: italic; }
hr { display: block; height: 1px; border: 0; border-top: 1px solid #ccc; margin: 1em 0; padding: 0; }
p {margin:0 0 1em;}
pre, code, kbd, samp { font-family: monospace, monospace; _font-family: 'courier new', monospace; font-size: 1em; }
q { quotes: none; }
q:before, q:after { content: ""; content: none; }
blockquote { margin: 0 20px 20px 0; padding: 5px 5px 5px 15px; border-left: 1px solid #DDD; font-style: italic; color: #999; }
b, strong, .strong { font-weight: bold; }
small, .small { font-size: 85%; }
address{font-style: normal;}
/* LIST */
dd { margin: 0 0 0 40px; }
ul, ol, menu { list-style: none; list-style-image: none; margin: 0; padding: 0; }
/* EMBEDDED CONTENT */
img { border: 0; -ms-interpolation-mode: bicubic; vertical-align: middle; max-width: 100%; height: auto; }
svg:not(:root) { overflow: hidden; }
figure { margin: 0; }
/* FORM */
form { margin: 0; }
fieldset { border: 0; margin: 0; padding: 0; }
label { cursor: pointer; }
legend { border: 0; *margin-left: -7px; padding: 0; }
button, input, select, textarea { font-size: 100%; margin: 0; vertical-align: baseline; *vertical-align: middle; }
button, input { line-height: normal; *overflow: visible; }
table button, table input { *overflow: auto; }
button, input[type="button"], input[type="reset"], input[type="submit"] { cursor: pointer; -webkit-appearance: button; }
input[type="checkbox"], input[type="radio"] { box-sizing: border-box; }
input[type="search"] { -webkit-appearance: textfield; -moz-box-sizing: content-box; -webkit-box-sizing: content-box; box-sizing: content-box; }
input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
button::-moz-focus-inner, input::-moz-focus-inner { border: 0; padding: 0; }
textarea { overflow: auto; vertical-align: top; resize: vertical; }
/* TABLE */
table { border-collapse: collapse; border-spacing: 0; }
td { vertical-align: top; }
/* ----
STYLES
---- */
h1, h2, h3, h4, h5, h6 { margin: 0 0 1em }
h1 { font-size: 50px; letter-spacing: -0.075em; text-transform: uppercase; line-height: 0.9; color: #555; margin: 0 0 30px; font-weight: normal; }
h1.product-title { font-size: 30px; margin: 0 0 20px; letter-spacing: -0.05em; color: #555; line-height: 1; font-weight: normal; text-transform: none; }
h2 { font-size: 30px; margin: 0 0 20px; letter-spacing: -0.05em; color: #555; line-height: 1; }
h3 { font-size: 21px }
h4 { font-size: 18px }
h5 { font-size: 14px; text-transform: uppercase; margin: 0; color: #555; }
h6 { font-size: 12px; margin-bottom: 2px; }
body { width: 100%; min-width: 988px; overflow: hidden; }
.center { margin-left: auto; margin-right: auto; display: block; clear: both; overflow: hidden; padding: 0 5px; width: 978px; }
.column4 { width: 22.6993865%; overflow: hidden; float: left; display: block; height: 100%; }
.column3 { width: 31.2883436%; overflow: hidden; float: left; display: block; height: 100%; }
.column2 { width: 48.4662577%; overflow: hidden; float: left; display: block; height: 100%; }
.column5 { width: 300px; overflow: hidden; float: left; display: block; height: 100%; }
.columnthird { width: 74.2331288%; min-width: 726px; overflow: hidden; float: left; display: block; height: 100%;}
.mleft { margin-left: 3.06748466% }
.mright { margin-right: 3.06748466%; }
.column4in { width: 30.5785124%; overflow: hidden; float: left; display: block; height: 100%; }
.column3in { width: 42.1487603%; overflow: hidden; float: left; display: block; height: 100%; }
.column2in { width: 65.2892562%; overflow: hidden; float: left; display: block; height: 100%; }
.mbottom { margin-bottom: 30px }
.mr { margin-right: 10px }
.mb { margin-bottom: 10px }
.fright, .fleft { display: block; overflow: hidden; }
.fright { float: right }
.fleft { float: left }
/* HEADER */
#logo_header:not(:has(img)) { background: url(../images/logo_header.jpg) no-repeat; background-size: 100% auto; }
#logo_header, .site-header__brand { display: block; width: 100%; height: 141px; min-height: 40px; margin: 0; padding: 0; overflow: hidden; }
.site-header__brand a { display: block; width: 100%; height: 141px; padding: 0; margin: 0; line-height: 0; font-size: 0; }
.site-header__logo { display: block; width: 100%; height: 141px; object-fit: cover; vertical-align: top; margin: 0; padding: 0; }
header#navtop { margin-bottom: 0px; }
.logo { margin: 10px 0px 10px 0px }
header nav { margin-top: 2px }
header nav ul { float: left; overflow: hidden; padding: 0 10px 0 10px; border-left: 1px solid var(--color-border); line-height: 24px; }
nav a, menu a { text-decoration: none; color: var(--color-text-main); }
.navactive { color: var(--color-primary); }

/* Modern Flexbox Header Bar */
.site-header__bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--color-border);
  padding: 4px 0;
  margin-top: 2px;
  clear: both;
}
.site-nav__list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.site-nav__item {
  padding: 0 10px;
  border-left: 1px solid var(--color-border);
  line-height: 24px;
}
.site-nav__item:first-child {
  border-left: none;
}
.site-nav__link {
  text-decoration: none;
  color: var(--color-text-main);
  font-size: 12px;
  font-weight: normal;
}
.site-nav__item--active .site-nav__link,
.site-nav__link:hover {
  color: var(--color-primary);
  font-weight: bold;
  background: none;
}

/* Header Search */
.header-search-wrap, form.search {
  display: flex;
  align-items: center;
  margin: 0;
}
input.search_edit {
  width: 160px;
  height: 18px;
  line-height: 18px;
  padding: 2px 4px;
  border: 1px solid var(--color-border);
  color: var(--color-text-main);
  box-sizing: content-box;
}
.button_src {
  background: var(--color-primary);
  color: #ffffff;
  border: 1px solid var(--color-primary);
  padding: 3px 8px;
  font-size: 11px;
  cursor: pointer;
  margin-left: 4px;
}
.button_src:hover {
  background: var(--color-primary-hover);
}

/**/
.part { margin-top: 20px; margin-bottom: 40px }
.title { border-top: 1px solid var(--color-border-dark); padding-top: 10px; color: var(--color-text-headings); margin-bottom: 0px; }
/**/
.arrow { padding-right: 15px; background: url(../images/arrow.png) no-repeat right center; text-decoration: none; }
.arrow:hover { background: url(../images/arrowhover.png) no-repeat right center; color: var(--color-primary); }
.more { color: var(--color-text-muted); font-style: italic; }

/* SLIDER */
#slides, .hero-slider { position: relative; z-index: 1; width: 474px; height: 400px; }
.slides_container, .hero-slider__container { width: 474px; height: 400px; display: block; position: relative; overflow: hidden; margin-right: 0px; }
.slides_container .slide, .hero-slider__container .slide { width: 474px; height: 400px; display: block; position: relative; }
.slide figure { overflow: hidden; height: 350px; margin: 0; position: relative; }
.slide img { width: 474px; height: 350px; display: block; object-fit: cover; }
.slide figcaption { position: absolute; height: auto; min-height: 24px; width: auto; padding: 2px; bottom: 15px; right: 0; }
.slide figcaption div { text-align: right; display: block; border-right: 3px solid var(--color-primary); background: rgba(255, 255, 255, 0.92); padding: 4px 10px; margin: auto 4px auto 0; }
.slide figcaption div p { margin: 0; font-size: 11px; color: var(--color-text-muted); }
.slide figcaption div h5 { background: transparent; padding: 0; margin: 0; color: var(--color-text-headings); font-size: 13px; }
.prev { position: absolute; top: 35px; right: 35px; width: 20px; height: 10px; z-index: 10; display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; text-align: left; direction: ltr; background: url(../images/left.png) center no-repeat; }
.next { position: absolute; top: 35px; right: 5px; width: 20px; height: 10px; z-index: 10; display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; text-align: left; direction: ltr; background: url(../images/arrow.png) center no-repeat; }

/*---------*/
.bordertop {border-top: 1px solid var(--color-border);}
.services { padding-top: 10px; }
.services p { margin: 0 }
.number { color: var(--color-text-muted); }
.sepmini { display: block; height: 1px; width: 10px; background: var(--color-border); margin: 10px 0; overflow: hidden; border: 0; }

/* News Cards & Grid */
.news-grid {
  display: flex;
  justify-content: space-between;
  gap: 30px;
}
.news-card {
  flex: 1;
  min-width: 0;
}
.news-card__title {
  margin: 0;
  font-size: 14px;
  text-transform: uppercase;
  color: var(--color-text-headings);
  font-weight: normal;
}
.news-card__figure {
  margin: 10px 0 0 0;
}
.news-card__image {
  width: 220px;
  height: 165px;
  display: block;
  object-fit: cover;
  border: 1px solid var(--color-border);
}

/* FOOTER */
footer.part, .site-footer {
  padding-top: 20px;
  border-top: 1px solid var(--color-border-dark);
  color: #FFFFFF;
  background: url(../images/footer.jpg) center no-repeat var(--color-primary);
  margin-bottom: 80px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  box-sizing: border-box;
}
.site-footer__corporate {
  flex: 1;
}
.site-footer__address {
  font-style: normal;
  font-size: 11px;
  line-height: 1.6;
  color: #FFFFFF;
}
.site-footer__address a {
  color: #FFFFFF;
  text-decoration: underline;
  font-weight: normal;
}
.site-footer__top {
  flex: 0 0 50px;
  text-align: center;
}
.site-footer__top-link, .up .ir {
  display: inline-block;
  background: url(../images/up.png) no-repeat center;
  width: 25px;
  height: 18px;
  text-indent: -9999px;
  cursor: pointer;
  margin: 0 auto;
}
.site-footer__nav {
  flex: 1;
  text-align: right;
}
.site-footer__list {
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 4px;
}
.site-footer__item, footer li {
  border-right: 1px solid rgba(255, 255, 255, 0.4);
  padding-right: 6px;
  font-size: 11px;
  float: none;
  display: inline;
}
.site-footer__item:last-child, footer li:last-child {
  border-right: none;
  padding-right: 0;
}
.site-footer__link, footer a {
  color: #FFFFFF;
  text-decoration: none;
  font-size: 11px;
}
.site-footer__link:hover, footer a:hover {
  text-decoration: underline;
  background: none;
}
/*---------*/
.part ul{
	margin-bottom: 10px;}
.about .content img { max-width: 100%; width: auto; height: auto; }
.detail { margin-top: 40px; padding-top: 20px; border-top: 1px solid #DDD; }
.servicess .detail:first-child { margin-top: 0 }
/* WORKS */
.work { width: auto; height: 200px; overflow: hidden; float: left; display: block; height: 100%; margin-right: 30px; border-top: 1px solid #DDD; padding-top: 10px; }
    .work  { position: relative }
        .work > a { display: block; width: auto; height: 200px; overflow: hidden; border: 0; }
        .work img { max-width: 100%; height: auto; width: auto; }
    .work .zoom { display: block; position: absolute; top: 10px; left: 0; background: url(../images/zoom.png) no-repeat center; width: 222px; height: 137px; }
    .works figcaption, .work figcaption { margin-top: 10px; padding: 0 5px; white-space: nowrap; }
        .works figcaption a, .work figcaption a { margin: 0 0 2px; color: #555; font-weight: bold; }
        .works figcaption p, .work figcaption p { margin: 0; }
.main .work:last-child { margin-right: 0 }
.works .content .work:nth-child(3n) { margin-right: 0 }
.works .content .work { margin-bottom: 40px; position: relative; }
.works menu a { cursor: pointer }
.buttonactive { font-weight: bold; color: #777 }
/* Work SINGLE */
.singlework figure {margin-bottom: 30px;}
.singlework figure figcaption {
	 	 text-align: center}
.singlework img {
	 max-width: 100%; height: auto; width: auto; display: block; margin: 0 auto}

/*toggle*/
.toggle-view li { margin-bottom: 10px; position: relative; cursor: pointer; overflow: hidden; }
.toggle { 
padding: 7px 8px 7px 30px; margin: 0; border: 1px solid #ddd; text-shadow: 0 1px 0 #fff; background: #F3F3F3; background: -moz-linear-gradient(top, #f6f6f6 0%, #efefef 100%); background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f6f6f6), color-stop(100%,#efefef)); background: -webkit-linear-gradient(top, #f6f6f6 0%,#efefef 100%); background: -o-linear-gradient(top, #f6f6f6 0%,#efefef 100%); background: -ms-linear-gradient(top, #f6f6f6 0%,#efefef 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#efefef',GradientType=0 ); background: linear-gradient(top, #f6f6f6 0%,#efefef 100%); }
.toggle:hover { border-color: #BBB }
.tactive { color: #333; border-color: #CCC; -moz-box-shadow: 0 2px 0 rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2); }
.t { display: none; padding: 10px; }
/*tabs*/
.tab_wrap { width: 306px }
.tabs { float: left; height: 30px; }
    .tabs li { float: left; margin: 0 5px 0 0; padding: 0; line-height: 30px; overflow: hidden; position: relative; background: #EAEAEA; }
        .tabs li a { text-decoration: none; color: #666; display: block; padding: 0 20px; }
        .tabs li a:hover { background: #FFF }
    .tabs li.active { background: #f5F5F5 }
.tab_container { overflow: hidden; clear: both; float: left; width: 100%; }
.tab_content { padding: 10px }
#tab2, #tab3 { display: none }
/*---------*/
.warning { display: block; line-height: 1.5; background: #F3F3F3; border: 1px solid #DDD; text-align: center; padding: 2px; margin: 0px; }
/* FORM */
form { margin-top: 30px }
form label, .contact_ie9 label { display: block; margin-bottom: 10px; font-weight: bold; }
form ul li, .contact_ie9 li { margin-bottom: 30px }
form input, form textarea, .contact_ie9 input, .contact_ie9 textarea { width: 60%; height: 25px; line-height: 25px; padding: 5px; border: 1px solid #DDD; color: #999; }
form input, .contact_ie9 input { padding-right: 20px }
form textarea, .contact_ie9 textarea { height: 100px; width: 97%; }
form button#submit, .contact_ie9 #submit { line-height: 18px }

form.search { margin: 0px }
input.search_edit { width: 160px; height: 14px; line-height: 14px; padding: 1px; border: 1px solid #DDD; color: #999; }
input.search_edit:required:valid { background: url(../images/valid.png) no-repeat 98% center }
input.search_edit:invalid, textarea:invalid { }
input.search_edit:focus, textarea:focus { outline: none; border: 1px solid #BBB; }

.button_src { 
	color: #666; 
	font-weight: bold; 
	text-decoration: none; 
	line-height: 14px; 
	padding: 2px 6px 2px 6px; 
	margin: 0px; 
	text-shadow: 0 1px 0 #fff; 
	border: solid 1px #dcdcdc; 
	-webkit-border-radius: 3px; 
	-moz-border-radius: 3px; 
	-o-border-radius: 3px; 
	-ms-border-radius: 3px; 
	-khtml-border-radius: 3px; 
	border-radius: 3px; 
	-webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset; 
	-moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset; box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset; background: #F3F3F3; 
	/* Old browsers */ background: -moz-linear-gradient(top, #f6f6f6 0%, #efefef 100%); 
	/* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f6f6f6), color-stop(100%,#efefef)); 
	/* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #f6f6f6 0%,#efefef 100%); 
	/* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #f6f6f6 0%,#efefef 100%); 
	/* Opera11.10+ */ background: -ms-linear-gradient(top, #f6f6f6 0%,#efefef 100%); 
	/* IE10+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#efefef',GradientType=0 ); 
	/* IE6-9 */ background: linear-gradient(top, #f6f6f6 0%,#efefef 100%); 
	/* W3C */ -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; }
.button_src:focus { color: #333; border-color: #BBB; }
.button_src:hover { color: #333; border-color: #BBB; -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset,0 2px 0 rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset,0 2px 5px rgba(0, 0, 0, 0.2); box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset, 0 1px 2px rgba(0, 0, 0, 0.2); }
.button_src:active { color: #000; background: #F5F5F5; border-color: #444; }

/*html5/css3*/
input:required:valid { background: url(../images/valid.png) no-repeat 98% center }
input:invalid, textarea:invalid { }
input:focus, textarea:focus { outline: none; border: 1px solid #BBB; }
/* validate.js */
label.error { color: #D84A38; margin: 10px 0 0 5px; font-weight: normal; font-style: italic; }
.map { width: 222px; height: auto; overflow: hidden; }
    .map img { max-width: 100%; height: auto; width: auto; }
/*BUTTONS*/
.button { color: #666; font-weight: bold; text-decoration: none; line-height: 30px; padding: 10px 28px; margin: 5px 0px 0px 5px; text-shadow: 0 1px 0 #fff; border: solid 1px #dcdcdc; -webkit-border-radius: 3px; -moz-border-radius: 3px; -o-border-radius: 3px; -ms-border-radius: 3px; -khtml-border-radius: 3px; border-radius: 3px; -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset; -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset; box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset; background: #F3F3F3; /* Old browsers */ background: -moz-linear-gradient(top, #f6f6f6 0%, #efefef 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#f6f6f6), color-stop(100%,#efefef)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #f6f6f6 0%,#efefef 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #f6f6f6 0%,#efefef 100%); /* Opera11.10+ */ background: -ms-linear-gradient(top, #f6f6f6 0%,#efefef 100%); /* IE10+ */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f6f6f6', endColorstr='#efefef',GradientType=0 ); /* IE6-9 */ background: linear-gradient(top, #f6f6f6 0%,#efefef 100%); /* W3C */ -moz-background-clip: padding; -webkit-background-clip: padding-box; background-clip: padding-box; }
.button:focus { color: #333; border-color: #BBB; }
.button:hover { padding: 10px 28px; color: #333; border-color: #BBB; -moz-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset,0 2px 0 rgba(0, 0, 0, 0.2); -webkit-box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset,0 2px 5px rgba(0, 0, 0, 0.2); box-shadow: 0 1px 1px rgba(255, 255, 255, 0.95) inset, 0 1px 2px rgba(0, 0, 0, 0.2); }
.button:active { color: #000; background: #F5F5F5; border-color: #444; }
/* HOME PAGE */
section ul, ol, menu { list-style: circle; list-style-image: none; margin: 10px 10px 10px 20px; padding: 0px; }
.img_icon {border: 0px; margin: 0px; padding: 0px;} 
.img_icon:hover {border: 0px; margin: 0px; padding: 0px;} 
/* PRODOTTI */
.picture {width: auto; height: 200px; padding: 2px;}
.picture:hover {background-color: #3a66ad}
.pic-gallery {
	text-align: center;
	padding: 10px; margin: 0px;
	background-color: #F3F3F3;
	border: 1px solid #f2f2f2;	
}
.box_file {
	text-align: right;
	line-height: normal;
	padding: 40px 10px 10px 10px; 
	margin: 0px;
}

.post-product {
	text-align: right;
	padding: 5px 32px 5px 5px; margin: 14px;
	border: 1px solid #ddd; 
	text-shadow: 0 1px 0 #fff; 
	background-color: #F3F3F3;
	background-image:url(../images/bgblu.png);
	background-repeat:no-repeat;
	background-position:right;
}
/* CONTATTI */
.bk_blu {background-color: #3a66ad; padding: 50px 0px 50px 0px; margin: 50px 0px 0px 0px;}
.bk_white {text-align: right; background-color: #FFFFFF; padding: 20px 20px 20px 0px;}
/* NEWS */
.post-footer {
	border: 1px solid #ddd; 
	text-shadow: 0 1px 0 #fff; 
	background-color: #F3F3F3;
	padding: 5px; margin: 40px 10px 0 5px;
	background-image:url(../images/bgblu.png);
	background-repeat:no-repeat;
	background-position:right;
}
.post-testo {
	padding: 5px; margin: 0px 10px 0 5px;
	border: 1px solid #f2f2f2;
}
/* --- END STYLE --- */
/* ---------------------------------------- */
.ir { display: block; border: 0; text-indent: -999em; overflow: hidden; background-color: transparent; background-repeat: no-repeat; text-align: left; direction: ltr; }
.ir br { display: none; }
.hidden { display: none !important; visibility: hidden; }
.clearfix:before, .clearfix:after { content: ""; display: table; }
.clearfix:after { clear: both; }
.clearfix { zoom: 1; }

/* Media Query & Print styles!
-------------------------------------------------------------------------------*/
/* Style adjustments for viewports 768px and over go here */
@media only screen and (max-width: 768px) { 
    body { min-width: 760px; font-size: 0.7em; }
    .center { width: 750px }
    h1 { font-size: 38px }
    h2 { font-size: 24px }
    h3 { font-size: 18px }
    h4 { font-size: 14px }
    h5 { font-size: 12px }
    h6 { font-size: 11px }
    .slides_container { width: 363px; height: 225px; }
    .slides_container .slide { width: 363px; height: 225px; }
    .work { width: auto; height: 200px; margin-right: 23px; }
    .work > a { width: auto; height: 200px; }
    .work .zoom { width: auto; height: 200px; }
    .columnthird { min-width: 556px; }
    .map { width: 170px }
    footer li { margin-right: 5px; padding-right: 5px; font-size: 10px; }
    footer li:last-child { margin-right: 0; padding-right: 0; border-right: none; }
}
/* --- Smartphones and small Tablet PCs --- */
@media screen and (max-width:620px) { 
    body { min-width: 610px; font-size: 12px; }
    .center { width: 600px }
    .column2 { width: 100% }
    .columnthird { width: 100% }
    header nav ul:last-child { padding-right: 10px }
    #slides { margin-top: 40px }
    .slides_container { width: 600px; height: 370px; }
    .slides_container .slide { width: 600px; height: 370px; }
    .main .work, .works .work { width: auto; height: 200px; margin-right: 0; }
    .main .work { margin-right: 0!important }
    .work > a { width: auto; height: 200px; }
    .work .zoom { width: auto; height: 200px; }
    aside.column4 { float: none; width: 100%; }
    aside menu { display: none }
    .works .work:nth-child(odd) { margin-right: 30px!important }
    .main .work:nth-child(even) { margin-right: 30px!important }
    .contact .content { border-top: 1px solid #DDD; padding-top: 20px; } 
    .map { display: none }
    footer li { border-right: none; line-height: 2; float: none; margin: 1px; padding: 1px; }
    footer nav li { text-align: right }
    footer li:last-child { margin-right: inherit; padding-right: inherit; }
}
/* target the iPhone4 retina display */
@media only screen and (max-device-width: 480px) and (-webkit-min-device-pixel-ratio: 2) { 
    body { min-width: 480px; font-size: 12px; }
    .center { width: 470px }
    .columnthird { width: 100% }
    header#navtop { background-position: 23px 0 }
    header nav ul:last-child { padding-right: 0 }
    #slides { margin-top: 40px }
    .slides_container { width: 470px; /**/height: 290px; }
    .slides_container .slide { width: 470px; /**/height: 290px; }
    .main .work, .works .work { width: auto; height: 200px; }
    .main .work { margin-right: 0!important }
    .work > a { width: auto; height: 200px; }
    .work .zoom { width: auto; height: 200px; }
    .column3in { width: 50% }
    .column4in { width: 40% }
    .column2in { width: 56% }
}
/* Style adjustments for viewports 480px and over go here */
@media only screen and (max-width: 480px), only screen and (max-device-width: 480px) { 
    body { min-width: 480px; font-size: 12px; }
    .center { width: 470px }
    .columnthird { width: 100% }
    header#navtop { background-position: 23px 0 }
    header nav ul:last-child { padding-right: 0 }
    #slides { margin-top: 40px }
    .slides_container { width: 470px; /**/height: 290px; }
    .slides_container .slide { width: 470px; /**/height: 290px; }
    .main .work, .works .work { width: auto; height: 200px; margin-right: 0; }
    .main .work { margin-right: 0!important }
    .work > a { width: auto; height: 200px; }
    .work .zoom { width: auto; height: 200px; }
    .column3in { width: 50% }
    .column4in { width: 40% }
    .column2in { width: 56% }
}
@media print { 
    * { background: transparent !important; color: black !important; text-shadow: none !important; filter: none !important; -ms-filter: none !important; }
    pre, blockquote { page-break-inside: avoid }
    thead { display: table-header-group }
    tr, img { page-break-inside: avoid }
    img { max-width: 100% !important }
    p, h2, h3 { orphans: 3; widows: 3; }
    h2, h3 { page-break-after: avoid }
}
.main_photo {
    width: 250px;
    text-align: center;
		position: absolute;
		top: 50;
		right: 30%;
		z-index: 100000;
  }

/* Accessibility Utility (WCAG AA) */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}