/*== Variables ==*/
/* CHANGE VARIABLES TO CHANGE THEME, DON'T CHANGE STATICALLY BELLOW VARIABLES */
:root{ 
	--primary: #003057;	
	--primary-opacity: #003057cc;	
	--secondary: #36B0C9;
	--secondary-opacity: #36B0C9cc;
	--accent: #333;
	--reviews: #666;
	--font: #333;

}

@font-face {
  font-family: 'Roboto';
  src: url('../fonts/Roboto/Roboto-Regular.ttf')  format('truetype');
}

/*== Tags ==*/
html {
	scroll-behavior: smooth;
}
body {
	color: var(--font);
	font-family: 'Roboto', sans-serif;
	font-size: 1.15rem;
	line-height: 1.65rem;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, center, 
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, main, canvas, details, embed, 
figure, figcaption, footer, header, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	border: 0;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, main, menu, nav, section {
	display: block;
}
h1 {
	font-size: 3rem;
	line-height: 3rem;
	text-shadow: 1px 1px 3px rgba(0,0,0,0.25);
	text-transform: uppercase;
}
h2 {
	font-size: 2rem;
	margin-bottom: 20px;
	line-height: 2.75rem;
	text-align: center;
}
h3 {
	font-size: 1.5rem;
	line-height: 1.75rem;
}
h4 {
	font-size: 1.25rem;
	line-height: 1.5rem;
}
p, li {
	margin-bottom: 20px;
}
ol, ul {
	list-style: none;
}
a {
	color: var(--primary);
	text-decoration: none !important;
}
a:-webkit-any-link, a:-moz-any-link, a:-ms-any-link, a {
	text-decoration: none !important;
}
em {
	font-style: italic !important;
}
strong {
	font-weight: bold !important;
}
sup {
	font-size: 70%;
	vertical-align: super;
}
hr {
	border-bottom: 1px solid #c2c2c2;
	border-left: 0;
	border-right: 0;
	border-top: 0;
	margin: 20px 0px;
}
img {
	display: block;
}
form p {
	margin: 2px 0;
}
input::-webkit-input-placeholder {
    color: #393939;
}
input:focus::-webkit-input-placeholder {
    color: #CCCCCC;
}
/* Firefox < 19 */
input:-moz-placeholder {
    color: #393939;
}
input:focus:-moz-placeholder {
    color: #CCCCCC;
}
/* Firefox > 19 */
input::-moz-placeholder {
    color: #393939;
}
input:focus::-moz-placeholder {
    color: #CCCCCC;
}
/* Internet Explorer 10 */
input:-ms-input-placeholder {
    color: #393939;
}
input:focus:-ms-input-placeholder {
    color: #CCCCCC;
}
:focus {
	box-shadow: 0px 0px 7px rgba(0,0,0,0.3);
    outline: none;
}

/* == Universal Classes == */
.form-group {
	float: left;
	padding: 2px 0;
	width: 50%;
}
.form-group:first-of-type {
	padding-right: 5px;
}
.form-group:nth-of-type(2) {
	padding-left: 5px;
}
.form-control {
	border: 1px solid #c2c2c2;
	box-sizing: border-box;
	font-size: 1rem;
	height: 40px;
	padding: 10px 20px;
	width: 100%;
}
.form-label {
	font-size: 14px;
	font-weight: bold;
}
.form.response_page{
	min-height: calc(100vh - 101px);
}
input:invalid {
    box-shadow: none;
}
.btn {
	background: var(--secondary); /*== Change for branding ==*/
	border: 1px solid var(--secondary);
	box-shadow: 0px 0px 7px rgba(0,0,0,0.3);
    color: #fff;
	display: block;
	font-size: 1.15rem;
	font-weight: bold;
	letter-spacing: 0.05rem;
	line-height: 1.5rem;
	margin: 0 auto;
	max-width: 320px;
	padding: 10px 15px;
	text-align: center;
	transition: .3s;
	transition-timing-function: ease;
	cursor: pointer;
}
.btn:hover {
	background: #fff; /*== Change for branding ==*/
	color: var(--secondary);
}
	
a.phone_number {
	color: var(--primary);
	display: block;
	font-size: 2rem;
	font-weight: bold;
	position: relative;
}


.header a.phone_number {
	color: var(--primary);
	/* text-shadow: 1px 1px 1px #999; */
}

.shadow {
  -webkit-filter: drop-shadow( 1px 1px 1px #999);
  filter: drop-shadow( 1px 1px 1px #999);
  
}

a.phone_number img {
	height: 30px;
	left: 0;
	position: absolute;
	top: -1px;
	width: 30px;
}
ul.check-list {
	margin-left: 0;
}
.check-list li {
	margin-left: 40px;
	font-size: 18px;
	line-height: 24px;
}
.check-list li::before{
	color: var(--secondary);
	content: "✓";
	font-size: 1.5rem;
	margin-left: -33px;
	padding-right: 10px;
	position: relative;
	top: 2px;
}
.hidden-sm {
	display: block !important;
}
.hidden-md {
	display: none !important;
}
.large {
	font-size: 130% !important;
	line-height: 130% !important;
}
.small {
	font-size: 80% !important;
	line-height: 110% !important;
}
.brand-color {
	color: var(--accent);
}
.call .brand-color {
	color: #000;
}
.no-wrap {
	white-space: nowrap;
}
.content {
	padding-top: 101px;
	z-index: 0;
}
.anchor-tag {
	display: block;
	height: 0;
	margin-top: -101px;
	padding-top: 101px;
	visibility: hidden;
}
.page-top {
	bottom: 20px;
	position: fixed;
	right: 20px;
	z-index: 99999;
}
.page-top a {
	background: var(--secondary-opacity);
	border-radius: 5px;
	color: #fff;
	display: block;
	font-size: 2rem;
	padding: 15px 10px;
}
.header, .form, .title, .squares, .call, .gallery, .data, .awards, .conditions  {
    display: flex;
	max-width: 100%;
	position: relative;
	width: 100%;
}
.title h4{
	color: #3B3B3B;
}
.call, .data {
	background-color: var(--secondary);
	color: #fff;
}
.call .btn, .data .btn{
	background-color: var(--primary);
	border-color: var(--primary);
}
.call .btn:hover, .data .btn:hover{
	background: #fff; /*== Change for branding ==*/
	color: var(--primary);
}
.gallery {
	background-color: var(--reviews);
	color: #FFF;
}
.form__wrapper, .title__info, .call__info, .data__info, .squares__block, .awards-info, .conditions-info, .privacy_policy {
	display: flex;
	margin: 0 auto;
	max-width: 1340px;
	padding: 40px;
	position: relative;
	width: 100%;
}
.awards-info {
	padding-bottom: 0;
}
.conditions-info{
	padding-top: 0;
	font-size: 16px;
}
.conditions-info p{
	margin-bottom: 10px;
}
.form__wrapper{
	padding: 100px 40px;
}
.header, .squares {
	flex-direction: row;
}
.title__info, .call, .call__info, .gallery, .data__info, .awards-info, .conditions-info, .privacy_policy {
	flex-direction: column;
}

.call_phone a.phone_number, .footer_phone a.phone_number {
	font-size: 2.3rem;
	margin: 0 auto 20px;
	max-width: 320px;
	color: var(--accent);
}
.call_phone svg path,.call_phone svg rect,.footer_phone svg path,.footer_phone svg rect{
	fill: var(--accent);
}
.slopedown-top {
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 0);
	height: 60px;
	width: 100%;
}
.slopedown-bottom {
	background: #fff;
	clip-path: polygon(0 0, 100% 100%, 100% 100%, 0 100%);
	height: 60px;
	width: 100%;
}
.slopeup-top {
	background: #fff;
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 100%);
	height: 60px;
	width: 100%;
}
.slopeup-bottom {
	background: #fff;
	clip-path: polygon(0 100%, 100% 0, 100% 100%, 0 100%);
	height: 60px;
	width: 100%;
}

/*== Header ==*/
.header {
	align-items: center;
	background-color: #fff;
	border-bottom: 3px solid var(--primary);
	box-shadow: 0px 3px 7px rgba(0,0,0,0.25);
	padding: 10px 40px;
	position: fixed;
	width: 100%;
	z-index: 99999;
}
.header__logo {
	clear: both;
    display: block;
    flex-grow: 1;
	float: left;
	position: relative;
}
.header__logo a{
	float: left;
}
.header__logo img {
	height: 80px;
	position: relative;
	top: 0px;
	width: auto;
}
.header__logo span.small {
	font-style: italic;
	float: left;
	margin: 0 0 0 20px;
	position: relative;
	top: 34px;
	color: var(--primary);
}
.header__phone {
    align-items: center;
    display: flex;
    flex-direction: row;
}
.header .btn {
	margin-left: 20px;
}
.alert-banner {
	background-color: var(--primary);
}
svg.phone-icon {
	width: 30px;
	vertical-align: middle;
	position: relative;
	top: -2px;
}
svg path, svg rect {
	fill: var(--primary);
}
.header .header__cta {
	display: none;
}

/*== Form ==*/
.form {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	flex-direction: column;
}
.form__wrapper_block {
    background-color: var(--primary-opacity);
	box-shadow: 3px 3px 7px rgba(0,0,0,0.5);
	color: #FFF;
    display: flex;
    flex-direction: column;
	margin: 0 auto;
    padding: 40px;
	text-align: center;
    width: 450px;
}
.form__wrapper_block p {
	margin-bottom: 5px;
}
.form__wrapper_block p:nth-child(3) {
	margin: 10px 0 15px !important;
}

/*== Title ==*/
.title__info {
	padding-bottom: 0;
	text-align: center;
}
.title__info h4 {
	margin-bottom: 10px;
}
.title__info h2 {
	margin-bottom: 10px;
}

/*== Squares ==*/
.squares.text-right > .squares__block > .squares__info {
	position: relative;
	right: -50%;
}
.squares.text-right > .squares__block > .squares__img {
	left: -50%;
	position: relative;
}
.squares__img {
    height: 100%;
    width: 50%;
}
.squares__img img {
	height: auto;
	width: 100%;
}
.squares__info {
	padding: 0 40px;
    width: 50%;
}
.squares__info h2 {
	margin-bottom: 10px;
	text-align: left;
}
.squares__info>p{
	font-size: 18px;
}
.squares .btn {
	margin: 0;
	max-width: 320px;
}

/*== Image Carousel ==*/
.carousel-wrapper {
	height: 480px;
	margin: 0 auto;
	position: relative;
	width: 100%;
}
.carousel-item {
	bottom: 0;
	left: 0;
	opacity: 0;
	padding: 0;
	position: absolute;
	right: 0;
	top: 0;
	transition: all 0.5s ease-in-out;
}
.carousel-caption {
    background-color: var(--secondary-opacity);
	bottom: 0;
	color: #FFF;
	padding: 15px 15px 0;
	position: absolute;
	text-align: center;
	width: 100%;
}
.carousel-caption p {
	font-size: 16px!important;
	font-weight: bold;
	text-align: center!important;
}
.arrow {
	background-color: var(--primary-opacity);
	border-radius: 50px;
	box-shadow: 1px 1px 5px rgb(0 0 0 / 50%);
	display: block;
	position: absolute;
	top: 50%;
	transition: .5s ease;
}
.arrow:hover, .arrow:focus {
	background-color: var(--primary-opacity);
}
.arrow-prev {
	left: -15px;
}
.arrow-prev:hover, .arrow-prev:focus {
	transform: translateX(-5px);
}
.arrow-prev::before, .arrow-next::after {
	color: #fff;
	display: block;
	padding: 15px 20px;
}
.arrow-prev::before {
	content: "⇦";
}
.arrow-next {
	right: -15px;
}
.arrow-next:hover, .arrow-next:focus {
	transform: translateX(5px);
}
.arrow-next::after {
	content: "⇨";
}
.light{
	color: white;
}
@media (max-width: 480px) {
	.arrow, .light .arrow {
		background-position: 10px 50%;
		background-size: 10px;
		border-radius: 4px;
    box-shadow: none;
	}
}
/*Select every element*/
[id^="item"] {
	display: none;
 }
.item-1 {
	background-size: cover;
	opacity: 1;
	z-index: 2;
 }
.item-2 {
	background-size: cover;
}
.item-3 {
	background-size: cover;
}
.item-4 {
	background-size: cover;
}
.item-5 {
	background-size: cover;
}
*:target ~ .item-1 {
    opacity: 0;
  }
#item-1:target ~ .item-1 {
    opacity: 1;
}
#item-2:target ~ .item-2, #item-3:target ~ .item-3, #item-4:target ~ .item-4, #item-5:target ~ .item-5 {
    opacity: 1;
    z-index: 3;
}

/*== Call Box ==*/
.call__info {
	text-align: center;
}
.call .btn {
	margin: 0 auto;
	max-width: 320px;
}

/*== Quote Gallery ==*/
.gallery__info {
	/* border-bottom: 1px solid #024d71; */
	margin: 0 auto;
	max-width: 1340px;
	padding: 50px 40px;
	position: relative;
	width: 100%;
}
.guild-quality {
	height: 90px;
	margin: 0 auto;
	width: 90px;
}
.swiper-container {
	max-width: 90%;
	text-align: center;
}
.swiper-slide p {
	margin: 0 20px;
}
.swiper-slide p.quote::before, .swiper-slide p.quote::after {
	color: var(--secondary);
	font-size: 200%;
	position: absolute;
}
.swiper-slide p.quote::before {
	content: "\201C";
	left: 0;
	top: 10px;
}
.swiper-slide p.quote::after {
	content: "\201D";
	right: 0;
	top: 10px;
}
.swiper-slide span.stars {
	color: var(--secondary);
}
p.review-name {
	font-style: italic;
	text-align: right;
}
.review-name span{
	white-space: nowrap;
}
.swiper-button-prev {
	left: 30px !important;
}
.swiper-button-next {
	right: 30px !important;
}
.swiper-button-next, .swiper-button-prev {
	background-color: rgba(255,255,255,0.6);
	background-image: none !important;
	border-radius: 50px;
	height: auto !important;
	opacity: .75;
	position: absolute;
	transition: .5s ease;
	width: auto !important;
}
.swiper-button-next::after, .swiper-button-prev::before {
	color: var(--primary);
	display: block;
	padding: 7px 10px;
}
.swiper-button-next::after {
	content: "⇨";
}
.swiper-button-prev::before {
	content: "⇦";
}
.swiper-button-next:hover, .swiper-button-next:focus, .swiper-button-prev:hover, .swiper-button-prev:focus {
	box-shadow: none;
}
.swiper-button-next:hover, .swiper-button-prev:hover {
	background-color: rgba(255,255,255,0.8);
}
.swiper-button-next:hover {
	transform: translateX(5px);
}
.swiper-button-prev:hover {
	transform: translateX(-5px);
}

/*== Footer ==*/
.data__call {
	text-align: center;
}
.data__form {
	margin: 0 auto;
	width: 80%;
}
.footer-form {
	float: left;
	width: 50%;
}
.footer-form:nth-child(odd) {
	padding-right: 5px;
}
.footer-form:nth-child(even) {
	padding-left: 5px;
}
.submit-row {
	float: left;
	width: 100%;
}
.submit-row .btn {
	margin: 30px auto 0;
}

/*== Awards/Credentials ==*/
ul.awards-list {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 0;
	margin-bottom: 24px;
}
ul.awards-list li {
	display: inline-block;
}
ul.awards-list li img {
	filter: grayscale(100%);
	-webkit-filter: grayscale(100%);
	opacity: .7;
	width: auto;
	margin: 8px 24px 0 24px;
}

/*== Conditions ==*/
.conditions {
	text-align: center;
}
.conditions a{
	text-decoration: underline!important;
}

/* == Privacy Policy Page == */
.privacy_policy h3 {
	margin-bottom: 10px;
}

/*== Media Queries ==*/
@media (max-width: 1024px) {
	.squares__info {
		padding: 0 10px;
		width: 60%;
	}
	.squares__img {
		width: 40%;
	}
	.squares.text-right > .squares__block > .squares__info {
		right: -40%;
	}
	.squares.text-right > .squares__block > .squares__img {
		left: -60%;
	}
	.carousel-wrapper {
		height: 280px;
	}
	.carousel-caption {
		bottom: -50px;
		padding: 10px;
		top: 100%;
	}
	.carousel-caption p.small {
		line-height: 1rem !important;
	}
	.arrow {
		bottom: 0;
		top: auto;
	}
	.arrow-prev {
		left: 0;
	}
	.arrow-next {
		right: 0;
	}
	.guild-quality {
		left: 0;
	}
}
@media (max-width: 768px) {
	.check-list li:last-child {
		margin-bottom: 0;
	}
	.header {
		padding: 10px 20px;
	}
	.header .hidden-sm {
		display: none !important;
	}
	.header .btn {
		margin-left: 10px;
	}
	.form__wrapper_block {
		width: 420px;
	}
	.call {
		margin-bottom: 30px;
	}
	.squares__block {
		flex-direction: column-reverse;
		padding: 20px 40px;
	}
	.squares__info {
		padding: 30px 0 0 0;
		width: 100%;
	}
	.squares__info h2, .squares__info p {
		text-align: center;
	}
	.squares__info .btn {
		margin: 30px auto 0;
	}
	.squares__img {
		width: 100%;
	}
	.squares.text-right > .squares__block > .squares__info {
		position: static;
	}
	.squares.text-right > .squares__block > .squares__img {
		position: static;
	}
	.gallery {
		margin-top: 30px;
	}
	.carousel-wrapper {
		height: 500px;
		margin-bottom: 50px;
	}
	.data {
		margin-top: 0;
	}
	.data__form {
		width: 100%;
	}
}
@media (max-width: 420px) {
	h1 {
    font-size: 2.4rem;
    line-height: 2.4rem;
	}
	h2 {
		font-size: 1.5rem;
		line-height: 1.8rem;
		text-align: center;
	}
	.hidden-sm {
		display: none !important;
	}
	.hidden-md {
		display: block !important;
	}
	.form-group {
		width: 100%;
	}
	.form-group:first-of-type {
		padding-right: 0;
	}
	.form-group:nth-of-type(2) {
		padding-left: 0;
	}
	.btn {
		margin: 0 auto;
	}
	.call_phone a.phone_number, .footer_phone a.phone_number {
		font-size: 2rem;
		max-width: 100%;
		text-align: center;
	}
	.call_phone a.phone_number img, .footer_phone a.phone_number img {
		display: none;
	}
	.content {
		padding-top: 75px;
	}
	.form__wrapper, .title__info, .call__info, .gallery__info, .data__info, .squares__block, .awards-info, .conditions-info, .privacy_policy {
		padding: 18px 20px;
	}
	.conditions-info{
		padding: 18px 20px 80px 20px;
	}
	.header {
		flex-direction: column;
		height: 75px;
		padding: 10px 20px;
	}
	.header__logo {
		width: 100%;
	}
	.header__logo img {
		height: 50px;
	}
	.header__phone {
		align-items: flex-end;
		flex-direction: column;
		position: absolute;
		right: 20px;
		width: 100%;
	}
	.header__phone a.phone_number {
		bottom: -80px;
		font-size: 2rem;
		position: absolute;
		text-align: center;
		width: 87%;
		display: none;
	}
	.header__phone a.btn {
		font-size: .9rem;
		letter-spacing: 0;
		margin-left: 0;
		padding: 7px 13px;
		position: absolute;
		top: 5px;
	}
	.header .header__cta {
    display: block;
    left: 0;
    background: #fff;
    bottom: 0;
    border-top: 1px solid #ccc;
    padding: 10px;
    position: fixed;
    width: 100%;
	}
	.header .header__cta a.phone_number {
    font-size: 20px;
    margin: 0 auto;
		color: #fff;
		background-color: var(--primary);
		border-color: var(--primary);
		border-radius: 5px;
		padding: 10px 0;
	}
	.header .header__cta a.phone_number svg{
		width: 20px;
	}
	.header .header__cta svg path, svg rect{
		fill: #FFF;
	}
	.form {
		background-size: auto 250px;
		background-position: top center;
	}
	.form__wrapper {
		padding: 0;
		margin-top: 250px;
	}
	.form__wrapper_block {
		border: none;
		border-radius: 0;
		width: 100%;
		padding: 28px;
		background-color: var(--primary);
	}
	.call_phone {
		max-width: 100%;
		text-align: right;
		display: none;
	}
	.call .btn {
		margin: 0 auto;
	}
	.carousel-wrapper {
		height: 210px;
	}
	.arrow-prev::before, .arrow-next::after {
		padding: 10px 15px;
	}
	.gallery__info {
		padding: 30px 20px 50px;
	}
	.gallery h2 {
		margin-bottom: 20px;
	}
	.guild-quality {
		display: block;
		margin: 0 auto;
		position: static;
	}
	.swiper-button-next, .swiper-button-prev {
		top: 50% !important;
		margin-top: 0px !important;
	}
	.swiper-button-next{
		right: 12px!important;
	}
	.swiper-button-prev{
		left: 12px!important;
	}
	.swiper-slide p.quote.large {
		font-size: 1rem !important;
		margin-bottom: 10px;
	}
	.footer-form {
		width: 100%;
	}
	.footer-form:nth-child(odd) {
		padding-right: 0;
	}
	.footer-form:nth-child(even) {
		padding-left: 0;
	}
	.data__form .form-control {
		width: 100%;
	}
	.call_phone a.phone_number, .footer_phone a.phone_number {
		padding-left: 0;
		display: none;
	}
	.call .call-cont{
		display: none!important;
	}
	.data__form {
		display: block;
		margin-top: 0;
		width: 100%;
	}
	.data__form {
		width: 100%;
	}
	ul.awards-list {
    flex-direction: row;
    margin-bottom: 0;
	}
	ul.awards-list li {
		max-width: 50%;
	}
	ul.awards-list li:first-child img {
    	float: none;
	}
	ul.awards-list li img {
		margin: 6px auto;
    width: 75%;
    display: block;
    height: auto;
	}
	.response_page {
		margin-top: 0 !important;
	}
	.page-top {
		display: none;
	}
	.title h4{
		font-size: 16px;
	}
	.title p{
		text-align: left;
    padding: 0 6px;
	}
	.large {
		font-size: 18px !important;
		line-height: 130% !important;
	}
	.squares p{
		text-align: left;
		padding: 0 6px;
	}
	.carousel-caption{
		background-color: var(--secondary);
	}
}
@media (max-width: 350px) {
	.header__logo img{
		max-width: 160px;
    top: 1px;
	}
	.carousel-caption p{
		font-size: 14px!important;
	}
}