/* v1.0.0 */
@keyframes svg_animation {
	from {
		-ms-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-o-transform: rotate(0deg);
		transform: rotate(0deg);
	}

	to {
		-ms-transform: rotate(360deg);
		-moz-transform: rotate(360deg);
		-webkit-transform: rotate(360deg);
		-o-transform: rotate(360deg);
		transform: rotate(360deg);
	}
}

@media only screen and (min-width: 1800px) {
	.status-promotion .ae-header.row .hero-image {
		max-height: 500px;
	}
}

.ae-content .form-block {
	padding-left: 150px;
	padding-right: 150px;
}

.status-promotion .ae-header.row .hero-image {
	height: 500px;
	overflow: hidden;
	width: 100%;
	text-align: center;
	display: flex;
	background-size: cover !important;
	background: url(/content/dam/aircanada/portal/images/corporate-leisure/header_d.jpg) no-repeat top center;
	background-position-y: 45px;
}

.ae-header img {
	width: 425px;
	margin-top: 60px;
}

.ae-header p {
	margin-left: 150px;
	margin-right: 150px;
	margin-top: 30px;
}

.blue-gradient-bg {
	background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(223, 239, 247, 1) 100%);
}

.form-block {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	padding: 40px 60px;
	box-shadow: 0px 4px 12px 0 #0000002b;
	background: #fff;
}

.form-block p {
	font-size: 16px;
	margin-top: 20px;
}

@media only screen and (min-width: 768px) and (max-width: 1025px) {
	.status-promotion .ae-header.row .hero-image {
		background-position: top right;
	}
	.ae-content .form-block {
		padding-left: 60px;
		padding-right: 60px;
	}
	.ae-content{
		padding-left: 0;
		padding-right: 0;
	}
}
@media only screen and (max-width: 1025px) {
	.status-promotion .ae-header.row .hero-image {
		background-position: top center;
		background-size: cover;
		height: 350px;
		width: 100%;
	}
	.ae-header p{
		margin-left: 0;
		margin-right: 0;
	}
	.ae-header p:last-child{
		margin-bottom: 0;
	}
}
@media only screen and (min-width: 992px) and (max-width: 1025px) {
	.status-promotion .ae-header.row .hero-image {
		height: 450px;
		width: 100%;
		background-size: cover;
	}
}

@media only screen and (min-width: 768px) and (max-width: 991px) {
	.status-promotion .ae-header.row .hero-image {
		height: 350px;
		width: 100%;
		background-size: cover;
		background: url(/content/dam/aircanada/portal/images/corporate-leisure/header_t.png) no-repeat top center;
	}
}

@media only screen and (max-width: 767px) {
	.ae-content{
		padding-bottom: 60px;
		padding-left: 0;
		padding-right: 0;
		text-align: left;
	}
	.ae-content .form-block {
		padding-left: 20px;
		padding-right: 20px;
	}
}

@media only screen and (max-width: 450px) {
	.status-promotion .ae-header.row .hero-image {
		background-position: top center;
		background-size: cover;
		height: 250px;
		width: 100%;
		background: url(/content/dam/aircanada/portal/images/corporate-leisure/header_m.png) no-repeat top center;
	}
}

.form-container-standard div {
	position: relative;
}

.form-container-standard .form-control {
	background-color: #fff;
	border-bottom: 1px solid #d0d0ce;
	color: #737373;
	font-size: 16px;
	padding-left: 0px;
	min-height: auto;
	padding-top: 20px;
	margin-top: 25px;
}


.form-container-standard .form-control:focus {
	border-top: 0 !important;
	border-right: 0 !important;
	border-left: 0 !important;
	box-shadow: none !important;
}

.form-container-standard label {
	position: absolute;
	bottom: 5px;
}

.form-container-standard .form-control:focus+label,
.form-container-standard .snap-label label {
	top: -5px;
	bottom: auto;
	margin: 0;
	transition: all 0.3s;
}

#rulesCheckLabel {
	opacity: initial;
	position: initial;
	margin-top: 25px;
	margin-bottom: 20px;
}

#rulesCheckLabel input {
	position: relative;
	opacity: initial;
	padding-right: 0;
	appearance: auto;
}

#corporateLeisureForm h3 {
	text-align: center;
}

#corporateLeisureForm hr {
	content: "";
	height: 3px;
	width: 20px;
	background-color: #b8a890;
	margin: 20px auto 30px;
	border: none;
}

#corporateLeisureForm label {
	font-size: 16px;
	text-align: left;
}

.form-container-standard .error {
	margin-top: 0;
	margin-bottom: 20px;
	font-size: 14px;
	color: #c00;
}

.form-container-standard .field-error {
	color: #c00;
}

#form-title-success,
#form-error,
#form-success {
	display: none;
}

#form-success {
	text-align: center;
	font-size: 1.2rem;
}

#form-error {
	font-size: 1.2rem;
	color: rgb(216, 41, 47);
	margin: 20px 40px;
}

#corporateSpinner {
	display: none;
	margin: 0 auto;
	text-align: center;
	padding-top: 10px;
	padding-bottom: 10px;
	width: 200px;
}

#corporateSpinner img {
	animation: 2s linear infinite svg_animation;
    width: 200px;
    margin: 0 auto;
    display: block;
}

#corporateSubmit {
	padding-left: 30px;
	padding-right: 30px;
	border-radius: 0;
}
#corporateLeisureWrapper h3{
	font-size: 28px;
}
#tnc { border-top: 0 }
#tnc .tc-title{
    font-size: 20px;
/*     font-weight: bold; */
}
#tnc p,
#tnc li{
    font-size: 16px;
}
@media only screen and (max-width: 670px) {
    [lang="fr-CA"] .multi-line-label .form-control{
        margin-top: 45px;
    }
    [lang="fr-CA"] .form-container-standard .multi-line-label .form-control:focus+label,
    [lang="fr-CA"] .form-container-standard .multi-line-label.snap-label label{
        top: -26px;
    }
}
@media only screen and (max-width: 525px) {
    .multi-line-label .form-control{
        margin-top: 45px;
    }
    .form-container-standard  .multi-line-label .form-control:focus+label,
    .form-container-standard  .multi-line-label.snap-label label{
        top: -26px;
    }
}
@media only screen and (max-width: 380px) {
    [lang="fr-CA"] .multi-line-label .form-control{
        margin-top: 65px;
		border: 1px solid c00;
    }
    [lang="fr-CA"] .form-container-standard  .multi-line-label .form-control:focus+label,
    [lang="fr-CA"] .form-container-standard  .multi-line-label.snap-label label{
        top: -46px;
    }
}

@media only screen and (max-width: 330px) {
    .multi-line-label .form-control{
        margin-top: 65px;
    }
    .form-container-standard  .multi-line-label .form-control:focus+label,
    .form-container-standard  .multi-line-label.snap-label label{
        top: -46px;
    }
}

.in-page-tips {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px;
	border-radius: 16px;
	border: 0.5px solid #78A1B4;
	background: #CCEAF8;
}

.in-page-tips>span {
	width: 24px;
	height: 24px;
}

.in-page-tips>div {
	color: #000;
	font-size: 14px;
	font-style: normal;
	line-height: 20px;
}
