/* ### connect ### */
.connect { margin-bottom: 50px; }
.connect-top { margin-bottom: 40px; display: grid; gap: 16px; }
.connect-holder { display: grid; gap: 16px; }
.connect-wrap { margin-bottom: 29px; display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.connect-info-title { margin-bottom: 2px; font-size: 16px; font-weight: var(--font-weight-semi-bold); color: var(--color-grey); }
.connect-info address { font-style: normal; color: var(--color-grey); }
.connect-info address em { font-size: 12px; font-style: normal; }
.connect-info ul { list-style: none; }
.connect-info li { margin-bottom: 2px; }
.connect-info li a { color: var(--color-grey); }
.connect-info li a:focus,
.connect-info li a:hover { text-decoration: underline; }
.connect-map { width: var(--width); height: 320px; border: 1px solid var(--color-grey-100); border-radius: var(--border-radius); overflow: hidden; }
.connect-map img { width: var(--width); height: var(--height); object-fit: cover; }
.connect-holder .connect-right form, .connect-holder .connect-right form .card-form {
    height: 100%;
}

/* ### card-caller ### */
.card-caller { padding: 25px 20px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; border: solid 1px var(--color-grey-100); border-radius: var(--border-radius); background-color: var(--color-white); }
.card-caller-info { padding-left: 60px; position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; width: var(--width); }
.card-caller-icon { margin-right: 25px; position: absolute; top: 10px; left: 0; font-size: 30px; color: var(--color-cyan); }
.card-caller-title { padding-right: 20px; font-size: 16px; color: var(--color-grey); }
.card-caller-title strong { margin-bottom: 5px; display: block; font-size: var(--font-size-h3); font-weight: var(--font-weight-extra-bold); line-height: normal; color: var(--color-dark-blue); }
.card-caller-title span { display: block; }
.card-caller-number { color: var(--color-grey); }

/* ### card-form ### */
.card-form { padding: 20px; border: 1px solid var(--color-grey-100); border-radius: var(--border-radius); background-color: var(--color-white); }
.card-form-group { margin-bottom: 15px; }
.card-form-group.full-width { width: var(--width); }
.card-form-group span { color: var(--color-red); }
.card-form-btn { width: var(--width); }
.card-form-check input { margin-bottom: 0; padding: 0; display: none; width: initial; height: initial; cursor: pointer; }

@media only screen and (min-width: 768px) {
	.connect-top { grid-template-columns: repeat(2, 1fr); }
}

@media only screen and (min-width: 1025px) {
	.connect-holder { grid-template-columns: repeat(2, 1fr); }
	.connect-map { height: var(--height); }
	.card-caller { padding: 33px 40px 28px; }
	.card-caller-info { padding-left: 76px; }
	.card-caller-title strong { font-size: var(--font-size-h2); }
	.card-caller-icon { font-size: 37px; }
	.card-caller-number { font-size: 18px; }
}

@media only screen and (min-width: 1200px) {
	.connect-wrap { grid-template-columns: repeat(3, 1fr); }
	.connect-map { height: 567px; }
	.card-form { padding: 33px 40px; display: flex; flex-wrap: wrap; justify-content: space-between; }
	.card-form-group { margin-bottom: 23px; width: 48.7%; }
	.card-form-check label { margin-bottom: 0; }
	.card-form-btn { display: flex; align-items: center; justify-content: space-between; }
}


@media only screen and (max-width: 768px) {
	.card-caller-icon svg {width: 40px;}
}