:root {
	
	--width-bit: 128px;	
	/* 128px + 128px */
	--width-tiny: 256px;
	/* 128px + 256px */
	--width-tiny-ex: 384px;
	/* 256px + 256px */
	--width-small: 512px;
	/* 512px + 128px */
	--width-medium: 640px;
	/* 640px + 128px || 512px + 256px */
	--width-normal: 768px;
	/* 512px + 512px || 768px + 256px */
	--width-large: 1024px;
	/* 1024px + 256px || 768px + 512px */
	--width-large-ex: 1280px;
	/* 768px + 768px || 1024px + 512px */
	--width-huge: 1536px;
}

.wpcf7 {
}

form.wpcf7-form input,
form.wpcf7-form textarea,
form.wpcf7-form select {

}

form.wpcf7-form input:focus,
form.wpcf7-form textarea:focus,
form.wpcf7-form select:focus {

	border-color:#36b56f;
}

/*
 * LAYOUT
*/
form.wpcf7-form label {
	
	color: black;
	line-height: 1em;
    display: inline-block;
    width: 100%;	
}

form.wpcf7-form label span.wpcf7-not-valid-tip {
	
	white-space: nowrap;
	text-overflow: ellipsis;
    overflow: hidden;	
}

form.wpcf7-form label span.label-nowrap {
	
	display: inline-block;
	max-width: 100%;
	font-weight: 100;
	white-space: nowrap;
	text-overflow: ellipsis;
    overflow: hidden;	
}
form.wpcf7-form label span.label-wrap {

	font-weight: 100;
	white-space: pre-wrap;
	line-height: 1.4em;
}

form.wpcf7-form label:focus-within span.label-nowrap {
	
	color: #36b56f;
}

form.wpcf7-form label span.req::after {
	
	content:'*';
	color: red;
}

form.wpcf7-form label a {

	color: #36b56f;
	text-decoration: underline;
}

form.wpcf7-form label span.desc {
	
	color: grey;
	font-style: italic;
	font-weight: 100;
}

form.wpcf7-form p.desc, 
form.wpcf7-form div.desc {
	
	padding-top: 0;
	padding-bottom: 8px;
	margin-top: 0;
	margin-bottom: 0;
	color: grey;
	font-style: italic;
}

form.wpcf7-form h2 {
	
	padding: 0;
    margin: 16px 0 4px 0;
}

form.wpcf7-form .layout { 

	display:flex;
	flex-wrap: wrap;	
}

form.wpcf7-form .item20	{	width:20%;	}
form.wpcf7-form .item25	{	width:25%;	}
form.wpcf7-form .item30	{	width:30%;	}
form.wpcf7-form .item40	{	width:40%;	}
form.wpcf7-form .item50	{	width:50%;	}
form.wpcf7-form .item60	{	width:60%;	}
form.wpcf7-form .item70	{	width:70%;	}
form.wpcf7-form .item75	{	width:75%;	}
form.wpcf7-form .item80	{	width:80%;	}
form.wpcf7-form .item 	{	width:100%;	}

form.wpcf7-form .pad-left	{	padding-left: 4px; 	}
form.wpcf7-form .pad-right	{	padding-right: 4px;	}

@media 
	only screen and (max-width:640px),
	only screen and (max-device-width:640px) { 
	
	form.wpcf7-form .layout.medium {
	
	}

	form.wpcf7-form .item20.medium,
	form.wpcf7-form .item25.medium,
	form.wpcf7-form .item30.medium,
	form.wpcf7-form .item40.medium,
	form.wpcf7-form .item50.medium,
	form.wpcf7-form .item60.medium,
	form.wpcf7-form .item70.medium,
	form.wpcf7-form .item75.medium,
	form.wpcf7-form .item80.medium,
	form.wpcf7-form .item.medium {
	
		width: 100%;
	}
	form.wpcf7-form .pad-left.medium {
		
		padding-left: 0;
	}
	form.wpcf7-form .pad-right.medium {
		
		padding-right: 0;
	}
}
