.page_content, header nav, footer .contact {
				width: 85%;
				max-width: 1024px;
				height: auto;
				overflow-x: visible;
				margin: 0 auto;
}

* {
				padding: 0;
				margin: 0;
				box-sizing: border-box;
				position: relative;
}

html {
				width: 100%;
				height: auto;
				scroll-behavior: smooth;
}

body {
				width: 100%;
				height: auto;
				min-height: 100vh;
				padding: 0;
				margin: 0;
				line-height: 29px;
				font-size: 16px;
				font-weight: 400;
				font-family: "Neuton", serif;
				color: #000;
				-webkit-font-smoothing: antialiased;
				font-variant-ligatures: no-common-ligatures;
				background: #FFF;
				z-index: 1;
}

a {
				text-decoration: none;
				color: inherit;
				outline: none;
}
a:hover {
				text-decoration: none;
				color: inherit;
				outline: none;
}

article, header, hgroup, section, aside, article, footer {
				display: block;
}

ul {
				margin: 0;
				padding: 0;
				list-style-type: none;
}

h1, h2, h3, h4, h5, h6 {
				margin: 0;
				text-align: inherit;
				font-weight: 300;
				color: inherit;
}

h1 {
				line-height: initial;
}

img {
				display: block;
}

.viewport_dev {
				width: 150px;
				height: 20px;
				position: fixed;
				bottom: 0;
				right: 0;
				font-size: 12px;
				line-height: 20px;
				z-index: 10;
				text-align: center;
				background: #CCC;
				opacity: 0.4;
}

.form_alert {
				width: 100%;
				height: auto;
				padding: 20px;
				margin: 30px 0;
				overflow: hidden;
				display: none;
				border: 3px solid #CCC;
				font-size: 28px;
				line-height: 36px;
}
.form_alert.success {
				border-color: #9bd344;
				background-color: rgba(155, 211, 68, 0.2);
}
.form_alert.danger {
				border-color: #d34444;
				background-color: rgba(211, 68, 68, 0.2);
}

.dom_colors_dev.name *::before {
				content: attr(class);
				width: auto;
				height: 15px;
				display: inline-block;
				position: absolute;
				top: 0;
				left: 0;
				color: red;
				font-family: "Courier New", Courier, monospace;
				font-size: 11px;
				z-index: 10;
}

label {
				width: 100%;
				margin: 0 0 28px 0;
				display: block;
				font-size: 22px;
				font-weight: 200;
				line-height: 29px;
}

input[type=text],
input[type=email],
select,
textarea {
				width: 100%;
				height: 58px;
				padding: 0 10px;
				margin-top: 5px;
				border: 1px solid #979797;
				background: transparent;
				font-family: inherit;
				font-weight: 200;
				font-size: 20px;
}

select {
				font-size: 20px;
}

textarea {
				height: 175px;
}

input[type=submit] {
				width: auto;
				height: 58px;
				padding: 0 30px;
				border: 0;
				font-size: 20px;
				font-weight: 400;
				font-family: inherit;
				line-height: 58px;
				background: #000;
				color: #FFF;
				cursor: pointer;
}

h1, h2 {
				font-size: 42px;
				font-weight: 200;
				line-height: 32px;
}

.z_button {
				padding-left: 50px;
				display: inline-block;
				font-weight: 200;
				font-size: 20px;
				transition-duration: 0.4s;
}
.z_button::before {
				content: "";
				width: 40px;
				height: 2px;
				display: block;
				position: absolute;
				bottom: 8px;
				left: 0;
				background: #FFF;
				transition-duration: 0.4s;
}
.z_button:hover {
				padding-left: 60px;
}
.z_button:hover::before {
				width: 50px;
}

.z_button.dark {
				color: #313131;
}
.z_button.dark:before {
				background: #313131;
}

.scroll_animation {
				width: 1px;
				height: 85px;
				display: block;
				position: absolute;
				top: 80vh;
				left: 50%;
				transform: translate(-50%, -40px);
				background: #313131;
				mix-blend-mode: multiply;
				z-index: 9;
				display: none;
				animation: scroll_line_animation 3s infinite;
}
@media (max-width: 1279px) {
				.scroll_animation {
								display: none;
				}
}

@keyframes scroll_line_animation {
				0% {
								height: 0;
				}
				95% {
								height: 85px;
				}
				100% {
								height: 0;
				}
}
.swiper-button-prev,
.swiper-button-next {
				width: 50px;
				height: 50px;
				border: 2px solid #313131;
				border-radius: 50%;
}
.swiper-button-prev::after,
.swiper-button-next::after {
				height: 24px;
				font-size: 24px;
				color: #000;
}

header {
				width: 100%;
				height: auto;
				overflow: hidden;
				position: fixed;
				top: 0;
				letter-spacing: 0.53px;
				background: transparent;
				transition-duration: 0.4s;
				z-index: 5;
}
header.scrolled {
				background: #FFF;
}
header nav {
				height: 110px;
				font-size: 18px;
}
header nav .uk-navbar-left, header nav .uk-navbar-right {
				width: auto;
}
header nav .logo {
				width: 197px;
}
header nav ul {
				width: 280px;
				display: flex;
				justify-content: space-between;
}
header nav ul a.active:after, header nav ul a:hover:after {
				content: "";
				width: 9px;
				height: 9px;
				display: block;
				border-radius: 50%;
				position: absolute;
				top: 35px;
				left: 50%;
				transform: translateX(-50%);
				background: #000;
}
header nav .handler_menu_mobile {
				display: none;
}
@media (max-width: 1279px) {
				header nav {
								width: 100%;
								height: 75px;
								border-bottom: 1px solid #EDEDED;
				}
				header nav .logo {
								width: 130px;
				}
				header nav .handler_menu_mobile,
header nav .contact_mobile {
								width: 75px;
								height: 75px;
								display: block;
								border-right: 1px solid #EDEDED;
								background: url(/img/icons/menu.svg) no-repeat center center;
				}
				header nav .contact_mobile {
								border-right: 0;
								border-left: 1px solid #EDEDED;
								background-image: url(/img/icons/phone.svg);
				}
				header nav .handler_menu_mobile.open {
								background-image: url(/img/icons/menu_opened.svg);
				}
}

main {
				min-height: 75vh;
				padding-top: 110px;
}
@media (max-width: 767px) {
				main {
								padding-top: 75px;
				}
}
main .z_row {
				width: 100%;
				height: auto;
				padding: 80px 0;
				overflow-x: visible;
				display: flex;
				flex-wrap: wrap;
				justify-content: space-between;
}
main .z_card {
				width: 45%;
				height: auto;
				overflow-x: visible;
}
main .z_card:before {
				content: "";
				width: 314px;
				height: 314px;
				display: block;
				position: absolute;
				top: 0;
				background: no-repeat center center/contain;
}
main .z_card h2 {
				margin: 32px 0 18px 0;
}
main .z_card p {
				margin-left: 20px;
				font-size: 20px;
				font-weight: 200;
				line-height: 25px;
}
main .z_card .z_button {
				margin: 25px 0 0 20px;
}
main .z_card.card-1 {
				padding-top: 70px;
}
main .z_card.card-1:before {
				left: -103px;
				background-image: url(/img/oggetti-grafici/cerchio1.svg);
}
main .z_card.card-2 {
				padding-top: 63px;
}
main .z_card.card-2:before {
				right: -87px;
				background-image: url(/img/oggetti-grafici/cerchio2.svg);
}
main .z_card.card-3 {
				padding-top: 70px;
}
main .z_card.card-3:before {
				right: -51px;
				background-image: url(/img/oggetti-grafici/cerchio3.svg);
}
main .z_card.card-4 {
				padding-bottom: 60px;
}
main .z_card.card-4:before {
				top: initial;
				right: -51px;
				bottom: -52px;
				background-image: url(/img/oggetti-grafici/cerchio2.svg);
}
@media (max-width: 1279px) {
				main main .z_row {
								display: block;
				}
				main main .z_button {
								margin: 20px 0 0 0;
				}
				main main .z_card {
								width: 100%;
								padding: 0 7.5%;
								margin: 0 auto 70px auto;
				}
				main main .z_card.card-2 {
								margin-top: 0;
				}
				main main .z_card.card-3 {
								margin-bottom: 0;
				}
				main main .z_card.card- {
								margin-bottom: 30px;
				}
				main main .z_card.only_text {
								margin-top: 0;
				}
}
@media (max-width: 1279px) {
				main .z_row {
								display: block;
								overflow: hidden;
				}
				main .z_card {
								width: 85%;
								margin: 0 auto;
				}
				main .page_content .z_card .z_button,
main .page_content .z_card p {
								margin-left: 0;
				}
}
main .uk-sticky-placeholder {
				display: none;
}
main .internal_menu {
				width: 20%;
				height: auto;
				overflow: hidden;
				position: fixed;
				font-size: 17px;
				font-weight: 200;
				line-height: 20px;
				z-index: 1;
}
main .internal_menu li {
				margin-bottom: 20px;
}
main .internal_menu a {
				padding-left: 55px;
}
main .internal_menu a::before {
				content: "";
				width: 42px;
				height: 4px;
				display: block;
				position: absolute;
				bottom: 0px;
				left: 0;
				background: transparent;
				transition-duration: 0.4s;
}
main .internal_menu li.uk-active a::before,
main .internal_menu a:hover::before {
				background: #000;
}
@media (max-width: 1279px) {
				main .internal_menu {
								display: none;
				}
}

.menu_mobile {
				display: none;
				left: -100%;
				transition-duration: 0.4s;
}

@media (max-width: 1279px) {
				header {
								background: #FFF;
				}

				.menu_mobile {
								width: 100%;
								height: calc(100vh - 75px);
								margin-top: 75px;
								position: fixed;
								display: block;
								overflow: auto;
								background: #FFF;
								z-index: 10;
				}
				.menu_mobile ul {
								width: 90%;
								margin: 40px auto;
				}
				.menu_mobile ul li {
								height: 60px;
								margin-bottom: 1px;
								line-height: 60px;
								font-size: 30px;
								font-weight: 200;
				}
				.menu_mobile.open {
								left: 0;
				}
}
footer {
				width: 100%;
				height: auto;
				min-height: 280px;
				overflow: hidden;
				background: #313131;
				color: #FFF;
				z-index: 2;
}
footer .contact {
				padding: 65px 0;
}
footer .contact article {
				width: 49%;
				float: left;
}
footer .contact article h5 {
				width: auto;
				float: left;
				font-size: 31px;
				font-weight: 200;
				line-height: 37px;
}
footer .contact article .text {
				width: auto;
				float: right;
				font-size: 18px;
}
footer .contact article .text .z_button {
				margin-top: 20px;
}
footer .contact article.right {
				width: 40%;
				float: right;
}
footer .credits {
				width: 90%;
				margin: 0 auto 15px auto;
				display: flex;
				justify-content: space-between;
				font-weight: 200;
}
@media (max-width: 1279px) {
				footer .contact {
								padding-bottom: 0;
				}
				footer .contact article,
footer .contact article.right {
								width: 100%;
				}
				footer .contact article {
								margin-bottom: 80px;
				}
				footer .contact article h5 {
								width: 100%;
								margin-bottom: 15px;
				}
				footer .contact article .text {
								width: 100%;
				}
				footer .credits {
								width: 85%;
								margin-bottom: 40px;
				}
}
/*# sourceMappingURL=base.css.map */