:root {

    --body-font:        'Roboto', sans-serif;

    --primary-font:     'Montserrat', sans-serif;

    --secondary-font:   'Alegreya Sans', sans-serif;

    --tertiary-font:    'Oswald', sans-serif;

}





/* Template overwrite */



.ip-banner canvas {
    background-position: top right;
    background-size: 100vw;
}



div#content-full {
    margin: 0;

}


#main-wrapper{
	overflow: hidden;
}

.ip-banner{
	z-index: 1;
}


/* Template General Styles */
.speaking-text {
    font-size: 17px;
    line-height: 33px;
    letter-spacing: .040em;
    font-family: inherit;
}

	.grey-text{
		color: #c8c8c8;
	}

	.red-text{
		color: #800020;
	}
	#content .speaking-text p:last-child{
		margin: 0;
	}

	#content .speaking-text p:not(:last-child){
		margin: 0 0 30px;
	}


	#content .speaking-text h3 {
	    margin: 0 0 50px;
	    font-weight: 700;
	    font-size: 20px;
	    letter-spacing: .060em;
	    line-height: 1;
	    text-transform: uppercase;
	    font-family: var(--secondary-font);
	}

		#content .speaking-text ul {
		    margin: 0;
		    list-style: none;
		    font-size: 17px;
		    font-style: italic;
		}

		#content .speaking-text ul li {
		    padding-left: 30px;
		    line-height: 1;
		    position: relative;
		    margin-bottom: 16px;
		}

		#content .speaking-text ul li:before {
		    content: '';
		    position: absolute;
		    top: 7px;
		    left: 0;
		    width: 5px;
		    height: 5px;
		    background-color: #800020;
		    border-radius: 100%;
		}


/* Template Stlyes */

div#speaking {
    position: relative;
    display: block;
    background: #1d1d1d;
    z-index: 1;
}

	div#speaking .ss-smi{
		z-index: 10;
		top: 95px;
	}
	
	.ip-banner:before {
	    position: absolute;
	    content: '';
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    background: url(../../images/ip-contact-us/contact-us-bg-greyscale.jpg) no-repeat;
	    background-position: center;
	    background-size: cover;
	    pointer-events: none;

	    opacity: .10;
	    z-index: -1;
	    background-attachment: fixed;
	}

	div#speaking:before {
	    position: absolute;
	    content: '';
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    z-index: -1;
	    background: url(../../images/ip-contact-us/contact-us-bg-greyscale.jpg) no-repeat;
	    background-position: center;
	    background-size: cover;
	    pointer-events: none;

	    opacity: .10;
	    background-attachment: fixed;
	}

.speaking-page-title {
    padding: 60px 0;
    display: block;
    margin-left: 0;
}

	#content .speaking-page-title h2{
		font-size: 128px;
	    font-weight: 700 ;
	    line-height: 1;
	    letter-spacing: 1.28px;
	    margin: 0!important;
	    text-transform: uppercase;
	    -webkit-background-clip: text;
	    -webkit-text-fill-color: transparent;
	    background-image: url(../../images/newhomepage/speaking-ss.jpg);
	    background-position: bottom left;
	    background-size: 80vw auto;
	    font-family: var(--primary-font);
	}


.speaking-section1 {
    padding-bottom: 90px;
}

.speaking-section2 {
    background: #fff;
    padding: 65px 0 140px;
    display: block;
    position: relative;
}

	.speaking-panel {
	    width: calc(((100vw - 1140px)/ 2) + 100% );
	    display: block;
	    position: relative;
	    margin-top: -210px;
	}
		.speaking-panel canvas {
		    width: 100%;
		    min-height: 420px;
		    display: block;
		    background-size: cover;
		    background-repeat: no-repeat;
		    background-position: right;
		}

		.speaking-panel .speaking-panel-text {
		    position: absolute;
		    left: 0;
		    width: 80%;
		    max-width: 255px;
		    top: 0;
		    background: #000;
		    max-height: 100%;
		    padding: 30px;
		    height: calc(100% - 50px);

		    display: flex;
		    flex-direction: column;
		    justify-content: space-between;
		}

		#content .speaking-panel .speaking-panel-text h3 {
		    font-family: var(--primary-font);
		    font-size: 40px;
		    color: #800020;
		    font-weight: 700;
		    letter-spacing: 0;
		    line-height: 40px;
		    text-transform: uppercase;
		    margin: 0;
		}

		#content .speaking-panel .speaking-panel-text p {
		    margin: 0;
		    font-size: 17px;
		    color: #fff;
		    line-height: 25px;
		    letter-spacing: .040em;
		    text-transform: uppercase;
		    font-weight: 700;
		    text-align: right;
		}



.speaking-section3 {
    display: block;
    padding: 0 0 60px;
    position: relative;
    z-index: 1;
    background-image: url(../../images/newhomepage/contact-us-bg.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
	.speaking-section3:before {
	    background-color: #000;
	    position: absolute;
	    top: 0;
	    left: 0;
	    width: 100%;
	    height: 100%;
	    opacity: .80;
	    z-index: -1;
	    content: '';
	}

	.speaking-contact-info{
		padding: 65px 0 45px;
		display: block;
		position: relative;
	}

		#content .speaking-contact-info > p {
		    font-size: 15px;
		    color: #fff;
		    display: block;
		    margin: 0 0 40px;
		    line-height: 28px;
		    letter-spacing: .050em;
		}

		#content .speaking-contact-info ul.c-info {
	        display: block;
	        color: #fff;
	        list-style: none;
	        margin: 0;
	    }

	    .speaking-contact-info ul.c-info span {
	        font-size: 17px;
	        display: inline-block;
	        vertical-align: middle;
	        margin-right: 10px;
	    }

	    .speaking-contact-info ul.c-info em,
	    .speaking-contact-info ul.c-info a{
	        display: inline-block;
	        vertical-align: middle;
	        font-size: 14px;
	        font-weight: 500;
	        line-height: 15px;
	        letter-spacing: .160em;
	        font-family: var(--primary-font);
	    }

	.speaking-contact-title{
		display: block;
		position: relative;
		z-index: 1;
		padding-bottom: 70px;
	}
		.speaking-contact-title .site-title {
		    margin-bottom: 0;
		    text-align: right;
		    z-index: 1;	
		    padding-top: 20px;
		    margin-right: -20px;
		}

		#content .site-title h2 {
		    margin: 0;
		}

		.speaking-contact-title .site-title:before{
			content: '';
			position: absolute;
			top: 0;
			right: 0;
			width: 80%;
			height: 1px;
			max-width: 340px; 

			background-color: #ffffff;
			opacity: .20;
		}

		.speaking-contact-title .speaking-contact-title-bg {
		    position: absolute;
		    left: 0;
		    top: -60px;
		    height: calc(100% + 120px);
		    width: calc(((100vw + 1140px)/ 2) + 100%);
		    background: #1d1d1d;
		}

		.speaking-contact-title .speaking-contact-title-bg:before{
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
			opacity: .05;
			filter: grayscale(1);

			background-size: cover;
			background-repeat: no-repeat;
			background-position: center;
			background-image: url(../../images/newhomepage/speaking-ss.jpg);
		}


.speaking-contact-form {
    display: block;
    position: relative;
    background: #ffffff;
    padding: 60px 0 0;
    font-size: 0;
    z-index: 10;
}

	.speaking-contact-form-bg{
	    position: absolute;
	    top: 0;
	    height: 100%;
	    background: #fff;

	    right: -20px;
	    width: calc(((100vw - 1090px) / 2) + 100%);
	}

	.speaking-contact-form-bg:before {
	    content: '';
	    position: absolute;
	    top: 0;
	    right: 0;
	    width: 100%;
	    height: 100%;
	    filter: grayscale(1);
	    background: #fff;
	    background-image: url(../../images/newhomepage/speaking-ss.jpg);
	    background-size: cover;
	    background-repeat: no-repeat;
	    opacity: .05;
	}

	.bdfse-col-md {
	    display: inline-block;
	    vertical-align: middle;
	    padding: 0 5px;
	  	width: 25%;
	  	margin-bottom: 25px;
	}

	.bdfse-col-lg{
		width: 100%;
		padding: 0 6px;
		display: block;
	}

		.speaking-contact-form label,
		.speaking-contact-form .wpcf7-form-control-wrap{
			display: block;
		}

		.speaking-contact-form .bdfse-form-control {
		    width: 100%;
		    height: 35px;
		    border: 0;
		    border-bottom: 1px solid #8b8b8b;
		    font-size: 13px;
		    display: block;
		    color: #1d1d1d;
		    background-color: transparent;
		    letter-spacing: .050em;
		    outline: none;
		}

		.speaking-contact-form textarea.bdfse-form-control {
		    height: 75px;
		    padding: 10px 0 0;
		    resize: none;
		}

		.speaking-contact-form .wpcf7-not-valid-tip {
		    font-size: 13px;
		}

		.speaking-contact-form .wpcf7-response-output {
	        position: absolute;
		    bottom: 10px;
		    width: 100%;
		    font-size: 12px;
		    text-align: center;
		    margin: 0;
		    right: 0;
		}

	.bdfse-btn {
	    position: relative;
	    padding: 60px 6px;
	    text-align: right;
	}

		.bdfse-btn .wpcf7-submit {
		    background-color: transparent;
		    border: 0;
		    letter-spacing: inherit;
		    font-size: inherit;
		    text-transform: uppercase;
		    padding: 0;
		    outline: none;
		    padding: 10px 0;
		    color: #1d1d1d;
		}

		.bdfse-btn .site-btn {
		    padding: 0;
		}

		.speaking-contact-form div.wpcf7 .ajax-loader {
	        position: absolute;
		    top: 50%;
		    transform: translateY(-50%);
		}

		.bdfse-btn .site-btn.red-line:before{
			margin-left: 0;
			margin-right: 25px;
		}

			.bdfse-btn .site-btn.red-line:hover:before{
				margin-right: 0;
				width: 0;}

		.bdfse-btn .site-btn.red-line:after {
		    margin: 0;}

		    .site-btn.red-line:hover:after{
		    	margin-left: 25px;
		        width: 160px;}





section.f-contact-us{
	display: none;
}


@media only screen and (min-width: 1366px) {

	.speaking-page-title{
		margin-left: -60px;
	}

	.speaking-contact-title .site-title{
		margin-right: -80px;
	}

	.speaking-contact-form-bg{
		right: -80px;
		width: calc(((100vw - 970px) / 2) + 100%);
	}
}


@media only screen and (min-width: 1500px) {

	.speaking-page-title{
		margin-left: -120px;
	}
}


@media only screen and (max-width: 1366px) {

	.speaking-page-title,
	.speaking-text {
	    padding-left: 30px;
	}

	.speaking-panel canvas{
		min-height: 300px;
	}

	.speaking-panel .speaking-panel-text {
       max-width: 180px;
       padding: 10px;
	}

	#content .speaking-panel .speaking-panel-text p {
	    font-size: 14px;
	    line-height: 1.3;
	}

	#content .site-title h2 {
	    font-size: 48px;
	}

}



@media only screen and (max-width: 1199px) {    

	.speaking-panel {
	    width: calc(((100vw - 860px)/ 2) + 100% );
	    margin-left: -20px;
	}

	.speaking-panel canvas{
		background-size: cover;
	}

	#content .speaking-panel .speaking-panel-text h3{
		font-size: 32px;
		line-height: 1;
	}

	.speaking-panel .speaking-panel-text{
		    height: calc(100% - 20px);
	}

	#content .speaking-page-title h2{
		font-size: 100px;
	}

	.speaking-contact-form-bg {
	    width: calc(((100vw - 890px) / 2) + 100%);
	}

}



@media only screen and (max-width: 991px) {    
 	
 	.speaking-page-title{
 		padding: 20px 0;
 	}
	.speaking-text {
	    padding-left: 0;
	    text-align: center;
	}

	.speaking-text{
		text-align: center;
	}

	.speaking-section1{
		padding-bottom: 30px;
	}

	.speaking-section2{
		padding: 30px 0;
	}

	.speaking-panel {
	    max-width: 266px;
	    margin: 0 auto;
	    display: block;
	    text-align: center;
	    width: 100%;
	}

	.speaking-panel .speaking-panel-text {
	    position: relative;
	    width: 100%;
	    height: initial;
	    max-width: 100%;
	}

	.ip-banner canvas{
		background-size: cover;
	}

	#content .speaking-panel .speaking-panel-text p{
		text-align: center;
	}

	#content .speaking-panel .speaking-panel-text h3{
		margin-bottom: 10px;
	}

	#content .speaking-text h3{
		margin-bottom: 15px;
	}

	#content .speaking-text ul{
		text-align: left;
	}

	#content .speaking-page-title h2{
		font-size: 80px;
	}

	.speaking-section2 .speaking-text {
	    text-align: left;
	    margin-bottom: 20px;
	}

	.speaking-page-title{
		text-align: center;
	}

	.bdfse-col-md {
	    width: 50%;
	}

	.speaking-contact-title .speaking-contact-title-bg {
	    height: 100%;
	    width: 100%;
	    top: 0;
	}

	.speaking-contact-title {
	    padding: 30px 15px;
	    text-align: center;
	}

	.speaking-contact-title .site-title {
	    margin: 0;
	    text-align: center;
	}

	.speaking-contact-title .site-title:before {
	    width: 100%;
	    right: 50%;
	    transform: translateX(50%);
	}

	.speaking-contact-form {
	    padding: 60px 15px 0;
	    background-color: #fff;
	}

	.speaking-contact-form-bg{
		display: none;
	}

	#content .site-title h2{
		font-size: 40px;
	}

	.speaking-contact-form .wpcf7-response-output {
	    width: calc(100% - 30px);
	    right: 15px;
	}
	

}



@media only screen and (max-width: 767px) {    

	#content .speaking-page-title h2{
		font-size: 60px;
	}

	#content .site-title h2{
		font-size: 36px;
	}

}



@media only screen and (max-width: 480px) {    

	#content .speaking-page-title h2{
		font-size: 45px;
	}

	#content .site-title h2{
		font-size: 30px;
	}

}