/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

 html {
    line-height: 1.15; /* 1 */
    -webkit-text-size-adjust: 100%; /* 2 */
  }
  
  /* Sections
     ========================================================================== */
  
  /**
   * Remove the margin in all browsers.
   */
  
  body {
    margin: 0;
  }
  
  /**
   * Render the `main` element consistently in IE.
   */
  
  /**
   * Correct the font size and margin on `h1` elements within `section` and
   * `article` contexts in Chrome, Firefox, and Safari.
   */
  
  h1 {
    font-size: 2em;
    margin: 0.67em 0;
  }
  
  /* Grouping content
     ========================================================================== */
  
  /**
   * 1. Add the correct box sizing in Firefox.
   * 2. Show the overflow in Edge and IE.
   */
  
  /**
   * 1. Correct the inheritance and scaling of font size in all browsers.
   * 2. Correct the odd `em` font sizing in all browsers.
   */
  
  /* Text-level semantics
     ========================================================================== */
  
  /**
   * Remove the gray background on active links in IE 10.
   */
  
  a {
    background-color: transparent;
  }
  
  /**
   * 1. Remove the bottom border in Chrome 57-
   * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
   */
  
  /**
   * Add the correct font weight in Chrome, Edge, and Safari.
   */
  
  b {
    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.
   */
  
  /**
   * Add the correct font size in all browsers.
   */
  
  /**
   * Prevent `sub` and `sup` elements from affecting the line height in
   * all browsers.
   */
  
  sub {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  
  sub {
    bottom: -0.25em;
  }
  
  /* Embedded content
     ========================================================================== */
  
  /**
   * Remove the border on images inside links in IE 10.
   */
  
  img {
    border-style: none;
  }
  
  /* Forms
     ========================================================================== */
  
  /**
   * 1. Change the font styles in all browsers.
   * 2. Remove the margin in Firefox and Safari.
   */
  
  /**
   * Show the overflow in IE.
   * 1. Show the overflow in Edge.
   */
  
  /**
   * Remove the inheritance of text transform in Edge, Firefox, and IE.
   * 1. Remove the inheritance of text transform in Firefox.
   */
  
  /**
   * Correct the inability to style clickable types in iOS and Safari.
   */
  
  /**
   * Remove the inner border and padding in Firefox.
   */
  
  /**
   * Restore the focus styles unset by the previous rule.
   */
  
  /**
   * Correct the padding in Firefox.
   */
  
  /**
   * 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.
   */
  
  /**
   * Add the correct vertical alignment in Chrome, Firefox, and Opera.
   */
  
  /**
   * Remove the default vertical scrollbar in IE 10+.
   */
  
  /**
   * 1. Add the correct box sizing in IE 10.
   * 2. Remove the padding in IE 10.
   */
  
  /**
   * Correct the cursor style of increment and decrement buttons in Chrome.
   */
  
  /**
   * 1. Correct the odd appearance in Chrome and Safari.
   * 2. Correct the outline style in Safari.
   */
  
  /**
   * Remove the inner padding in Chrome and Safari on macOS.
   */
  
  /**
   * 1. Correct the inability to style clickable types in iOS and Safari.
   * 2. Change font properties to `inherit` in Safari.
   */
  
  /* Interactive
     ========================================================================== */
  
  /*
   * Add the correct display in Edge, IE 10+, and Firefox.
   */
  
  /*
   * Add the correct display in all browsers.
   */
  
  /* Misc
     ========================================================================== */
  
  /**
   * Add the correct display in IE 10+.
   */
  
  /**
   * Add the correct display in IE 10.
   */
  
  /**
   * Manually forked from SUIT CSS Base: https://github.com/suitcss/base
   * A thin layer on top of normalize.css that provides a starting point more
   * suitable for web applications.
   */
  
  /**
   * Removes the default spacing and border for appropriate elements.
   */
  
  
  h1,
  h3,
  p {
    margin: 0;
  }
  
  /**
   * Work around a Firefox/IE bug where the transparent `button` background
   * results in a loss of the default `button` focus styles.
   */
  
  
  ul {
    list-style: none;
    margin: 0;
    padding: 0;
  }
  
  /**
   * Tailwind custom reset styles
   */
  
  /**
   * 1. Use the user's configured `sans` font-family (with Tailwind's default
   *    sans-serif font stack as a fallback) as a sane default.
   * 2. Use Tailwind's default "normal" line-height so the user isn't forced
   *    to override it to ensure consistency even when using the default theme.
   */
  
  html {
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; /* 1 */
    line-height: 1.5; /* 2 */
  }
  
  /**
   * 1. Prevent padding and border from affecting element width.
   *
   *    We used to set this in the html element and inherit from
   *    the parent element for everything else. This caused issues
   *    in shadow-dom-enhanced elements like <details> where the content
   *    is wrapped by a div with box-sizing set to `content-box`.
   *
   *    https://github.com/mozdevs/cssremedy/issues/4
   *
   *
   * 2. Allow adding a border to an element by just adding a border-width.
   *
   *    By default, the way the browser specifies that an element should have no
   *    border is by setting it's border-style to `none` in the user-agent
   *    stylesheet.
   *
   *    In order to easily add borders to elements by just setting the `border-width`
   *    property, we change the default border-style for all elements to `solid`, and
   *    use border-width to hide them instead. This way our `border` utilities only
   *    need to set the `border-width` property instead of the entire `border`
   *    shorthand, making our border utilities much more straightforward to compose.
   *
   *    https://github.com/tailwindcss/tailwindcss/pull/116
   */
  
  *,
  ::before,
  ::after {
    box-sizing: border-box; /* 1 */
    border-width: 0; /* 2 */
    border-style: solid; /* 2 */
    border-color: #e2e8f0; /* 2 */
  }
  
  /*
   * Ensure horizontal rules are visible by default
   */
  
  /**
   * Undo the `border-style: none` reset that Normalize applies to images so that
   * our `border-{width}` utilities have the expected effect.
   *
   * The Normalize reset is unnecessary for us since we default the border-width
   * to 0 on all elements.
   *
   * https://github.com/tailwindcss/tailwindcss/issues/362
   */
  
  img {
    border-style: solid;
  }
  
  h1,
  h3 {
    font-size: inherit;
    font-weight: inherit;
  }
  
  /**
   * Reset links to optimize for opt-in styling instead of
   * opt-out.
   */
  
  a {
    color: inherit;
    text-decoration: inherit;
  }
  
  /**
   * Reset form element properties that are easy to forget to
   * style explicitly so you don't inadvertently introduce
   * styles that deviate from your design system. These styles
   * supplement a partial reset that is already applied by
   * normalize.css.
   */
  
  /**
   * Use the configured 'mono' font family for elements that
   * are expected to be rendered with a monospace font, falling
   * back to the system monospace stack if there is no configured
   * 'mono' font family.
   */
  
  /**
   * Make replaced elements `display: block` by default as that's
   * the behavior you want almost all of the time. Inspired by
   * CSS Remedy, with `svg` added as well.
   *
   * https://github.com/mozdevs/cssremedy/issues/14
   */
  
  img {
    display: block;
    
  }
  
  /**
   * Constrain images and videos to the parent width and preserve
   * their instrinsic aspect ratio.
   *
   * https://github.com/mozdevs/cssremedy/issues/14
   */
  
  img {
    max-width: 100%;
    height: auto;
  }
  
  /* Custom Base */
  
  .section-heading {
    font-family: Frutiger55o, sans-serif;
    font-weight: 700;
    font-size: 2.25rem;
    line-height: 1.25;
  }
  
  @media (min-width: 768px) {
    .section-heading {
      font-size: 3rem;
    }
  }
  
  .section-subheading {
    font-family: Frutiger55, sans-serif;
    font-weight: 700;
    font-size: 1.875rem;
    line-height: 1.25;
  }
  
  /* Custom Components */
  
  body {
    overflow-x: hidden;
    background-color: #fff;
  }
  
  .section-heading{
    font-family: Frutiger55, sans-serif;
    font-size: 56px;
    line-height: 60px;
    color: #fff;
  }
  
  .width-1100 {
    max-width: 1100px;
  }
  
  #o2-logo {
    max-width: 145px;
  }
  
  .section-subheading{
    font-family: Frutiger55, sans-serif;
    font-size: 24px;
    line-height: 28px;
    color: #fff;
  }
  
  .curved-outer-top {
    border-radius: 250% 250% / 500px 500px 0 0; 
    left: -12%; margin: 0 auto; 
    position: relative; 
    width: 124%;
    
  
  }
  
  .curved-inner-top {
    border-radius: 250% 250% / 500px 500px 0 0;
    padding: 60px 0 60px 0;
   overflow: hidden; 
   width: 100%; box-sizing: border-box; 
   text-align: center; 
   margin: 0 auto;
  }
  
  .curved-outer-container {
    border-radius: 0 0 250% 250% / 0 0 500px 500px; 
    left: -12%; margin: 0 auto; 
    position: relative; 
    width: 124%;
    box-shadow: 0 4px 18px rgb(0 0 0 / 20%);
  }
  
  
  
  
  .curved-inner-container {
    border-radius: 0 0 250% 250% / 0 0 500px 500px;
   width: 100%; box-sizing: border-box; 
   text-align: center; 
   margin: 0 auto;
   overflow: hidden;
  }
  
  .curved-whole-outer-container {
    border-radius: 250% 250% 250% 250%/500px 500px 500px 500px; 
    left: -12%; margin: 0 auto; 
    position: relative; 
    width: 124%;
  }
  
  .curved-whole-inner-container {
    border-radius: 250% 250% 250% 250%/500px 500px 500px 500px;
  padding: 40px 0 60px 0;
   overflow: hidden; 
   width: 100%; box-sizing: border-box; 
   text-align: center; 
   margin: 0 auto;
  }
  
  .header-inner-container {
    padding-top: 1.25em;
  }
  
  .overlap-thumb {
    position: relative;
     
     z-index: 999;
  }
  
  .overlap-buttons {
  margin-bottom: -90px;
  }
  
  
  
  .section-container {
    width: 100%;
    margin: 40px auto 0 auto;
    padding: 30px 60px;
  }
  
  .dark-blue-container {
    background-color: #0019A5;
    padding: 0 60px 30px 60px;
  }
  
  .dark-blue-header {
    background-color: #0019A5;
    padding: 30px 60px -2px 60px;
  }
  
  
  
  .sub-heading-blue {
    font-family: Frutiger55, sans-serif;
    font-size: 36px;
    color: #41B6E6;
    font-weight: 700;
    text-align: center;
  }
  
  .paragraph-text-blue {
    font-family: Frutiger55, sans-serif;
    color: #000066;
    font-size: 18px;
    line-height: 24px;
    text-align: center;
  }
  
  .curved-border-top {
    width:100%;
    height:60px;
    margin-top: -60px;
    background-color: #41B6E6;
    border-top-left-radius:50%;
    border-top-right-radius:50%;
  }
  
  .light-blue-section-container {
    
  
    padding: 60px;
    background-color: #41B6E6;
  }
  
  .light-blue-background {
    background-color: #41B6E6;
    padding: 30px 60px 0 60px;
    width: 90%;
    margin: 30px auto -50px auto;
    z-index: 999;
    overflow: hidden;
    position: relative;
  }
  
  .circle-columns {
   
    padding: 10px;
  }
  
  .inner-circle-columns {
    background-color: #ffffff;
    border-radius: 50%;
    padding: 60px 45px 60px 45px;
    width: 330px;
    height: 330px;
    text-align: center;
  }
  
  .inner-circle-columns-2 {
    background-color: #ffffff;
    border-radius: 50%;
    padding: 60px 50px 70px 50px;
    width: 330px;
    height: 330px;
    text-align: center;
  }
  
  .center-item {
    margin: 0 auto;
  }
  
  .dark-blue-subheader {
    color: #0019A5;
    font-size: 28px;
    font-family: Frutiger55, sans-serif;
  }
  
  .dark-blue-subheader-2 {
    color: #0019A5;
    font-size: 24px;
    line-height: 27px;
    font-family: Frutiger55, sans-serif;
  }
  
  
  
  .dark-blue-paragraph {
    color: #0019A5;
    font-size: 15px;
    line-height: 21px;
    font-family: Frutiger55, sans-serif;
  }
  
  .curved-border-bottom {
    width:100%;
    height:60px;
    margin-bottom: -90px;
    background-color: #41B6E6;
    border-bottom-left-radius:50%;
    border-bottom-right-radius:50%;
  }
  .elq-form{
    color: #000066;
    font-family: 'Frutiger55';
    font-weight: bold;
    font-size: 16px;
  }
  
  input[type=text] {
    border-radius: 8px;
    border: 1px solid #DEDEDE;
    padding: 10px;
  }
  
  #fe8471 {
    background-color: #41B6E6; padding: 15px; border-radius: 8px; color: #fff;
  }
  
  .public-sector-button {
    background-color: #0019A5;
    text-decoration: none;
    padding: 15px 40px;
    font-size: 28px;
    color: #FFF;
    width: 380px;
    border-radius: 0 12px 12px 0;
    -webkit-box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
  box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
  }
  
  .business-button {
    background-color: #F4F4F4;
    text-decoration: none;
    padding:15px 40px;
   
    -webkit-box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
  box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
    font-size: 28px;
    color: #000066;
    width: 380px;
    border-radius: 12px 0 0 12px;
  }
  
  .light-blue-button {
    background-color: #fff;
    padding: 10px;
    color: #41B6E6;
    font-size: 20px;
    border-radius: 8px;
    text-align: center;
  }
  
  
  
  .dark-blue-button {
    background-color: #0019A5;
    padding: 10px;
    font-size: 20px;
    border-radius: 8px;
    text-align: center;
  }
  
  .header-column-1 {
    flex: 50%;
  padding: 20px 20px 60px 0;
  }
  
  .logo {
    padding-left: 8px;
    width: 100px;
  }
  
  .column-1-shaded-right {
    flex: 50%;
    padding: 20px 50px 40px 50px;
    -webkit-box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
    box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
    background-color: #fff !important;
    
    border-radius: 12px;
  }
  
  .column-1-shaded-left {
    flex: 50%;
    padding: 20px 50px 40px 50px;
    -webkit-box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
  box-shadow: 1px 3px 6px 2px rgb(0 0 0 / 16%);
    
    border-radius: 12px;
  }
  
  .downArrowWhite {
    background-color: #41B6E6;
    width: 70px;
      height: 70px;
      position: absolute;
      left: 0;
      right: 0;
      margin: auto;
      bottom: -30px;
      cursor: pointer;
      border-radius: 100%;
      z-index: -2;
      text-align: center;
  }
  
  .overlap-image {
    margin-left: -30px;
  }
  
  .overlap-image-right {
    margin-right: -30px;
  }
  
  .overlay-container {
    text-align: center;
    position: fixed;
   margin: 0  auto;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 999;
    display: none;
   background-color: rgba(0, 0, 0, 0.5);
   padding-top: 70px;
  }
  
  .form-container {
    background-color: #F5F6F7;
    max-width: 100%;
    margin: 0;
  
  }
  
  .inner-form-container {
    padding: 30px 60px;
    margin: 0 auto;
  }
  
  .modal-video {
    height: 80vh;        
      width: 80vw; 
    }
  
  .close-button {
    position: absolute;
    right: 40px;
    top: 40px;
    color: #000;
    z-index: 1000;
    text-align: center;
    margin: 0 auto;
    font-weight: bold;
    font-family: Frutiger55, sans-serif;
  }
  
  .close-button-inner{
    text-decoration: none;
    color: #000;
  }
  .bounceInfinite {
    display: inline-block;
    text-align: center;
    margin-top: 45px;
    width: 50%;
    animation: bounce 4s infinite;
    -webkit-animation: bounce 4s infinite;
    -moz-animation: bounce 4s infinite;
    -o-animation: bounce 4s infinite; }
  
  @-webkit-keyframes bounce {
    0%,
    100%,
    20%,
    50%,
    80% {
      -webkit-transform: translateY(0); }
    40% {
      -webkit-transform: translateY(-30px); }
    60% {
      -webkit-transform: translateY(-15px); } }
  
  @-moz-keyframes bounce {
    0%,
    100%,
    20%,
    50%,
    80% {
      -moz-transform: translateY(0); }
    40% {
      -moz-transform: translateY(-30px); }
    60% {
      -moz-transform: translateY(-15px); } }
  
  @-o-keyframes bounce {
    0%,
    100%,
    20%,
    50%,
    80% {
      -o-transform: translateY(0); }
    40% {
      -o-transform: translateY(-30px); }
    60% {
      -o-transform: translateY(-15px); } }
  
  @keyframes bounce {
    0%,
    100%,
    20%,
    50%,
    80% {
      transform: translateY(0); }
    40% {
      transform: translateY(-30px); }
    60% {
      transform: translateY(-15px); } }
  
  
  .header-image {
    align-self: end; 
    margin-bottom: -30px;
  }
  
  .column-2-img {
    flex: 50%;
    padding-top: 30px;
    margin-bottom: -15px;
  }
  
  .column-2 {
    flex: 50%;
    
  }
  
  .column-sub-heading {
    font-size: 36px;
    color: #000066;
    font-family: Frutiger55, sans-serif;
  }
  
  .column-paragraph{
    color: #000066;
    font-size: 18px;
    line-height: 24px;
    font-family: Frutiger55, sans-serif;
  }
  
  /* Marketo Form */
  
  /* */
  
  @media only screen and (max-width: 980px) {
    .button-container {
      width: 100%;
    }
      .public-sector-button {
        width: 200px;
        padding: 20px;
        font-size:12px;
      }
      
      .business-button {
       width: 200px;
        padding: 20px;
       font-size: 12px;
      }
  
      .modal-video {
        height: 100vh;        
          width: 100vw; 
        }
  }
  
  @media only screen and (max-width: 600px) {
    .light-blue-background {
      background-color: #41B6E6;
      padding: 30px 30px 0 30px;
      width: 100%;
      margin: 0 ;
      position: relative;
    }
  
  
    .overlap-image {
      margin-left: auto;
    }
    
    .overlap-image-right {
      margin-right: auto;
    }
  
    #header-container {
      flex-direction: column !important;
     }
     
     .section-heading{
         font-size: 30px !important;
         padding-left: 80px !important;
         padding-right: 30px !important;
         
     }
     .section-subheading {
         font-size: 24px !important;
         padding-left: 80px !important;
         padding-right: 30px !important;
     }
   
     .logo {
       padding-left: 80px !important;  
     }
  }
  
  .inline-block {
    display: inline-block;
  }
  
  .inline {
    display: inline;
  }
  
  .flex {
    display: flex;
  }
  
  .flex-row {
    flex-direction: row;
  }
  
  .flex-col {
    flex-direction: column;
  }
  
  .flex-wrap {
    flex-wrap: wrap;
  }
  
  .justify-center {
    justify-content: center;
  }
  
  .justify-evenly {
    justify-content: space-evenly;
  }
  
  .font-bold {
    font-weight: 700;
  }
  
  .text-lg {
    font-size: 1.125rem;
  }
  
  .text-4xl {
    font-size: 2.25rem;
  }
  
  .mt-4 {
    margin-top: 1rem;
  }
  
  .p-4 {
    padding: 1rem;
  }
  
  .p-5 {
    padding: 1.25rem;
  }
  
  .pt-5 {
    padding-top: 1.25rem;
  }
  
  .pt-10 {
    padding-top: 2.5rem;
  }
  
  .text-left {
    text-align: left;
  }
  
  .text-center {
    text-align: center;
  }
  
  .text-white {
    --text-opacity: 1;
    color: #fff;
    color: rgba(255, 255, 255, var(--text-opacity));
  }
  
  .w-3\/5 {
    width: 60%;
  }
  
  .w-3\/6 {
    width: 50%;
  }
  
  /* Custom Utilites */
  
  /*.half-full-w-none {
          @apply relative;
          @apply top-auto;
          @apply right-auto;
          @apply bottom-auto;
          width: auto;
      }*/
  
  @media (min-width: 640px) {
  
    .sm\:flex-row-reverse {
      flex-direction: row-reverse;
    }
  
    /*.half-full-w-none {
          @apply relative;
          @apply top-auto;
          @apply right-auto;
          @apply bottom-auto;
          width: auto;
      }*/
  }
  
  @media (min-width: 768px) {
  
    /*.half-full-w-none {
          @apply relative;
          @apply top-auto;
          @apply right-auto;
          @apply bottom-auto;
          width: auto;
      }*/
  }
  
  @media (min-width: 1024px) {
  
    /*.half-full-w-none {
          @apply relative;
          @apply top-auto;
          @apply right-auto;
          @apply bottom-auto;
          width: auto;
      }*/
  }
  
  @media (min-width: 1280px) {
  
    /*.half-full-w-none {
          @apply relative;
          @apply top-auto;
          @apply right-auto;
          @apply bottom-auto;
          width: auto;
      }*/
  }