/*
Theme Name: CLVO
Theme URI: http://clvo.think-code.com/
Author: YB
Version: 1.0.0
Text Domain: clvo
*/

@font-face {
	font-family: 'Avenir Roman';
	src: url('css/fonts/avenir/Avenir-Roman.eot');
	src: url('css/fonts/avenir/Avenir-Roman.eot?#iefix') format('embedded-opentype'),
		url('css/fonts/avenir/Avenir-Roman.woff2') format('woff2'),
		url('css/fonts/avenir/Avenir-Roman.woff') format('woff'),
		url('css/fonts/avenir/Avenir-Roman.ttf') format('truetype');
	font-style: normal;
	font-display: fallback;
}
@font-face {
    font-family: 'Avenir Book';
    src: url('css/fonts/avenir/Avenir-Book.eot');
    src: url('css/fonts/avenir/Avenir-Book.eot?#iefix') format('embedded-opentype'),
        url('css/fonts/avenir/Avenir-Book.woff2') format('woff2'),
        url('css/fonts/avenir/Avenir-Book.woff') format('woff'),
        url('css/fonts/avenir/Avenir-Book.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
    font-display: fallback;
}

@font-face {
    font-family: 'Avenir';
    src: url('css/fonts/avenir/Avenir-Light.eot');
    src: url('css/fonts/avenir/Avenir-Light.eot?#iefix') format('embedded-opentype'),
        url('css/fonts/avenir/Avenir-Light.woff2') format('woff2'),
        url('css/fonts/avenir/Avenir-Light.woff') format('woff'),
        url('css/fonts/avenir/Avenir-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
    font-display: fallback;
}
@font-face {
    font-family: 'Avenir';
    src: url('css/fonts/avenir/Avenir-Medium.eot');
    src: url('css/fonts/avenir/Avenir-Medium.eot?#iefix') format('embedded-opentype'),
        url('css/fonts/avenir/Avenir-Medium.woff2') format('woff2'),
        url('css/fonts/avenir/Avenir-Medium.woff') format('woff'),
        url('css/fonts/avenir/Avenir-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
    font-display: fallback;
}

body { 
	font-family: "Avenir Book";
	color: #304055;
}

@media (min-width: 1450px)
{
	.container {
		max-width: 1440px;
		padding: 0;
	}
}

p { font-size: 22px; }
	@media (min-width: 1450px)
	{
		p { font-size: 24px; }
	}

p, .btn { line-height: 1.3; }

.has-title-bg { text-align: center; }

h1, h2 {
	font-size: 48px;
	line-height: 100%;
	margin-bottom: 25px;
	background-image: url('img/elipse.png');
	background-repeat: no-repeat;
	background-size: 66px 58px;
}
	@media (min-width: 1450px)
	{
		h1, h2 {
			font-size: 72px;
			background-position: 8px 3px;
			background-size: 111px 93px;
			padding: 15px 30px;
		}
	}

figure { margin-bottom: 0; }

.btn {
	border: none;
	border-radius: 0;
	background-color: #fff;
	color: #000;
	font-size: 26px;
	padding: 17px 15px;
	box-shadow: 0px 5px 13px -8px #000;
}
	@media (min-width: 1450px)
	{
		.btn {
			font-size: 30px;
			padding: 15px 40px;
		}
	}

/* HEADER */
#navbarHeader #logo { z-index: 999; }

#navbarHeader #headerMenu .nav-link {
	font-size: 24px;
	color: #000;
	font-family: "Avenir";
	font-weight: 300;
}
	@media (min-width: 1200px) and (max-width: 1449px)
	{
		#navbarHeader #logo {
			width: 150px;
			top: -25px;
		}

		#navbarHeader #headerMenu .nav-link { font-size: 22px; }
	}
		@media (min-width: 1200px)
		{
			#navbarHeader #logo { position: relative; }
				#navbarHeader #logo a { position: absolute; }

			#navbarHeader #headerMenu #menu-header-menu {
				width: 100%;
				justify-content: space-between;
			}
				#navbarHeader #headerMenu #menu-header-menu li:last-child .nav-link {
					padding-right: 1.2rem;
					padding-left: 1.2rem;
					box-shadow: 0px 5px 13px -8px #000;
				}
		}
			@media (min-width: 1450px)
			{
				#navbarHeader .container-xl { max-width: 1440px; }
					#navbarHeader #logo { width: 264px; }
						#navbarHeader #logo a { top: -49px; }

					#navbarHeader #headerMenu #menu-header-menu { padding: 17px 0; }
			}

	@media (max-width: 1199px)
	{
		#navbarHeader { padding-bottom: 0; }
			#navbarHeader .container-xl { position: relative; }
				#navbarHeader #logo {
					position: absolute;
					margin: 0;
					top: 4px;
					left: calc(50% - 72px);
					padding: 0;
				}
				#navbarHeader #headerMenu {
					background-color: #9bddf7;
					margin: 0.5rem -1rem -0.5rem;
				}
					#navbarHeader #headerMenu #menu-header-menu {
						padding: 102px 2rem 0.5rem;
					}
						#navbarHeader #headerMenu .nav-link { font-family: "Avenir Roman"; }
						#navbarHeader #headerMenu li:not(:last-child) {
							border-bottom: 1px solid #000;
						}
	}

/* FORM */
label { margin-bottom: 0; }
.wpcf7-list-item label {
	position: relative;
	font-size: 20px;
	padding-left: 40px;
	cursor: pointer;
}
	.wpcf7-list-item label input[type="checkbox"], .wpcf7-list-item label input[type="radio"] {
		position: absolute;
		left: 0;
		width: 1rem;
		height: 1.2rem;
		z-index: -1;
		opacity: 0;
	}
	.wpcf7-list-item-label::before {
		position: absolute;
		display: block;
		top: 0rem;
		left: 0rem;
		width: 26px;
		height: 26px;
		content: "";
		pointer-events: none;
		background-color: #fff;
		border: 1px solid #000;
		transition: background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	}
	.wpcf7-list-item-label::after {
		position: absolute;
		display: block;
		top: -0.3rem;
		left: -0.25rem;
		width: 35px;
		height: 35px;
		content: "";
		background: no-repeat 50% / 50% 50%;
	}
	.wpcf7-list-item label input:checked ~ .wpcf7-list-item-label::before { background-color: #a5d5e8; }
	.wpcf7-list-item label input:checked ~ .wpcf7-list-item-label::after {
		background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e");
	}

/* Footer */
#footer {
	position: relative;
	background: #343434 url('img/bg-footer.png') no-repeat 0 bottom;
	color: #999;
	padding-top: 38px;
	padding-bottom: 128px;
	z-index: 3;
}
	#footer #about, #footer #contact { margin-bottom: 43px; }
		#footer .footer-titles {
			font-size: 28px;
			margin-bottom: 34px;
		}
		#footer #about p:not(:first-child), #footer #contact ul { font-size: 20px; }
		#footer #contact ul {
			list-style-type: none;
			padding: 0;
		}
			#footer #contact ul li {
				padding-left: 46px;
				background-repeat: no-repeat;
			}
			#footer #contact ul li:not(:last-child) { margin-bottom: 30px; }
			#footer #contact ul li:first-child {
				background-image: url('img/map-icon.png');
				background-position: 0 7px;
			}
			#footer #contact ul li:nth-child(2) {
				background-image: url('img/pc-icon.png');
				background-position: 2px 10px;
			}
			#footer #contact ul li:last-child {
				background-image: url('img/phone-icon.png');
				background-position: 5px 9px;
			}

		@media (min-width: 768px)
		{
			#footer #contact, #footer #veritas { flex-basis: 50%; }
				#footer #contact ul li:nth-child(2) { background-position-y: 8px; }
				#footer #contact ul li:last-child {background-position-y: 7px;}
		}
			@media (min-width: 992px)
			{
				#footer { background-size: auto; }
					#footer #contact ul li:first-child { background-position-y: 4px; }
					#footer #contact ul li:nth-child(2), #footer #contact ul li:last-child {background-position-y: 6px;}
			}
				@media (min-width: 1200px)
				{
					#footer { background-position-x: 8%; }
				}
					@media (min-width: 1450px)
					{
						#footer { padding-top: 116px; }
							#footer .container { justify-content: space-between; }
								#footer #about {
									flex-basis: 672px;
									margin-bottom: 0;
								}
								#footer #contact {
									flex-basis: 438px;
									padding-left: 50px;
								}
								#footer #veritas { flex-basis: auto; }
									#footer #veritas figure { margin-top: 70px; }
					}

		@media (max-width: 1449px)
		{
			#footer .footer-titles { text-align: center; }
		}
			@media (max-width: 991px)
			{
				#footer { background-size: 110%; }
			}
				@media (max-width: 767px)
				{
					#footer #contact ul { font-size: 24px; }
				}