/* ========================================
   Global Resets
======================================== */
html, body {
	height: 100%;
	margin: 0;
	padding: 0;
	min-height: 0 !important;
	position: static !important;
}

body.FitScreen {
	overflow: hidden;
}

*:focus {
	outline: none;
}

/* ========================================
   Typography & Text Elements
======================================== */
p {
	margin: 0;
	padding: 8px 0;
}
p:empty { display: none; }

em { font-style: italic; }
strong, b { font-weight: 700; }

hr {
	border: 0;
	height: 1px;
	margin: 10px 0;
	background-color: rgba(0,0,0,0.2);
}
.theme_dark hr,
.dark-theme hr { background-color: rgba(255,255,255,0.2); }

blockquote {
	font-size: 20px;
	line-height: 1.3;
	margin: 10px 0;
	padding: 15px;
	background-color: #F3F3F3;
	border-left: 5px solid #ab0319;
	font-style: italic;
	
}
blockquote p {
	margin: 0;
	font-weight: 400;
	line-height: 1.5;
}
blockquote h1, blockquote h2, blockquote h3,
blockquote h4, blockquote h5, blockquote h6,
h1 blockquote, h2 blockquote, h3 blockquote,
h4 blockquote, h5 blockquote, h6 blockquote {
	font-weight: 700;
	line-height: 1.5;
	padding: 0;
}
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,
q:before, q:after { content: none; }

code, pre {
	font-family: Courier, Verdana, Tahoma, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	background: #f9f9f9;
	border: 1px solid #ddd;
	border-radius: 3px;
	margin: 12px 0;
	padding: 6px 8px;
}
code { display: inline; white-space: normal; }
pre { display: block; }
pre code {
	padding: 0;
	border: none;
	border-radius: 0;
}

/* ========================================
   Lists
======================================== */
ul, ol {
	margin: 0;
	padding: 10px 0 10px 35px;
}
ul li, ol li {
	margin: 0;
	padding: 2px 0;
}
ol li { list-style-type: decimal; text-indent: 5px; }
ul li { list-style-type: disc; text-indent: -5px; }
ul ol li, ul ol ul ol li { list-style-type: decimal; }
ol ul li, ol ul ol ul li { list-style-type: square; }

/* ========================================
   Media Elements
======================================== */
img, object, embed {
	max-width: 100%;
	height: auto;
	margin: 0;
}
img { -ms-interpolation-mode: bicubic; }

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* ========================================
   Utility Classes
======================================== */
.clear      { clear: both; }
.hidden     { display: none; }
.text-left  { text-align: left; }
.text-right { text-align: right; }
.text-center{ text-align: center; }

.text-hide {
	font-size: 0;
	line-height: 0;
	margin-left: -999em;
}

.align-center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.align-left  { text-align: left; }
.align-right { text-align: right; }

.vertical-center {
	top: 50%;
	transform: translateY(-50%);
}

/* ========================================
   Hyperlinks
======================================== */
a { text-decoration: underline; }
a img { border: none; }
a:focus, a:hover, a:active { text-decoration: underline; }

/* ========================================
   Headings
======================================== */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
	margin: 0;
	padding: 8px 0;
	font-style: normal;
	text-transform: none;
}
h1 strong, h2 strong, h3 strong,
h4 strong, h5 strong, h6 strong,
h1 b, h2 b, h3 b, h4 b, h5 b, h6 b {
	font-weight: 300;
}


/************************************************
* 3. Header
************************************************/
.headerWrap {
	margin: 0 auto;
}

#header {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	margin: 0;
	padding: 0;
	line-height: 1;
	overflow: visible;
	box-sizing: border-box;
	background: no-repeat top center / cover;
	transition: all .2s ease;
	z-index: 999;
}

#header.sticky {
	position: fixed;
	top: 0;
	padding: 0;
	animation: stickyHeader .5s ease;
	border-bottom: 1px solid rgba(0,0,0,.15);
	box-shadow: 0 0 10px rgba(0,0,0,.3);
}

@keyframes stickyHeader {
    0% {
        transform: translateY(-100%);
    }
    100% {
        transform: translateY(0%);
    }
}

#header.transparent {
	background: none;
}

#header.sticky .headerWrap,
#header.sticky .sitewideNotice { display: none; }
#header.has_stickyheader .headerWrap,
#header.has_stickynotice .sitewideNotice { display: block; }

body.admin-bar #header,
body.admin-bar #header.sticky { top: 32px; }

/* Header structure */
.headerBg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

#header>.row { position: relative; }

.headerTable {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.headerLogoCell,
.headerMenuCell,
.headerHamburgerCell,
.headerIconsCell {
	display: flex;
	align-items: center;
	padding: 0;
	position: relative;
	transition: all .5s ease;
	box-sizing: border-box;
}
.headerIconsCell .button{
	padding: 10px 20px !important;
}

.headerLogoCell {
	text-align: left;
	padding-right: 20px;
	position: relative;
}
.headerLogoCell .logo:before{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -200%;
	right: 100%;
	z-index: 0;
	background-color: #fff;
	z-index: -1;
}
.headerLogoCell .logo:after{
	content: "";
	position: absolute;
	right: 0;
	transform: translateX(90%);
	bottom: 0;
	top:0;
	width: 50%; /* height of diagonal cut */
	background-color :#fff; /* color of the page background */
	clip-path: polygon(0 0, 100% 0, 100% 0%, 0 100%);
	z-index: -1;
}

.headerLogoCell .logo {
	display: block;
	width: 100%;
	position: relative;
	z-index: 1;
	background-color: #fff;
	padding-top: 20px;
	padding-bottom: 20px;
}

#header img.master_logo { display: block; margin: 0; }
#header img.sticky_logo { display: none; margin: 0; }
#header.sticky img.master_logo { display: none; }
#header.sticky img.sticky_logo { display: block; }

body.home #header.sticky .headerLogoCell { display: table-cell; }

/* Sticky padding adjustments */
#header.sticky .headerLogoCell,
#header.sticky .headerHamburgerCell,
#header.sticky .headerMenuCell,
#header.sticky .headerIconsCell {
	padding: 0;
}
#header.sticky .button{
	padding: 10px 15px !important;
}
#header.sticky .headerLogoCell .logo {
	padding-top: 10px;
	padding-bottom: 10px;
}

/* Video Logo */
.videoLogoWrap {
	width: 100%;
	position: relative;
	overflow: hidden;
	padding-bottom: 25%;
}
#videoLogo {
	position: absolute;
	top: 50%; left: 50%;
	width: 100%;
	transform: translate(-50%, -50%);
}

/* Hamburger / menu cells */
.headerHamburgerCell {
	width: 60px;
	padding-left: 20px;
	justify-content: flex-end;
}
.headerMenuCell { padding-right: 0; }
.headerIconsCell { justify-content: flex-end; }

.header-button a {
	display: inline-block;
	padding: 8px 15px !important;
	font-size: 14px;
	font-weight: 700;
	border: none;
	border-radius: 50px;
	color: #fff !important;
	background: #B92228;
	transition: all .3s ease;
}
.header-button a:hover {
	background: #232323;
	color: #fff !important;
}

.iconCellWrap {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	font-weight: 600;
	position: relative;
}
.headerSocial { padding-right: 20px; }
.headerSocial .social-icons span a { font-size: 18px; }

/************************************************
* 4. Navigation
************************************************/
ul.HeaderMenu {
	display: flex;
	margin: 0;
	padding: 0;
}
ul.HeaderMenu>li {
	position: relative;
	display: inline-flex;
	align-items: stretch;
	padding: 0px 0.8vw;
	text-indent:0px;
}

/* Menu links */
.headerMenuCell ul.HeaderMenu>li>a {
	display: flex;
	align-items: center;
	padding: 5px 0px;
	text-decoration: none;
	transition: all .3s ease;
	border-radius: 0;   
	border-bottom: 2px solid rgba(255,255,255,0);
	font-size: 15px;
	font-weight: 600;
	line-height: 45px;
}
.headerMenuCell ul.HeaderMenu>li:hover>a,
.headerMenuCell ul.HeaderMenu>li.current_page_item>a,
.headerMenuCell ul.HeaderMenu>li.current-page-ancestor>a {
	text-decoration: none;
	border-bottom: 2px solid rgba(255,255,255,1);
}

/* Submenu */
.headerMenuCell ul.HeaderMenu ul.sub-menu {
	display: none;
	position: absolute;
	top: 100%; left: 0;
	width: 280px;
	box-sizing: border-box;
	margin: 0;
	padding: 0px;
	box-shadow: 0px 0px 15px rgba(0,0,0,.3);
	background: #fff;
	z-index: 999;
	font-size: 13px;
	line-height: 1.4;
	text-indent: 0px !important;
}
.headerMenuCell ul.HeaderMenu li:hover>ul.sub-menu { display: block; }

/* Second-level submenu (submenu of submenu) */
.headerMenuCell ul.HeaderMenu ul.sub-menu ul.sub-menu {
	top: 0;
	left: 100%;   /* flyout to the right */
	margin-left: 0px; /* small gap */
	box-shadow: 0px 0px 15px rgba(0,0,0,.3);
}

.headerMenuCell ul.HeaderMenu ul.sub-menu li {
	list-style: none;
	list-style-type: none;
	position: relative;
	display: block;
	margin: 0;
	padding: 0;
}
.headerMenuCell ul.HeaderMenu ul.sub-menu li a {
	border-top: 1px solid rgba(0,0,0,0.1);
	display: block;
	padding: 10px 15px;
	transition: all .1s ease;
	text-decoration: none;
	text-indent: 0px !important;
}
.headerMenuCell ul.HeaderMenu ul.sub-menu li a:hover{
	text-decoration: none;
}
.headerMenuCell ul.HeaderMenu ul.sub-menu > li:first-child{
	border-top: none;
}

/* Submenu toggle icon */
.headerMenuCell ul.HeaderMenu .submenu_open {
	position: absolute;
	top: 50%;
	right: 0;
	width: 10px;
	font-size: 16px;
	line-height: 0;
	cursor: pointer;
	transform: translateY(-50%);
	transition: all .3s ease;
}
.headerMenuCell ul.HeaderMenu ul.sub-menu .submenu_open{
	transform: translateY(-50%) rotate(0deg);
}
.headerMenuCell ul.HeaderMenu>li.menu-item-has-children {
	padding-right: 20px;
}
.headerMenuCell ul.HeaderMenu>li.menu-item-has-children:hover >.submenu_open {
	transform: translateY(-50%) rotate(90deg);
}

/* Call-to-action menu button */
.menubutton>a {
	font-size: 24px;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 10px 3vw !important;
	color: #fff !important;
	background: #dd1a32 !important;
}
.menubutton>a:hover { background: #002c5c !important; }

/************************************************
* Push Menu (Off-canvas)
************************************************/
#OpenMenu {
	display: inline-block;
	width: 30px;
	cursor: pointer;
}
#OpenMenu span {
	display: block;
	height: 3px;
	margin: 6px 0;
	background: currentColor;
}

.PushMenuHeader{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	padding-top:50px;
	padding-top:20px;
}

#PushMenu .menu_wrap{
	padding-bottom: 24px;
}

#PushMenuWrap .menu_hamburger{
	display:inline-block;
	cursor: pointer;
    padding:0px;
	height:36px;
	width:36px;
    z-index: 500;
	position:relative;
	border-radius:50px;
	-webkit-border-radius:50px;
}
#PushMenuWrap .menu_hamburger span{
	-webkit-border-radius: 0.3125em;
    border-radius:0;
    content: "";
    cursor: pointer;
    display: block;
    height: 3px;
    position:absolute;
	top:50%;
	left:50%;
	-webkit-transition:all 0.3s ease-in-out 0s;
    transition: all 0.3s ease-in-out 0s;
    width:36px;
	transform-origin:left;
	-webkit-transform-origin:left;
	margin-top:-1px;
}
#PushMenuWrap .menu_hamburger span.first{
	-webkit-transform: rotate(-45deg) translate(-50%,0%);
    transform: rotate(-45deg) translate(-50%,0%);
}
#PushMenuWrap .menu_hamburger span.last{
	-webkit-transform: rotate(45deg) translate(-50%,0%);
    transform: rotate(45deg) translate(-50%,0%);
	
}
body.admin-bar #PushMenuWrap{
	top:32px;
}

#PushMenuWrap {
	position: fixed;
	top: 0; right: 0; bottom: 0;
	max-width: 40vw;
	width: 100%;
	background: #fff;
	transform: translateX(100%);
	transition: transform .4s cubic-bezier(.6,.2,.1,1);
	overflow: auto;
	opacity: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
}
#PushMenuWrap.opened {
	transform: translateX(0);
	opacity: 1;
	transition:all .4s cubic-bezier(.6,.2,.1,1);
}

#PushMenuWrapOverlay {
	position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	visibility: hidden;
	transition: all .5s ease-out;
	background: rgba(0,0,0,.5);
}
#PushMenuWrapOverlay.opened { visibility: visible; }

#PushMenu {
	width: 100%;
	padding: 0px;
	height: 100%;
	overflow: auto;
	box-sizing: border-box;
}
ul.PushMenu {
	margin: 0; padding: 0;
	list-style: none;
}
.PushMenu li {
	padding: 0;
	text-indent: 0 !important;
	list-style-type: none;
	position: relative;
}
.PushMenu li a {
	display: block;
	font-size: 16px;
	padding: 10px 0px;
	text-decoration: none;
	transition: all .2s ease;
}
.PushMenu li a:hover { text-decoration: none; }

.PushMenu ul.sub-menu {
  display: none;
  padding-left: 15px;
  padding-bottom: 0px;
  padding-top: 0px;
  margin: 0;
  list-style: none;
}
.PushMenu ul.sub-menu li a {
  display: block;
  font-size: 14px;
  padding: 7px 0px;
  color: #333;
  text-decoration: none;
  border-top: 1px solid rgba(0,0,0,0.1);
}

.PushMenu .submenu_open {
	position: absolute;
	right: 0;
	top: 10px;
  cursor: pointer;
  padding: 0px;
  font-size: 14px;
  
}
.PushMenu .submenu_open i{
	transform: rotate(90deg);
  	transition: all 0.3s ease;
}

.PushMenu .submenu_open.active i {
  transform: rotate(-90deg);
  
}
.PushMenu .menu-item-has-children > a{
	padding-right: 20px;
}


/*Floating Menu*/
.FloatingMenuContainer{
	position: fixed;
	left: 0;
	top:50%;
	transform: translate(-120px, -50%);
	transition: transform 0.3s ease;
	z-index: 9999;
}
.FloatingMenu{
	margin: 0px;
	padding: 0px;
}
.FloatingMenu li{
	display: block;
	list-style-type: none;
	margin: 0 0 1px;
	padding: 0px;
	text-indent: 0px;
}
.FloatingMenu li a{
	display: block;
	padding: 7px 10px;
	box-sizing: border-box;
	width: 120px;
	background-color: #023C7B;
	color: #fff;
	text-decoration: none;
	transition: all ease 0.2s;
	font-size: 11px;
	line-height: 1.6;
}
.FloatingMenu li a:hover{
	background-color: #ab0319;
}

/* When active → slide in */
.FloatingMenuContainer.active {
  transform: translate(0px, -50%);
}
/* Vertical button attached to edge */
.quick-links {
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  background: #ab0319;
  font-size: 16px;
  color: #fff;
  border: none;
  padding: 12px 8px;
  border-radius: 0px;
  cursor: pointer;
  position: absolute;
  top: 50%;
  right: -32px;   /* hangs outside */
  transform: translateY(-50%) rotate(180deg);
}

/************************************************
 * 5. Banner
 ************************************************/

/* Banner Wrapper */
.HomeBanner {
  position: relative;
  overflow: hidden;
  z-index: 0;
  padding: 0;
}

.homeSliderWrap{
	padding: 20px 20px 0px 20px;
}

#homeSlider {
  position: relative;
  z-index: 1;
  border-top-left-radius: 60px;
	border-top-right-radius: 60px;
	overflow: hidden;
}

#homeSlider .slick-track {
  display: flex;
  align-items: stretch;
}

#homeSlider .homeSlider_item {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 620px;
  height: inherit;
  overflow: hidden;
}

#homeSlider .homeSlider_item .homeSlideBg,
#homeSlider .homeSlider_item.slick-cloned .homeSlideBg {
  position: absolute;
  inset: 0;
  background: center / cover no-repeat;
  transform: scale(1);
}

/* Overlay */
#homeSlider .homeSlider_item .slideOverlay {
  position: absolute;
  inset: 0;
  background-color: rgba(0, 0, 0, 0);
}

#homeSlider .homeSlider_item .slideOverlay::before,
.slideOverlayFromLeft {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 35%;
}

#homeSlider .homeSlider_item .slideOverlay::after,
.slideOverlayFromBottom {
  content: "";
  position: absolute;
  top: 70%;
  bottom: 0;
  width: 100%;
}

#homeSlider .slideOverlayFromTop {
  display: none;
  content: "";
  position: absolute;
  top: 0;
  bottom: 50%;
  width: 100%;
}

/* Slider Content */
.homeSliderContentWrap {
  position: relative;
  width: 100%;
}

.homeSliderContent {
  box-sizing: border-box;
  padding: 8% 0 6%;
  line-height: 1.5;
  color: #fff;
  text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.6);
  opacity: 0;
  transform: translateY(100px);
  animation: sliderOut 0.5s ease forwards;
  transition: all 0.3s ease;
}

.homeSliderContent hr {
  background-color: rgba(255, 255, 255, 0.5);
}

#homeSlider .homeSlider_item.slick-active .homeSliderContent {
  animation: sliderIn 0.5s ease forwards;
  animation-delay: 0.5s;
}

/* Animations */
@keyframes sliderIn {
  0% {
    transform: translateY(100px);
    opacity: 0;
    filter: blur(30px);
  }
  100% {
    transform: translateY(0);
    opacity: 1;
    filter: blur(0);
  }
}

@keyframes sliderOut {
  0% {
    transform: translateY(0);
    opacity: 0;
    filter: blur(0);
  }
  100% {
    transform: translateY(100px);
    opacity: 1;
    filter: blur(30px);
  }
}

/* Dots */
#wrap #homeSlider .slick-dots {
  position: absolute;
  bottom: 30px;
  width: 100%;
  z-index: 9;
  display: flex;
  justify-content: center;
  align-items: center;
}

#wrap #homeSlider .slick-dots li button {
  border-color: #fff !important;
  background-color: #fff !important;
}

/* Audio Control */
#bannerAudio {
  position: absolute;
  visibility: hidden;
  z-index: -999;
}

#playMusic {
  display: none;
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 5px;
  font-size: 20px;
  color: #fff;
  mix-blend-mode: difference;
  cursor: pointer;
}

#playMusic.visible {
  display: flex;
}


.alignCenter {
	text-align: center;
}

.table {
	display: table;
	table-layout: fixed;
	width: 100%;
}

.table.rtl {
	direction: rtl;
}

.tableCell {
	display: table-cell;
	vertical-align: top;
	box-sizing: border-box;
	direction: ltr;
}

.titleTable {
	display: table;
	margin: 0 -20px;
}

.titleCell {
	display: table-cell;
	padding: 0 20px;
	vertical-align: middle;
}

/*Home page Custom blocks*/
.awards-accolades-list{
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	margin: 0 -15px;
}
.award-item{
	padding: 15px;
	box-sizing: border-box;
	width: 33.33%;
	display: flex;
	align-items: stretch;
}
.award-box{
	padding: 24px;
	background-color: #023C7B;
	color: #fff;
	border-radius: 5px;
}
.award-header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-bottom: 20px;
}
.award-icon{
	display: block;
	width: 55px;
}
.award-number{
	font-size: 460%;
	color: transparent; /* makes the inside of text invisible */
    -webkit-text-stroke: 1px #fff; /* outline thickness + color */
}


/*HOme Facutlty*/
.faculty_grid{
	align-items: stretch;
}
.faculty_grid .blog_holder{
	display: flex;
	align-items: stretch;
}
.faculty_data_wrap{
	padding: 24px;
	border: 1px solid #023C7B;
	border-bottom: 3px solid #023C7B;
	border-radius: 5px;
	transition: all ease 0.4s;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.faculty_data_wrap:hover{
	background-color: #023C7B;
	color: #fff;
	border-color: #023C7B;
}
.faculty_data_wrap:hover a{
	color: #fff;
}
.faculty_title_link, .faculty_title_link:hover{
	text-decoration: none;
}
.faculty_data_wrap:hover .faculty_icon img {
  filter: brightness(0) invert(1);
}

.faculty_data_wrap .arrow-link{
	font-size: 24px;
	color: #AB0319;
}


/*Partners Grid*/
.partners-logo_grid{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin: 0 -10px;
}
.partner-logo{
	box-sizing: border-box;
	padding: 10px;
	width: 20%;
}

/*Home Contact*/
.contact-overlay-bg{
	position: relative;
}
.contact-overlay-bg:after{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	bottom: 50%;
	left: 0;
	right: 0;
	background-color: rgba(2,60,123,0.05);
}

/* Testimonial Shortcode */
.testimonial_shortcode_wrap {
	padding: 3% 0;
	margin: 0 auto;
	text-align: left;
}

#wrap .slick-slide.testimonial_item {
	display: flex;
	padding: 1vw;
	box-sizing: border-box;
}

.testimonial_wrap {
	display: block;
	padding: 7%;
	border: 1px solid #000;
	border-radius: 0;
	background: #000;
	color: #fff;
	box-sizing: border-box;
	transform: translateY(0);
	transition: transform 0.3s ease-out;
}

.testimonial_item:hover .testimonial_wrap {
	transform: translateY(-10px);
}

.client_stars {
	display: inline-flex;
	gap: 5px;
	padding-bottom: 15px;
	color: #FFA52A;
	cursor: pointer;
}

.client_info_wrap {
	display: flex;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	padding-top: 20px;
}

.client_photo {
	width: 80px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: hidden;
	background-position: center;
	background-size: cover;
}

.testimonial_item:hover .client_photo {
	animation: pulse 1s ease infinite alternate;
}

.client_info {
	text-align: right;
	padding-right: 15px;
}

.client_info p {
	margin: 0;
	line-height: 1;
}

.client_name {
	font-weight: 600;
	padding-bottom: 5px;
	color: #fff;
}

.client_position {
	font-size: 14px;
	font-style: italic;
}

#wrap .testimonial_shortcode_wrap .slick-dots {
	text-align: center;
}

/* Hover animations for stars */
.testimonial_item:hover .client_stars > i {
	animation: pulse2 0.6s ease-in-out infinite;
}

.testimonial_item:hover .client_stars > i:nth-child(1) { animation-delay: 0s; }
.testimonial_item:hover .client_stars > i:nth-child(2) { animation-delay: 0.1s; }
.testimonial_item:hover .client_stars > i:nth-child(3) { animation-delay: 0.2s; }
.testimonial_item:hover .client_stars > i:nth-child(4) { animation-delay: 0.3s; }
.testimonial_item:hover .client_stars > i:nth-child(5) { animation-delay: 0.4s; }

/* Animations */
@keyframes pulse2 {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.3); }
}

@keyframes ripple-loader {
	0% {
		width: 0;
		height: 0;
		opacity: 1;
	}
	75% {
		width: 35px;
		height: 35px;
		opacity: 0;
	}
}

/**************************
###########################
****************************/
/* Animations */
.animation,
.animateAfterLoad {
	opacity: 0;
	transition: all ease 0.5s;
	transition-delay: 0s;
}

.animation.in-view,
.animateAfterLoad.in-view {
	opacity: 1;
}

/* Slide Animations */
.animation.slide-up,
.animateAfterLoad.slide-up {
	transform: translateY(50px);
}

.animation.slide-up.in-view,
.animateAfterLoad.slide-up.in-view {
	transform: translateY(0);
}

.animation.slide-left {
	transform: translateX(50px);
}

.animation.slide-left.in-view {
	transform: translateX(0);
}

.animation.slide-right {
	transform: translateX(-50px);
}

.animation.slide-right.in-view {
	transform: translateX(0);
}

.animation.slide-down {
	transform: translateY(-50px);
}

.animation.slide-down.in-view {
	transform: translateY(0);
}

/* Delay classes */
.delay_2nd { transition-delay: 0.4s; }
.delay_3rd { transition-delay: 0.5s; }
.delay_4th { transition-delay: 0.6s; }
.delay_5th { transition-delay: 0.7s; }

/* Custom Animations */
.pulse { animation: pulse 0.5s linear infinite; }
@keyframes pulse {
	0%, 100% { transform: scale(1); }
	50% { transform: scale(1.15); }
}

.flash { animation: flash 0.5s ease infinite alternate; }
@keyframes flash {
	from { opacity: 1; }
	to { opacity: 0; }
}

.spin { animation: spin 1s infinite linear; }
@keyframes spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(360deg); }
}

.elastic-spin { animation: elastic-spin 1s infinite ease; }
@keyframes elastic-spin {
	from { transform: rotate(0deg); }
	to { transform: rotate(720deg); }
}

.hithere { animation: hithere 1s ease infinite; }
@keyframes hithere {
	30% { transform: scale(1.2); }
	40%, 60% { transform: rotate(-20deg) scale(1.2); }
	50% { transform: rotate(20deg) scale(1.2); }
	70% { transform: rotate(0deg) scale(1.2); }
	100% { transform: scale(1); }
}

.bounce { animation: bounce 1s ease-out infinite alternate; }
@keyframes bounce { 0% { transform: translateY(0); } 100% { transform: translateY(-30px); } }

.bounce2 { animation: bounce2 2s ease infinite; }
@keyframes bounce2 {
	0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
	40% { transform: translateY(-30px); }
	60% { transform: translateY(-15px); }
}

.shake { animation: shake 2s ease infinite; }
@keyframes shake {
	0%, 100% { transform: translateX(0); }
	10%, 30%, 50%, 70%, 90% { transform: translateX(-10px); }
	20%, 40%, 60%, 80% { transform: translateX(10px); }
}

.flip {
	backface-visibility: visible !important;
	animation: flip 2s ease infinite;
}
@keyframes flip {
	0% { transform: perspective(400px) rotateY(0); animation-timing-function: ease-out; }
	40% { transform: perspective(400px) translateZ(150px) rotateY(170deg); animation-timing-function: ease-out; }
	50% { transform: perspective(400px) translateZ(150px) rotateY(190deg) scale(1); animation-timing-function: ease-in; }
	80% { transform: perspective(400px) rotateY(360deg) scale(.95); animation-timing-function: ease-in; }
	100% { transform: perspective(400px) scale(1); animation-timing-function: ease-in; }
}

.swing {
	transform-origin: top center;
	animation: swing 2s ease infinite;
}
@keyframes swing {
	20% { transform: rotate(15deg); }
	40% { transform: rotate(-10deg); }
	60% { transform: rotate(5deg); }
	80% { transform: rotate(-5deg); }
	100% { transform: rotate(0deg); }
}

.wobble { animation: wobble 2s ease infinite; }
@keyframes wobble {
	0% { transform: translateX(0%); }
	15% { transform: translateX(-25%) rotate(-5deg); }
	30% { transform: translateX(20%) rotate(3deg); }
	45% { transform: translateX(-15%) rotate(-3deg); }
	60% { transform: translateX(10%) rotate(2deg); }
	75% { transform: translateX(-5%) rotate(-1deg); }
	100% { transform: translateX(0%); }
}

.bounce-in-right { animation: bounce-in-right 2s ease infinite alternate; }
@keyframes bounce-in-right {
	0% { opacity: 0; transform: translateX(1000px); }
	60% { opacity: 1; transform: translateX(-30px); }
	80% { transform: translateX(10px); }
	100% { transform: translateX(0); }
}

.gelatine { animation: gelatine 0.5s infinite; }
@keyframes gelatine {
	from, to { transform: scale(1,1); }
	25% { transform: scale(0.9, 1.1); }
	50% { transform: scale(1.1, 0.9); }
	75% { transform: scale(0.95, 1.05); }
}

/***Responsive Iframe***/
.iframeWrapper {
	position: relative;
	padding-bottom: 56.25%;
	/* 16:9 */
	padding-top: 0px;
	height: 0;
}

.iframeWrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	max-width: 100% !important;
}


/************************************************
*                  Social Media                 *
************************************************/

.social-icons {
	display: block;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 0;
}

.social-icons span {
	display: inline-block;
	margin: 0;
	padding: 0 10px;
	vertical-align: middle;
}

.social-icons span:first-child {
	padding-left: 0;
}

.social-icons span:last-child {
	padding-right: 0;
}

.social-icons span .fa {
	min-width: 0;
	line-height: 1;
}

.social-icons span a {
	font-size: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: none;
	color: #1A1818;
	text-align: center;
	text-decoration: none;
	margin: 0;
	padding: 0;
	border-radius: 3px;
	box-sizing: border-box;
	transform: scale(1);
	transition: all 0.3s ease;
}

.social-icons span a:hover {
	transform: scale(1.2);
}

.social-icons .custom_icon {
	width: 24px;
	display: block;
}

/************************************************
*                     Pagination                *
************************************************/

.pagination {
	float: none;
	display: block;
	width: 100%;
	font-weight: 400;
	text-align: center;
	line-height: 0;
	margin: 40px 0 0;
	padding: 40px 0 0;
	position: relative;
	z-index: 9;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.pagination .page-numbers {
	display: inline-block;
	font-size: 26px;
	text-decoration: none;
	margin: 0;
	padding: 0 7px;
	line-height: 1;
	position: relative;
	opacity: 0.4;
}

.pagination .page-numbers:last-child:after {
	display: none;
}

.pagination .page-numbers:hover,
.pagination .page-numbers:active {
	opacity: 1;
}

.pagination .page-numbers.current {
	text-decoration: none;
	opacity: 1;
}

.post-navigation {
	display: block;
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.previous-post {
	float: left;
	font-size: 0.9em;
}

.next-post {
	float: right;
	font-size: 0.9em;
}

.page-links {
	display: block;
	overflow: hidden;
	margin: 12px 0;
}

.page-links .link-label {
	color: #111;
	font-weight: bold;
	margin-left: 0;
}

.page-links span {
	margin: 0 3px;
}

/************************************************
*                  Page Banner                  *
************************************************/

.pagebannerWrap {
	position: relative;
}

.page-banner {
	width: 100%;
	position: relative;
	line-height: normal;
	margin: 0;
	z-index: 0;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	text-align: center;
}

.page-banner .page_title {
	display: block;
	margin: 0;
	position: relative;
}

.page-banner .postBanner.page_title {
	padding-top: 10%;
}

.pagebannerBG {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	opacity: 1;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.pagebuilder-pagebanner {
	position: relative;
}

/************************************************
Blog Page Template              *
************************************************/
.page-template-template-blog .postarea{
	padding: 6% 0;
}
.blog_page {
	padding: 0;
	margin: 0 -15px;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center;
}

.productList .blog_page {
	margin: 0 -1vw;
}

.blog_holder {
	width: 33.33%;
	padding: 15px;
	border: none;
	box-sizing: border-box;
}

.blog_holder.col-1 {
	width: 100%;
}

.blog_holder.col-2 {
	width: 50%;
}

.blog_holder.col-3 {
	width: 33.33%;
}

.blog_holder.col-4 {
	width: 25%;
}

.blog_holder.col-5 {
	width: 20%;
}

.blog_data_wrap {
	width: 100%;
	box-sizing: border-box;
	position: relative;
	padding: 0px;
	border-radius: 20px;
	overflow: hidden;
	background-color: #fff;
	box-shadow: 0px 0px 10px rgba(0,0,0,0.1);
}
.blog_img,
.blog_data {
	width: 100%;
}

.blog_img {
	overflow: hidden;
	border-radius: 0;
}

.blog_img a {
	display: flex;
	height: 100%;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: 55%;
	width: 100%;
	transform: scale(1);
	-webkit-transform: scale(1);
	transition: all 0.4s ease;
	-webkit-transition: all 0.4s ease;
}

.blog_data_wrap:hover .blog_img a {
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
}

.blog_img a img {
	display: block;
	visibility: hidden;
}

.blog_data {
	padding: 20px;
	box-sizing: border-box;
	bottom: 0;
	transition: all 0.4s ease;
}

.blog_data_wrap:hover .blog_data {
	bottom: 3vw;
}

.blog_data .post_date {}

.blog_data .blog_title {}

.blog_data .blog_title .blog_title_link {
	text-decoration: none !important;
}

.blog_data_wrap:hover .blog_title a {}

.blog_data .blog_excerpt {
	padding: 0;
}

.blog_data .button {
	margin: 0;
	white-space: nowrap;
}

.blog_data .link-button {
	font-size: 14px;
	text-decoration: underline;
}
.blog_card_categories{
	display: block;
	margin: 0;
	padding: 0;
	font-size: 12px;
}
.blog_card_categories li{
	display: inline-block;
	padding: 0px 5px;
	text-indent: 0px;
	position: relative;
	line-height: 1;
}
.blog_card_categories li:after{
	content: " ";
	display: block;
	border-right: 1px solid #333;
	height: 12px;
	position: absolute;
	top: 0;
	right: -2px;
	line-height: 1;
}
.blog_card_categories li a{
	text-decoration: none;
}
.blog_card_categories li:first-child{
	padding-left: 0;
}
.blog_card_categories li:last-child{
	padding-right: 0;
}
.blog_card_categories li:last-child:after{
	display: none;
}

/************************************************
Single Blog Post             *
************************************************/
.post-template-default.single h2{
	font-size: 30px;
}
.single .postarea, .error404 .postarea{
	padding: 6% 0;
}
.postarea.no-padding{
	padding: 0px !important;
}

/* Post Links */
.post_links {
	text-align: left;
	display: table;
	width: 100%;
}

.post_link {
	display: table-cell;
	vertical-align: middle;
	width: 33.33%;
	padding: 0 5px;
}

.post_link.previous_post {
	text-align: right;
}

.post_link.next_post {
	text-align: left;
}

/* Post Title & Image */
.PostTitle {
	max-width: 85%;
	margin: 0 auto 2.5%;
	text-align: center;
}

.PostImg {
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	margin-bottom: 30px;
}

.PostImg img {
	width: 100%;
	display: block;
}

.post_title {}

/* Post Info */
.postInfo {
	text-align: left;
	padding-bottom: 15px;
}

.postCat {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.postCat li {
	display: inline-block;
	margin: 0;
	padding: 0;
}

.post_date {
	display: block;
}

/* Post Navigation */
.post_nav {
	display: table;
	table-layout: fixed;
	width: 100%;
	padding:30px 0px;
	font-family: "Oswald", sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 1;
}

.post_nav_cell {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	padding: 0 0 15px;
}

.post_nav_cell a {
	text-transform: none;
	text-decoration: none !important;
}

.post_nav_cell a:hover {
	text-decoration: none !important;
}

.post_nav_cell.left_cell {
	text-align: left;
}

.post_nav_cell.right_cell {
	text-align: right;
}

.post_nav_cell.left_cell a,
.post_nav_cell.right_cell a {}

/* Related Posts */
.relatedPosts {
	padding: 5% 0;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	background-color: #f5f5f5;
}

.relatedPosts .related_title {
	text-align: center;
	padding-bottom: 30px;
}

/* Top Bar */
.topbar {}

.topbar ul {
	display: block;
	margin: 0;
	padding: 0;
	text-align: center;
}

.topbar ul li {
	margin: 0;
	padding: 2px;
	display: inline-block;
	position: relative;
}

.topbar ul li:after {
	content: "";
	display: block;
	height: 16px;
	border-right: 1px solid rgba(0, 0, 0, 0.5);
	top: 50%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	right: 0;
	position: absolute;
}

.topbar ul li:last-child:after {
	display: none;
}

.topbar ul li a {
	display: block;
	padding: 5px 15px;
	border: none;
	text-decoration: none;
	text-transform: none;
	transition: all 0.3s ease;
	-webkit-transition: all 0.3s ease;
}

.topbar ul li a:hover {
	text-decoration: underline;
}

.topbar ul li.current a {}


/*ISBAT Single faculty*/
.facultiesSection{
	background-color: #f9f9f9;
	padding: 6% 0;
	position: relative;
}
.facultiesSection:before,
.facultiesSection:after{
	content: " ";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	background-color: #f9f9f9;
}
.facultiesSection:before{
	left: -100%;
	right: 100%;
}
.facultiesSection:after{
	right: -100%;
	left: 100%;
}

.facultyHeader{
	display: flex;
	flex-direction: row;
	align-items: center;
	flex:1;
	padding-bottom: 30px;
}
.facultyImage{
	max-width: 400px;
}
.facultyInfo{
	padding-left: 40px;
}
.facultyImage, .facultyInfo{
	flex: 1;
	box-sizing: border-box;
}

.facultyList{
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	margin: 0px -15px;
}
.facultyListItem{
	box-sizing: border-box;
	width: 25%;
	padding: 15px;
	text-align: center;
}
.facultyListThumbWrap, .facultyThumbWrap{
	display: block;
	overflow: hidden;
	transition: all ease 0.3s;
}
.facultyListThumb, .facultyThumb{
	display: block;
	width: 100%;
	padding-bottom: 100%;
	background-size: cover;
	background-repeat: no-repeat;
	transform: scale(1);
	transition: all ease 0.3s;
}
.facultyListName{
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
}
.facultyListDesig{
	font-weight: 600;
}
.facultyListQual{
	font-size: 16px;
}
.facultyListItem:hover .facultyListThumb, .facultyImage:hover .facultyThumb{
	transform: scale(1.05);
}
/************************************************
*               Image & Captions               *
************************************************/

img.aligncenter {
	display: block;
	margin: 6px auto;
	padding: 0;
}

img.alignnone {
	display: inline;
	margin: 6px 0;
	padding: 0;
}

img.alignright {
	display: inline;
	margin: 12px 0 12px 24px;
	padding: 0;
}

img.alignleft {
	display: inline;
	margin: 12px 24px 12px 0;
	padding: 0;
}

.aligncenter {
	display: block;
	margin: 6px auto;
}

.alignright {
	float: right;
	margin: 6px 0 6px 24px;
}

.alignleft {
	float: left;
	margin: 6px 24px 6px 0;
}

.wp-caption {
	background: #eeeeee;
	max-width: 100%;
	text-align: center;
	margin: 12px 0;
	padding: 8px 6px;
	border-radius: 3px;
}

.wp-caption img {
	max-width: 100%;
	margin: 0 auto;
	padding: 0;
}

.wp-caption p.wp-caption-text {
	display: block;
	font-size: 0.85em;
	line-height: 1.6;
	margin: 0;
	padding: 0;
}

/************************************************
Sidebar 	        		    	    *
************************************************/

.sidebar {
	margin: 0px;
	padding: 0px 0px 0px 24px;
}

.sidebar.left {
	padding: 0px 24px 0px 0px;
}

.sidebar h6{
	margin-bottom: 12px;
	padding-bottom: 0px;
	border-bottom: none;
}

.sidebar h6 {
	border-bottom: 1px solid #111;
	padding: 0px 0px 10px;
}

/************************************************
Sidebar Widgets									*
************************************************/

.sidebar .widget {
	margin-bottom: 24px;
	padding: 0px;
}

.sidebar .widget ul,
.sidebar .widget li {
	list-style-type: none;
	margin: 0px;
	padding: 0px;
}

.sidebar .widget li {
	display: block;
	margin: 6px 0px 0px 0px;
	padding: 6px 0px 0px 0px;
}

.sidebar .widget li:last-child {
	padding-bottom: 6px;
}

.sidebar .widget li li {
	padding-left: 12px;
	display: block;
	list-style-type: none;
}

.sidebar .widget li li:last-child {
	padding-bottom: 0px;
	border-bottom: none;
}

.sidebar .widget li a {
	margin: 0px;
	padding: 0px;
	text-decoration: none;
}

.sidebar .textwidget {
	margin: 0px;
	padding: 0px;
}

.tagcloud {
	line-height: 1.2;
}

/************************************************
*                    Tables                     *
************************************************/

table {
	width: 100%;
	margin: 20px 0;
	padding: 0;
	background: none;
	border-collapse: collapse;
}

.widget table {
	margin: 0;
}

table thead,
table tfoot {
	border: 1px solid #eee;
}

table thead th,
table tfoot td {
	border: none;
}

table th {
	font-size: 1.2em;
	text-align: center;
	padding: 10px;
	margin: 0;
	border: 1px solid #eee;
}

table td {
	padding: 10px;
	margin: 0;
	border: 1px solid #eee;
}

.no-border th,
.no-border td {
	border: none !important;
}

/************************************************
*                    Forms                      *
************************************************/

/* General Form Styles */
.container .ginput_complex .ginput_right br,
.container .gform_footer br {
	display: none;
}

form {
	display: block;
}

form ul li {
	list-style: none;
	padding: 0;
}

form fieldset {
	padding: 0;
	border: none;
}

form legend {
	font-weight: bold;
	padding-top: 10px;
}

form label {
	margin-top: 15px;
	display: block;
}

/* Inputs, Textareas, Selects */
form input[type='url'],
form input[type='tel'],
form input[type='email'],
form input[type='text'],
form input[type='password'],
form input[type='number'],
form input[type='search'],
form textarea,
form select {
	display: block;
	width: 100%;
	background-color: transparent;
	line-height: 1;
	font-family: inherit;
	font-size: 18px;
	margin: 15px 0;
	padding: 15px 20px;
	border: 1px solid rgba(2, 60, 123, 0.8);
	box-shadow: 1px 1px 2px rgba(0,0,0,0.2);
	font-weight: 400;
	border-radius: 10px;
	-webkit-appearance: none;
	box-sizing: border-box;
}

form textarea {
	width: 100% !important;
}

form input[type='checkbox'],
form input[type='radio'] {
	margin-left: 0;
	margin-right: 6px;
	width: 15px;
	height: 15px;
}

form select {
	appearance: none;
	-moz-appearance: none;
	-webkit-appearance: none;
	background-image: url("../images/select.png");
	background-repeat: no-repeat;
	background-position: 97% center;
	line-height: 1.5;
}

/* Placeholder Styles */
::-webkit-input-placeholder { color: #000; opacity: 0.8; }
::-moz-placeholder { color: #000; opacity: 0.8; }
:-ms-input-placeholder { color: #000; opacity: 0.8; }
:-moz-placeholder { color: #000; opacity: 0.8; }

/* Dark Theme */
.dark-theme form input,
.dark-theme form textarea,
.dark-theme form select {
	color: #fff;
	border: 1px solid rgba(255, 255, 255, 0.3);
}

.dark-theme ::-webkit-input-placeholder { color: #fff; opacity: 0.8; }
.dark-theme ::-moz-placeholder { color: #fff; opacity: 0.8; }
.dark-theme :-ms-input-placeholder { color: #fff; opacity: 0.8; }
.dark-theme :-moz-placeholder { color: #fff; opacity: 0.8; }

/* Formidable Forms */
.frm_submit:before,
#frm_field_10_container::before {
	content: " ";
	display: block;
	clear: both;
}

.frm_submit {
	margin-top: 6px;
	display: block;
	width: 100%;
	float: none;
}

.frm_error,
.frm_error_style {
	font-size: 16px;
	color: #F00;
}

/* Forminator */
.hide-label .forminator-label { display: none; }

.forminator-label {
	margin-top: 0;
	font-weight: 600;
	display: inline-block;
}

.forminator-consent { margin-top: 0; }

.forminator-description {
	font-size: 16px;
	font-style: italic;
	color: #dd1a32;
}

label.forminator-checkbox { margin-top: 5px; }

.forminator-row { margin-bottom: 15px !important; }
.forminator-row .forminator-no-margin { margin-bottom: 0 !important; }

.forminator-error-message { font-size: 14px; color: #FF0000; }

#wrap .forminator-ui.forminator-custom-form:not(.forminator-size--small)[data-grid=open] 
.forminator-row .forminator-no-margin .forminator-col {
	margin-bottom: 0;
}

.forminator-response-message { margin-bottom: 20px; }

.forminator-response-message.forminator-error,
.forminator-response-message.forminator-accessible {
	display: none !important;
}

.forminator-response-message.forminator-success {
	background-color: #007706;
	color: #fff;
	padding: 10px;
}

.forminator-response-message.forminator-accessible {
	background-color: #FF0000;
	color: #fff;
	padding: 10px;
}
label.forminator-checkbox{
	margin-top: 0px;
}

.forminator-response-message > ul { padding: 0; }
.forminator-response-message > ul li { text-indent: 0; }

.forminator-checkbox__wrapper { display: flex; align-items: center; }

.forminator-input,
.forminator-select2 { margin: 0 !important; }

/* International Telephone Input (ITI) */
#wrap .iti { display: block; }
#wrap .iti input,
#wrap .iti input[type=tel],
#wrap .iti input[type=text] { /*margin: 10px 0 !important;*/ }

/* Signup Form */
.signup_form input[type='email'] { margin: 0; text-align: center; }

.signup_form .frm_submit { margin: 20px 0 0; padding: 0; }
.signup_form .frm_submit .frm_button_submit { border-radius: 0; margin: 0; }

.signup_form .frm_form_fields .frm_fields_container { grid-gap: 0; }


/************************************************
*                    Buttons                    *
************************************************/

/* General Button Styles */
a.button,
#submit,
.button,
button,
input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	z-index: 1;
	text-align: center;
	line-height: 1;
	margin: 2px 0;
	border: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	text-decoration: none;
	text-transform: none;
	box-shadow: none;
	cursor: pointer;
	transition: all 0.5s ease;
}

.button.small {
	padding: 8px 15px;
	font-size: 12px;
}

.button.full {
	width: 100%;
	display: flex;
}

/* Primary Button Variants */
.button.white {
	background-color: #fff;
	color: #000 !important;
}
.button.white:hover {
	background-color: #FFCF1C;
	color: #000 !important;
}

.button.black {
	background-color: #000;
	color: #fff !important;
}
.button.black:hover {
	background-color: #FFCF1C;
	color: #000 !important;
}

.button.blue {
	background-color: #2C2F85;
	color: #fff !important;
	border: 1px solid #2C2F85;
}
.button.blue:hover {
	background-color: #F46F24;
	color: #fff !important;
	border: 1px solid #F46F24;
}

/* Secondary & Outline Buttons */
.button.outline,
button.outline {

}
.button.outline:hover,
button.outline:hover {
}

.button.outlinewhite,
button.outlinewhite {
	background-color: transparent;
	color: #fff !important;
	border: 1px solid #fff;
}
.button.outlinewhite:hover,
button.outlinewhite:hover {
	background-color: #fff;
	color: #232323 !important;
}

/* Link Button */
.link-button {
	display: inline-block;
	padding: 6px 0;
	margin: 0;
	background: none;
	position: relative;
	text-transform: capitalize;
	line-height: 1;
}
.link-button:hover {
}

/************************************************
*                WooCommerce Buttons           *
************************************************/

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce ul.products li.product .button,
.woocommerce #respond input#submit.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt {
	font-size: 14px;
	padding: 10px;
}

.woocommerce button.button.alt.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.woocommerce button.button.alt.disabled:hover {
	background-color: #4fa700 !important;
	cursor: not-allowed;
}

/************************************************
*                   WooCommerce                *
************************************************/

/* Shop Menu */
.ShopMenu {
	width: 100%;
	display: block;
	margin: 4vw 0 0 0;
	padding: 20px;
	background-color: #232323;
	text-align: center;
}

.ShopMenu li {
	display: inline-block;
	padding: 0 10px;
}

.ShopMenu li a {
	font-family: 'Bebas Neue';
	color: #fff;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 1px;
}

.ShopMenu li.current-menu-item a {
	text-decoration: underline;
}

/* Shop Blog */
#ShopBlog {
	background-color: #8BC0C0;
	position: relative;
}

#ShopBlog:before {
	content: "";
	display: block;
	width: 100%;
	position: absolute;
	bottom: 100%;
	height: 30vh;
	z-index: 0;
	background-color: #8BC0C0;
}

/* Shop Loop */
.shopLoopWrapper {
	display: block;
	clear: both;
}

.shopLoopWrapper:after {
	content: "";
	display: block;
	clear: both;
	float: none;
}

.woocommerce ul.products .product-category.categoryItem {
	width: 33.33% !important;
	margin: 0;
	padding: 2vw;
	box-sizing: border-box;
	background-color: transparent !important;
}

.woocommerce ul.products .product-category.categoryItem > a {
	position: relative;
	display: block;
}

.woocommerce ul.products .product-category.categoryItem > a:after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 0;
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0) 0%,
		rgba(0, 0, 0, 0.3) 100%
	);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#000000", endColorstr="#000000", GradientType=1);
}

.woocommerce ul.products {
	margin: 0 -10px;
	display: flex;
	flex-wrap: wrap;
	height: auto !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: 25%;
	margin: 0 !important;
	padding: 15px 15px 30px;
	box-sizing: border-box;
	text-align: center;
	float: none;
}

.woocommerce ul.products.columns-3 li.product,
.woocommerce-page ul.products.columns-3 li.product {
	width: 33.33%;
}

.woocommerce ul.products li.product .price {
	font-size: 18px;
	color: #4fa700;
	font-weight: 700;
	padding-bottom: 5px;
}

.woocommerce ul.products li.product .shopItemWrapper {
	text-align: left;
	padding: 0;
}

.woocommerce ul.products li.product a {
	color: #000;
}

.woocommerce ul.products li.product a img {
	margin: 0;
	border: 1px solid rgba(0, 0, 0, 0.1);
	padding: 10px;
	box-sizing: border-box;
}

.woocommerce ul.products li.product .woocommerce-loop-category__title {
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 1;
	text-transform: uppercase;
	font-size: 24px;
	color: #fff;
	padding: 1.5vw;
	line-height: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h3 {
	font-family: "Poppins", sans-serif;
	font-size: 14px;
	font-weight: 600;
	padding: 10px 0;
	margin: 0;
}

.tp-image-wrapper {
	border-radius: 10px;
	overflow: hidden;
}

/* Shop Page */
.woocommerce .woocommerce-ordering {
	float: none;
	text-align: center;
	margin-bottom: 50px;
}

.woocommerce .woocommerce-ordering select {
	display: inline-block;
	width: auto;
}

.woof_container_inner h4 {
	font-size: 18px;
}

/* Single Product */
.wooSummeryWrapper {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
}

.wooSummeryWrapper > .woocommerce-product-gallery,
.wooSummeryWrapper > .entry-summary {
	display: block;
	float: none !important;
	vertical-align: top;
	padding: 0;
	margin: 0;
	box-sizing: border-box;
	position: relative;
}

.wooSummeryWrapper > div.woocommerce-product-gallery {
	display: flex;
	width: 45%;
	flex-direction: column;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image a {
	border: 1px solid rgba(0, 0, 0, 0.1);
}

.woocommerce div.product form.cart .button {
	float: none;
}

.wooSummeryWrapper > div.entry-summary {
	padding-left: 5vw;
	width: 55%;
	box-sizing: border-box;
}

.wooSummeryWrapper > div.woocommerce-product-gallery .flex-viewport,
.wooSummeryWrapper > div.woocommerce-product-gallery .flex-control-nav {
	box-sizing: border-box;
}

.wooSummeryWrapper > div.woocommerce-product-gallery .flex-viewport {
	width: 100%;
}

.woocommerce div.product div.images .flex-control-thumbs {
	width: 100%;
	padding-right: 15px;
}

.woocommerce div.product div.images .flex-control-thumbs li {
	width: 20%;
	box-sizing: border-box;
	padding: 2px;
}

.woocommerce div.product .product_title {
	font-size: 20px;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: #4fa700;
	font-size: 24px;
	font-weight: 700;
}

.woocommerce div.product form.cart table {
	border: none;
	background: none;
}

.woocommerce div.product div.images,
.woocommerce div.product div.summary {
	box-sizing: border-box;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	line-height: 1;
	text-align: left;
	font-size: 18px;
	text-transform: uppercase;
}

.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	margin: 0 !important;
}

.woocommerce div.product .stock {
	color: #383838;
}

.woocommerce div.product form.cart div.quantity {
	float: none;
	margin-bottom: 20px;
}

.woocommerce .qty {
	font-weight: 700;
	text-transform: uppercase;
	margin: 0;
	padding-right: 0;
}

.product_meta {
	display: none;
}

.woocommerce div.product form.cart .variations select {
	background-color: transparent;
	color: #373149;
	border: 2px solid #373149;
	background-image: url(images/select-white.png);
}

.woocommerce div.product form.cart .reset_variations {
	color: #383838 !important;
}

.woocommerce-tabs.wc-tabs-wrapper {
	padding: 3vw;
	position: relative;
	background-color: #f7f7f7;
	color: #000;
	margin: 0;
}

.woocommerce-tabs.wc-tabs-wrapper ul.wc-tabs {
	display: none;
}

.woocommerce-checkout-review-order-table th {
	text-align: left;
}

#tab-description {
	z-index: 2;
	position: relative;
}

section.related {
	padding: 6% 0 0;
}

section.related > h2 {
	text-align: center;
	padding: 0 0 5%;
	font-size: 32px;
}

#wrap #pincheck_wrapper .pincheck_inner {
	padding: 0 !important;
}

/* WooCommerce Pagination */
.woocommerce-pagination:before {
	content: " ";
	display: block;
	width: 100%;
	clear: both;
}

.woocommerce-pagination {
	margin-top: 50px;
}

.woocommerce nav.woocommerce-pagination ul {
	border: none;
}

.woocommerce nav.woocommerce-pagination ul li {
	border: none;
	background: none;
}

.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	background: none;
	font-size: 20px;
}

.woocommerce nav.woocommerce-pagination ul li a:focus,
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: none;
}

/* Cart */
.woocommerce-error,
.woocommerce-info,
.woocommerce-message {
	border-top: 5px solid #fec028;
}

.woocommerce-error:before,
.woocommerce-info:before,
.woocommerce-message:before {
	color: #fec028;
}

.woocommerce a.added_to_cart {
	padding-top: 15px;
	float: right;
}

.woocommerce #content table.cart td.actions .input-text,
.woocommerce table.cart td.actions .input-text,
.woocommerce-page #content table.cart td.actions .input-text,
.woocommerce-page table.cart td.actions .input-text {
	width: 50%;
}

#add_payment_method table.cart td.actions .coupon .input-text,
.woocommerce-cart table.cart td.actions .coupon .input-text,
.woocommerce-checkout table.cart td.actions .coupon .input-text {
	padding: 15px;
}

.cart_totals > h2,
.woocommerce-checkout h3 {
	font-size: 24px;
}

.woocommerce-MyAccount-navigation-link.is-active {
	font-weight: 700;
	color: #539b6d;
}

.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme {
	display: block;
	margin: 0 0 15px 0;
}

.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-ResetPassword {
	max-width: 500px;
	margin: 0 auto;
}

.woocommerce h2 {
	display: none;
}

/************************************************
Content 					     	    *
************************************************/

.content {
	max-width: 1450px;
	width: 100%;
	margin: 0px auto 0px;
	padding: 0px 3vw;
	position: relative;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	z-index: 2;
}

.content.wide {
	max-width: 1920px;
}

.content.full {
	max-width: 100%;
}

.content.small {
	max-width: 1000px;
}

.content.no-thumb,
.no-thumb {
	/* optional padding-top removed */
}

/************************************************
*                   27. Grid                    *
************************************************/

#wrap {
	margin: 0 auto;
	padding: 0;
	overflow: hidden;
	width: 100%;
	box-sizing: border-box;
}

.container {
	position: relative;
	margin: 0 auto;
	padding: 0;
	max-width: 100%;
	overflow: visible;
}

.row {
	display: block;
	width: 100%;
	margin: 0 auto;
}

.row .row {
	min-width: 0;
}

.column,
.columns {
	float: left;
	min-height: 1px;
	position: relative;
}

[class*="column"] + [class*="column"]:last-child {
	float: right;
}

/* Widths for common layouts */
.row .single { width: 100%; }
.row .half { width: 49.9%; }
.row .third { width: 33.3%; }
.row .fourth { width: 25%; }
.row .fifth { width: 20%; }

.row .half,
.row .third,
.row .fourth,
.row .fifth {
	float: left;
}

/* Fractional columns */
.row .one   { width: 6.25%; }
.row .two   { width: 12.5%; }
.row .three { width: 18.75%; }
.row .four  { width: 25%; }
.row .five  { width: 31.25%; }
.row .six   { width: 37.5%; }
.row .seven { width: 43.75%; }
.row .eight { width: 50%; }
.row .nine  { width: 56.25%; }
.row .ten   { width: 62.5%; }
.row .eleven { width: 68.75%; }
.row .twelve { width: 75%; }
.row .thirteen { width: 81.25%; }
.row .fourteen { width: 87.5%; }
.row .fifteen { width: 93.75%; }
.row .sixteen { width: 100%; }

.row .centered {
	float: none;
	margin: 0 auto;
}

/* Nicolas Gallagher's micro clearfix */
.row:before,
.row:after,
.clearfix:before,
.clearfix:after {
	content: "";
	display: table;
}

.row:after,
.clearfix:after {
	clear: both;
}

.row,
.clearfix {
	zoom: 1;
}

/************************************************
*             28. SiteOrigin Widgets            *
************************************************/

/* Headline and Sub-headline */
.sow-headline,
.sow-sub-headline {
	padding-top: 0;
	padding-bottom: 0;
}

.sow-headline a {
	text-decoration: none;
}

/* Widget titles */
.so-widget-sow-image .widget-title {
	padding-top: 15px;
}

/* Features List */
.sow-features-list .sow-features-feature h5 {
	margin: 0 !important;
}

.sow-features-list li {
	text-indent: 0;
}

.custom-features-list-style .sow-icon-container-position-left {
	justify-content: space-between;
	padding-bottom: 15px;
	border-bottom: 1px solid #B1B1B1;
}

.sow-features-feature-text > p {
	padding: 5px 0;
}
.blue-hover-box{
	border: 1px solid #023C7B;
	padding: 30px;
	transition: all ease 0.4s;
	box-sizing: border-box;
	
}
.blue-hover-box:hover{
	background-color: #023C7B;
	color: #fff;
}

/* Text Widget adjustments */
.textwidget > p:first-child,
.textwidget > h1:first-child,
.textwidget > h2:first-child,
.textwidget > h3:first-child,
.textwidget > h4:first-child,
.textwidget > h5:first-child,
.textwidget > h6:first-child {
	padding-top: 0;
}

.textwidget > p:last-child,
.textwidget > h1:last-child,
.textwidget > h2:last-child,
.textwidget > h3:last-child,
.textwidget > h4:last-child,
.textwidget > h5:last-child,
.textwidget > h6:last-child {
	padding-bottom: 0;
}

/* Image hover and zoom effects */
.zoom-on-hover .sow-image-container,
.img-hover-effect .sow-image-container {
	overflow: hidden;
}

.zoom-on-hover img,
.img-hover-effect .sow-image-container img {
	transform: scale(1);
	transition: all ease-in-out 0.3s;
}

.zoom-on-hover:hover img,
.img-hover-effect:hover .sow-image-container img {
	transform: scale(1.1);
}

/* Features Box */
.featuresBox .panel-cell-style {
	box-sizing: border-box;
	display: flex;
	align-items: center;
}

.featuresBox .panel-grid-cell .panel-cell-style {
	justify-content: center;
}

/* Specific widget adjustments */
.so-widget-sow-features-default-87de0cfb7def-5142 .sow-features-list {
	gap: 10px;
}

.so-rounded {
	overflow: hidden;
}

.padding-box {
	padding: 20px;
	border-radius: 20px;
	box-sizing: border-box;
	background-color: #fff;
}

/* Video Block Shortcode */
.videoBlock {
	overflow: hidden;
	width: 100%;
	position: relative;
}

.videoBlock > video {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/************************************************
*                29. Slick Slider              *
************************************************/

/* Dots */
#wrap .slick-dots {
	position: relative;
	z-index: 9;
	text-align: center; /* unified alignment */
	box-sizing: border-box;
}

#wrap .slick-dots li {
	height: auto;
	width: auto;
}

#wrap .slick-dots li button {
	border: 2px solid #000;
	border-radius: 50px;
	background: #000 !important;
	mix-blend-mode: multiply;
}

#wrap .slick-dots li.slick-active button {
	opacity: 1 !important;
	background: #000 !important;
	border-color: #000 !important;
}

/* Track & Slide */
#wrap .slick-track {
	display: flex;
	align-items: stretch;
	height: 100% !important;
	margin: 0 auto;
}

#wrap .slick-slide {
	height: auto !important;
}

#wrap .slick-vertical .slick-track {
	display: block;
}

/* Arrows */
#wrap .slick-disabled {
	opacity: 0.5;
}

#wrap .slick-prev,
#wrap .slick-next {
	border: none;
	width: 40px;
	height: 40px;
	border-radius: 60px;
	margin: 0 !important;
	opacity: 1;
	background-color: #4fa700;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}

#wrap .slick-prev:before,
#wrap .slick-next:before {
	font-family: 'FontAwesome';
	color: #fff;
	font-size: 26px;
}

#wrap .slick-prev:hover,
#wrap .slick-next:hover {
	opacity: 1;
	background-color: #000;
}

#wrap .slick-prev:hover:before,
#wrap .slick-next:hover:before {
	color: #fff !important;
}

/* Specific Arrow Positions */
#wrap .slick-prev {
	left: 20px;
	content: "\f104";
}

#wrap .slick-next {
	right: 20px;
	content: "\f105";
}

/************************************************
*          30. Scrolling Text Shortcode        *
************************************************/

.ScrollingTextShortcode {
	display: flex;
	flex-wrap: nowrap;
	padding: 20px 0;
	position: relative;
	overflow: hidden; /* added to prevent overflow outside container */
}

.scrollingTag {
	white-space: nowrap;
	padding: 0 15px;
	animation: marquee 7s linear infinite;
}

.scrollingTag .extra-large {
	font-size: 280%;
}

.ScrollingTextShortcode.hover-effect {
	transition: all 0.3s ease;
}

.ScrollingTextShortcode:hover .hover-effect {
	/* optional hover effects can be added here */
}

.ScrollingTextShortcode .hasLink {
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
}

/* Keyframes for scrolling animation */
@keyframes marquee {
	0% {
		transform: translateX(0%);
	}
	100% {
		transform: translateX(-100%);
	}
}


/***** Play Button Shortcode CSS (Single Red Style, Smaller Pulses) *****/
.playbtn {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    text-decoration: none;
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
    transition: transform 0.2s ease;
    color: inherit; /* text inherits color */
}

.playbtn .play-icon {
    position: relative;
    width: 56px;
    height: 56px;
    min-width: 56px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
}

.playbtn .play-icon .circle {
    position: absolute;
    border-radius: 50%;
    box-sizing: border-box;
    pointer-events: none;
    border: 2px solid #ab0319; /* red circles */
    opacity: 0.6;
}

.playbtn .play-icon .circle.c1 {
    width: 56px;
    height: 56px;
    animation: pb-pulse 1.9s infinite ease-out;
}

.playbtn .play-icon .circle.c2 {
    width: 64px;   /* smaller than before */
    height: 64px;
    left: -4px;
    top: -4px;
    animation: pb-pulse 2.3s infinite ease-out;
}

.playbtn .play-icon .circle.c3 {
    width: 72px;   /* smaller than before */
    height: 72px;
    left: -8px;
    top: -8px;
    animation: pb-pulse 2.9s infinite ease-out;
}

@keyframes pb-pulse {
    0%   { transform: scale(0.85); opacity: 0.6; }
    50%  { transform: scale(1); opacity: 0.25; }
    100% { transform: scale(0.85); opacity: 0; }
}

.playbtn svg.play-triangle {
    width: 36px;
    height: 36px;
    display: block;
    z-index: 3;
    fill: #ffffff; /* always white */
}

.playbtn .play-spot {
    position: absolute;
    z-index: 2;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ab0319; /* solid red center */
}

.playbtn .play-text {
    display: inline-block;
    font-weight: 600;
    line-height: 1.15;
    font-size: 16px;
    color: inherit; /* follows surrounding text color */
}
/* Hover / focus */
.playbtn:hover,
.playbtn:focus {
    transform: translateX(1px);
    text-decoration: none;
}




