.contact-form {
	overflow: hidden;

	form {
		text-align: inherit;

		input[type="submit"] {
			margin-top: 14px;
		}

		label:last-of-type {
			padding-right: 0 !important;
		}
	}

	textarea {
		height: 130px;
		display: block;
	}

	input:not([type="submit"]), select, textarea {
		border: 1px solid $color_border;
		padding: 12px 15px;
	}

	input[type="submit"], .btn {
		margin-top: 10px;
	}

	&.without-label-offset {
		.wpcf7-form-control-wrap {
			overflow: hidden;
		}

		input, textarea, select {
			position: relative;
			z-index: 2;
		}
	
		.focus {
			width: 100%;
			height: 100%;
			border: 1px solid transparent;
			position: absolute;
			bottom: 0;
			left: 0;
			z-index: 1;
			transition: border-color .15s ease-in-out;

			&.active {
				border-color: $color_brand;
			}
		}
	}

	span.wpcf7-not-valid-tip {
		margin-top: 10px;
		color: #ed2525;
	}

	label {
		width: 100%;
		position: relative;
		display: inline-block;

		.wpcf7-form-control-wrap {
			position: relative;
		}

		.wpcf7-not-valid-tip {
			color: #ed2525;
			width: 30px;
			height: 25px;
			margin-top: 0px;
			text-align: center;
			position: absolute;
			top: -2px;
			right: 10px;
			font-size: 0px;
			z-index: 2;

			&:after {
				content: '\f128';
				font-family: "Ionicons";
				position: absolute;
				top: 0;
				right: 5px;
				font-size: $font_main-size;
			}
		}
	}

	p > label {
		padding-right: 0px !important;
	}

	.wpcf7-response-output {
		border: none;
		padding: 0;
    	margin: 15px 0px;

		&.wpcf7-validation-errors {
			color: #ed2525;
		}

		&.wpcf7-mail-sent-ok {
			color: #39b628;
		}
	}

	@media screen and (max-width: 768px) {
		.btn {
			width: 100%;

			&.btn-link {
				width: auto;
			}
		}
	}

	&.flat {
		input:not([type="submit"]), select, textarea {
			background-color: #f7f7f7;
			border-color: transparent;
			padding: 12px 15px;

			&:focus {
				border-color: $color_brand;
			}
		}

		label {
			padding: 10px 0;
		}

		.input-group {
			label {
				padding: 10px 10px 0 0;

				&:first-of-type {
					padding-left: 0;
				}

				&:last-of-type {
					padding-right: 0px;
				}

				@media screen and (max-width: 768px) {
					padding-left: 0;
					padding-right: 0;
				}
			}
		}
	}

	&.classic {
		input:not([type="submit"]),
		select,
		textarea {
			background: transparent;
			border-top: none;
			border-left: none;
			border-right: none;
			padding-left: 0;
			padding-right: 0;
			text-indent: 0;

			&.placeholder,
			&::placeholder {
				line-height: 16px;
			}
		}

		.input-group {
			label {
				@media screen and (max-width: 768px) {
					padding-left: 0;
					padding-right: 0;
				}

				&:first-of-type {
					padding-left: 0;
				}

				&:last-of-type {
					padding-right: 0px;
				}

				input {
					border-bottom-width: 1px;
				}

				&:last-of-type input:not([type="submit"]) {
					border-bottom-width: 1px;
				}
			}
		}

		.wpcf7-not-valid-tip {
			right: -5px;
		}
	}
	
	.norebro-contact-subscribe {
		display: table;
		width: 100%;

		br {
			display: none;
		}

		> span {
			display: table-cell;
			padding: 0 10px;

			&:first-child {
				padding-left: 0;
			}
		}

		.cell-min {
			width: 1px;
			white-space: nowrap;
			display: table-cell;

			button {
				margin-top: 0;
			}
		}
	}
}