@charset "utf-8";
/* CSS Document */
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
  appearance: textfield;
}
body {
	margin: 0px;
	font-family: 'Roboto', sans-serif;
	background-color: #d1d1d1;
	position: relative;
}
*, *:before, *:after {
    box-sizing: border-box;
}
.body-popup {
	overflow: hidden;
    height: 100%;
    display: inherit !important;
}
.nav-popup {
    display: block !important;
}
.index-h1-cont {
	width: 95%;
	max-width: 1280px;
	margin: 0 auto;
}
h1 {
	color: white;
	display: inline-block;
	font-size: 40px;
	line-height: 50px;
}
.main-logo-cont {
	color: black;
	overflow: hidden;
	position: relative;
	background-color: white;
}
.main-logo-inner {
	position: relative;
    height: 120px;
	background-color: white;
}
.nav-container {
	position: absolute;
	right: 20px;
	top: 46px;
	z-index: 2;
}
.nav-link {
	font-size: 28px;
	color: #66abe1;
	position: relative;
	margin: 10px;
}
.nav-link:link {
	text-decoration: none;
}
.nav-link:visited {
	text-decoration: none;
}
.nav-link:hover {
	text-decoration: none;
}
.nav-link:active {
	text-decoration: none;
}
.nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0%;
  height: 2px;
  background-color: #1A74BB;
  transition: width 0.3s ease;
}

.nav-link:hover::after {
  width: 100%;
}
#open-mobile, #close-mobile {
	display: none;
	position: absolute;
    right: 30px;
    top: 30px;
    z-index: 2;
	transition: transform 0.3s ease;
	cursor: pointer;
}
#open-mobile:hover {
	transform: scale(1.2);
	animation: molla 300ms ease-out;
}
@keyframes molla {
  0%   { transform: scale(1); }
  25%   { transform: scale(1.1); }
  50%  { transform: scale(1.2); }
  70%  { transform: scale(0.95); }
  100% { transform: scale(1); }
}
.logo-big {
    position: absolute;
    height: 100px;
    left: 10px;
    top: 10px;
}
.logo-descr {
    display: inline-block;
    position: absolute;
    bottom: 34px;
    font-size: 44px;
    left: 120px;
}
.index-animation-container {
	background-color: #0084a3;
	display: flex;
  	justify-content: center; 
  	align-items: center;
}
.index-animation-sx {
	max-width: 800px;
	padding: 40px;
}
.index-animation-dx {
	width: 100%;
}
.img-index-1 {
	width: 100%;
	display: block;
}
.index-technologies {
	text-align: center;
	padding: 20px;
	background-color: white;
	display: flex;
}
.technologies-img {
	width: 25%;
  	justify-content: center;
  	align-items: center;
	display: flex;
}
#t1 {
	width: 150px;
	margin: 0px 20px;
}
#t2 {
	width: 160px;
	margin: 0px 20px;
}
#t3 {
	width: 60px;
	margin: 0px 20px;
}
#t4 {
	width: 200px;
	margin: 0px 20px;
}
.index-no-cms-full {
	background-image: url("https://www.atwebdev.it/images/bg.svg");
	background-repeat: no-repeat;
	background-size: cover;
}
.index-no-cms {
	max-width: 1200px;
	margin: 0 auto;
	padding: 30px 30px;
	color: white;
}
.index-no-cms-ask {
	font-size: 24px;
	text-align: center;
	padding: 20px;
	text-decoration: underline;
}
.index-no-cms-res {
	font-size: 18px;
	line-height: 32px;
}
.no-cms-title {
	font-weight: bold;
	display: inline-block;
    margin-bottom: 5px;
	text-decoration: underline;
}
.footer-cont {
	margin: 0 auto;
	font-size: 16px;
	text-align: center;
	background-color: white;
	padding: 20px 10px;
}
.works-cont-full {
	background-image: url("https://www.atwebdev.it/images/bg.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
    padding: 20px 20px;
    min-height: calc(100vh - 202px);	
}
.works-cont {
	display: flex;
	max-width: 1200px;
	margin: 0px auto;
	color: white;
	text-align: left;
	font-size: 16px;
    background-color: #f0f8ff3b;
    padding: 20px;
	margin-bottom: 20px;
	border-radius: 10px;
}
.works-sx {
	min-width: 400px;
	max-width: 400px;
}
.works-sx img {
	width: 100%;
}
.works-dx {
	margin: 0 20px;
	position: relative;
}
.works-dx-title {
	 font-size: 32px;
	 font-weight: bold;
	 margin-bottom: 10px;
}
.works-dx-tecnologies {
	 font-size: 14px;
	 font-weight: bold;
	 color: #8be3ff;
	 margin-bottom: 10px;
}
.works-dx-descr {
    line-height: 24px;
}
.works-dx-link {
	text-align: center;
	margin-top: 50px;
}
.works-visita {
	font-size: 24px;
	font-weight: bold;
	padding: 10px 20px;
	background-color: cornflowerblue;
	color: white;
}
.works-visita:link {
	text-decoration: none;
}
.works-visita:visited {
	text-decoration: none;
}
.works-visita:hover {
	text-decoration: none;
	background-color: rgb(41, 100, 209);
}
.works-visita:active {
	text-decoration: none;
}
.works-cont-full {
	background-image: url("https://www.atwebdev.it/images/bg.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
    padding: 20px 20px;
    min-height: calc(100vh - 202px);	
}
.contact-cont-full {
	background-image: url("https://www.atwebdev.it/images/bg.svg");
	background-repeat: no-repeat;
	background-size: 100% 100%;
    padding: 20px 20px;
    min-height: calc(100vh - 202px);	
}
.contact-cont {
	max-width: 900px;
	margin: 150px auto;
	color: white;
	text-align: left;
	font-size: 16px;
    background-color: #f0f8ff3b;
    padding: 20px;
	border-radius: 10px;
}
.contact-title {
	 font-size: 32px;
	 font-weight: bold;
	 margin-bottom: 10px;
}
.contact-descr {
	line-height: 24px;
	 margin-bottom: 10px;
}
.contact-form {
	border: 1px solid #d7d7d7;
	padding: 15px;
	width: 100%;
    font-family: Helvetica;
    font-size: 16px;
}
.contact-row-1 {
	margin-bottom: 20px;
	display: flex;
}
.contact-row-1sx {
    width: 50%;
    margin-right: 10px;
}
.contact-row-1dx {
    width: 50%;
    float: left;
    margin-left: 10px;
}
.contact-row-2 {
	width: 100%;
	margin-bottom: 10px;
}
.contact-actions {
    background-color: #58a3bb;
    color: white;
    padding: 10px;
    display: inline-block;
	cursor: pointer;
}
.contact-button {
	margin-top: 20px;
	text-align: center;
}
.check-privacy-text, .controllo-spam {
	font-size: 14px;
}
.link-checkbox {
	color: #ffffff;
}
.link-checkbox:link {
	text-decoration: underline;
}
.link-checkbox:visited {
	text-decoration: underline;
}
.link-checkbox:hover {
	text-decoration: none;
}
.link-checkbox:active {
	text-decoration: underline;
}
#check-contact {
	margin: 0;
	margin-right: 5px;
}
.spam-input {
	width: 50px;
	text-align: center;
	padding: 5px;
}
#error-cont {
    left: 50%;
    overflow: hidden;
    pointer-events: all;
    position: fixed;
    bottom: -100px;
    transform: translate(-50%);
    margin-top: 0px;
    color: white;
  	width: -webkit-max-content;
  	width: -moz-max-content;
 	width: max-content;
    background-color: #202124;
    z-index: 100000;
    padding: 10px 30px;
    margin: 0px auto;
    box-shadow: 1px 7px 20px 2px rgb(0 0 0 / 40%);
    text-align: left;
    display: none;
    border-radius: 10px;
	opacity: 0;
}
.error-row {
	margin: 5px;
}
.error-x {
	width: 24px;
	vertical-align: text-bottom;
	margin-right: 5px;
}
.ok-inviato {
	background-color: white;
	padding: 10px;
	color: green;
}
.ok-inviato img {
	vertical-align: middle;
	margin-right: 10px;
}
.privacy-cont-full {
	background-image: url("https://www.atwebdev.it/images/bg.svg");
	background-repeat: no-repeat;
	background-size: cover;
    padding: 10px 10px;
    min-height: calc(100vh - 180px);
}
.privacy-cont {
	max-width: 1200px;
	margin: 0px auto;
	color: white;
	text-align: left;
	font-size: 16px;
	overflow: hidden;
	padding-bottom: 20px;
}
.p1 {
	text-align: center;
	padding: 20px;
	font-size: 24px;
}
.p2 {
	padding: 10px 20px;
	font-size: 18px;
}
.p3 {
	padding: 10px 20px;
	font-size: 18px;
	font-weight: bold;
}
.p3_1 {
	padding: 0px 20px;
	font-size: 18px;
}
.link-footer:link, .link-footer:focus, .link-footer:active, .link-footer:visited {
	color: #1A74BB;
	text-decoration: none;
}
.link-footer:hover {
	text-decoration:underline;
}
.cookie-banner {
    background-color: white;
    color: black;
    font-size: 14px;
    padding:10px;
    position: fixed;
    bottom: 0px;
    z-index: 10000;
	width: 100%;
}
.chiudi-cookie {
    padding:10px 15px;
    background-color: #00aeff;
    color: white;
    font-size: 14px;
    display: inline-block;
    margin-top: 10px;
    cursor: pointer;
}
.at-credits {
	font-size: 12px;
	text-decoration: none;
	width: fit-content;
	padding: 2px;
	margin: 5px auto;
}
.at-credits img {
	width: 20px;
	vertical-align: middle;
	margin-right: 3px;
	margin-bottom: 3px;
}
.at-credits a:link {
	color: #1A74BB;
	text-decoration: none;
}
.at-credits a:visited {
	color: #1A74BB;
	text-decoration: none;
}
.at-credits a:hover {
	color: #022f52;
	text-decoration: none;
}
.at-credits a:active {
	color: #1A74BB;
	text-decoration: none;
}
.at-margin-bottom-20 {
	margin-bottom: 20px !important;
}
.at-margin-bottom-10 {
	margin-bottom: 10px !important;
}
.at-margin-top-20 {
	margin-top: 20px !important;
}
.at-clear {
	clear: both;
}
@media only screen and (max-width: 1600px) {
	.index-animation-sx {
		padding: 30px;
	}
 	h1 {
		font-size: 30px;
	}
}
@media only screen and (max-width: 1500px) {
	.index-animation-sx {
		max-width: 700px;
		padding: 30px;
	}
 	h1 {
		font-size: 24px;
		line-height: 34px;
	}
}
@media only screen and (max-width: 1280px) {
	.index-animation-sx {
		padding: 20px;
	}
}
@media only screen and (max-width: 1200px) {
	#open-mobile {
		display: block;
		z-index: 5;
	}
}
@media only screen and (max-width: 1100px) {
	.nav-link::after {
		display: none;
	}
	.nav-link:hover {
		text-decoration: underline;
	}
	.nav-container {
		position: fixed;
		display: none;
        width: 100%;
		height: 100%;
        left: 0px;
        text-align: center;
        background-color: white;
        top: 100px;
	}
	.nav-link {
		display: block;
	}
	.index-animation-container {
		display: block;
	}
	.index-animation-sx {
		padding: 20px;
		max-width: 100%;
	}
 	h1 {
		font-size: 34px;
	}
}
@media only screen and (max-width: 800px) {
	.contact-row-1 {
		display: block;
	}
	.contact-row-1sx, .contact-row-1dx {
        width: 100%;
        margin: 0px;
		margin-bottom: 20px;
    }
	.works-cont {
		display: block;
	}
	.works-sx {
		text-align: center;
		min-width: 100%;
		margin-bottom: 10px;
	}
	.index-no-cms-ask {
		font-size: 22px;
	}
	.index-no-cms-res {
		font-size: 16px;
	}
	h1 {
		font-size: 28px;
		line-height: 38px;
	}
	.index-technologies {
		display: block;
		padding-bottom: 0px;
	}
	.technologies-img {
		display: block;
		width: 100%;
		padding-bottom: 20px;
	}
	#open-mobile,#close-mobile {
		top: 24px;
	}
	.main-logo-inner {
		height: 100px;
	}
	.logo-big {
		height: 80px;
	}
	.logo-descr {
		display: inline-block;
		position: absolute;
		bottom: 28px;
		font-size: 36px;
		left: 90px;
	}
	.logo-it-1 {
		left: 390px;
	}
	.logo-it-2 {
		left: 433px;
	}
	.site-left {
		display: none;
	}
}
@media only screen and (max-width: 620px) {
	.contact-cont {
		max-width: 900px;
		margin: 100px auto;
	}
	.main-logo-inner {
		text-align: center;
	}
	.logo-big {
		position: static;
		margin-top: 10px;
	}
	.logo-descr {
		display: none;
	}
}

