*{
margin: 0;
padding: 0;
border: 0;
flex-wrap: wrap;
text-decoration: none; 
}

*, 
*:after, 
*::before { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box; }

:root {
	--color-sand: #f9efe6;
	--color-green: #439639;
	--color-red: #ce1126;
	--color-dark: #000000;
	--color-brown: #a16d5f;
	--color-gray: #3f3c37;
	--color-silver-line: #f2dcc8;
}


/* DEFAULT */
.button { height: 50px; padding: 0 30px; font-size: 18px !important; font-weight: 700; text-decoration: none !important; text-align: center; color: white !important; line-height: normal; background-color: var(--color-gray); display: inline-flex; align-items: center; justify-content: center; position: relative; cursor: pointer; border-radius: 25px; -webkit-transition: all 0.2s ease-out; transition: all 0.2s ease-out; }
.button:hover { background: var(--color-dark); }

.button.button_green { background-color: var(--color-green); }
.button.button_green:hover { background-color: var(--color-dark); }
.button.button_red { background-color: var(--color-red); }
.button.button_red:hover { background-color: var(--color-dark); }

.button.button_outline { color: var(--color-dark) !important; background-color: transparent; border: 2px solid var(--color-gray); }
.button.button_outline:hover { border-color: var(--color-dark); }
.button.button_has_icon { padding-left: 45px; background-repeat: no-repeat; background-position: 15px center; background-size: auto 20px; }
.button.button_has_icon.square { background-image: url(../images/icon_square_dark.svg); }
.button.button_has_icon.triangle { background-image: url(../images/icon_triangle_dark.svg); }

.button:disabled, 
.button:disabled:hover { color: white !important; background-color: #ccc !important; }


/* CONTENT */
#container.single_offer .inner { max-width: 800px; }

#container.single_offer table { width: 100%; margin-bottom: 30px; border: 2px solid var(--color-silver-line); border-collapse: collapse; }
#container.single_offer table thead tr th { padding: 10px; font-size: 14px; font-weight: 700; text-transform: uppercase; text-align: left; line-height: 100%; background: var(--color-silver-line); border-bottom: 2px solid var(--color-silver-line); }
#container.single_offer table thead tr th:last-child { text-align: right; }

#container.single_offer table tbody tr td { padding: 10px; border-bottom: 1px solid var(--color-silver-line); }
#container.single_offer table tbody tr:nth-child(even) td { background: rgba(255 255 255 / 30%); }
#container.single_offer table tbody tr td:last-child { text-align: right; }

#container.single_offer table tbody tr td input[type=number] { width: 100px; height: 46px; padding-left: 10px; background: white; outline: 1px solid var(--color-silver-line); border-radius: 5px; }
#container.single_offer table tbody tr td input[type=number]:read-only { color: #666; background-color: #f4f4f4 !important; }

#container.single_offer table tfoot tr td { padding: 10px; text-align: right; background: white; }


/* FORM */
.wpcf7 { display: flex; justify-content: space-between; }

.wpcf7 .form_row { width: 100%; margin-bottom: 20px; }
.wpcf7 .form_row.form_row_first { width: calc(50% - 10px); margin-right: 10px; }
.wpcf7 .form_row.form_row_last { width: calc(50% - 10px); margin-left: 10px; }
.wpcf7 .form_row.form_row_wide { width: 100%; }

.wpcf7 .form_row label { margin-bottom: 5px; font-size: 16px; font-weight: 700; line-height: 20px; display: block; }

.wpcf7 .form_row textarea, 
.wpcf7 .form_row input[type=tel], 
.wpcf7 .form_row input[type=text], 
.wpcf7 .form_row input[type=email], 
.wpcf7 .form_row input[type=number] { width: 100%; height: 46px; padding-left: 10px; background: white; outline: 1px solid var(--color-silver-line); border-radius: 5px; }

.wpcf7 .form_row textarea:focus, 
.wpcf7 .form_row input[type=tel]:focus, 
.wpcf7 .form_row input[type=text]:focus, 
.wpcf7 .form_row input[type=email]:focus, 
.wpcf7 .form_row input[type=number]:focus { outline-width: 3px; }

.wpcf7 .form_row textarea { min-height: 200px; resize: vertical; }


/* SHAPES CONTAINER */
#shapes-container { width: 100%; }
#shapes-container .square, 
#shapes-container .triangle { margin-bottom: 20px; padding: 20px; background: white; border: 2px solid var(--color-silver-line); border-radius: 5px; }

#shapes-container .input_wrap { padding: 20px; margin: -20px -20px 20px -20px; background: var(--color-sand); border-bottom: 1px solid var(--color-silver-line); display: flex; border-radius: 5px 5px 0 0; }
#shapes-container .input_wrap .form_row { margin-right: 10px; margin-bottom: 0 !important; color: #000000; flex: 1; }
#shapes-container .input_wrap .form_row:last-child { margin-right: 0; }
#shapes-container .input_wrap .form_row input[type=number] { width: calc(100% - 50px); }


/*
-----------
	RWD
-----------
*/
@media only screen and (max-width: 960px) { 

	/* DEFAULT */
	.p_l_20 { padding-left: 20px; }
	.p_r_20 { padding-right: 20px; }
	
	/* SHAPES CONTAINER */
	.shapes_action_buttons .button { margin: 10px 0; }
	#shapes-container .input_wrap .form_row { width: calc(50% - 10px); margin-bottom: 20px !important; flex: none; }
}

@media only screen and (max-width: 640px) { 

	/* FORM */
	.wpcf7 .form_row.form_row_first, 
	.wpcf7 .form_row.form_row_last { width: 100%; margin-left: 0; margin-right: 0; }
}

@media only screen and (max-width: 480px) { 
	
	/* DEFAULT */
	.button.button_fullwidth_480 { width: 100%; }
}
