/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

:root {
    --ltBlue: #cce6f4;
    --blue: #017ABD;
    --orange: #faa93f;
    --dkOrange:#f99e26;
    --black: #222;
}

/*@font-face {
    font-family:  'Helvetica Neue', sans-serif;
    font-weight:  400;
    src:  url('fonts/HelveticaNeueLTStd-Roman.otf');
}

@font-face {
    font-family:  'Helvetica Neue Bold', sans-serif;
    font-weight:  900;
    src:  url('fonts/HelveticaNeueLTStd-BlkCn.otf');
}


@font-face {
font-family: 'D-DIN Regular';
font-style: normal;
font-weight: normal;
src: local('D-DIN Regular'), url('fonts/D-DIN.woff') format('woff');
}


@font-face {
font-family: 'D-DIN DIN-Italic';
font-style: normal;
font-weight: normal;
src: local('D-DIN DIN-Italic'), url('fonts/D-DIN-Italic.woff') format('woff');
}


@font-face {
font-family: 'D-DIN DIN-Bold';
font-style: normal;
font-weight: normal;
src: local('D-DIN DIN-Bold'), url('fonts/D-DIN-Bold.woff') format('woff');
}


@font-face {
font-family: 'D-DIN Condensed Regular';
font-style: normal;
font-weight: normal;
src: local('D-DIN Condensed Regular'), url('fonts/D-DINCondensed.woff') format('woff');
}


@font-face {
font-family: 'D-DIN Exp Regular';
font-style: normal;
font-weight: normal;
src: local('D-DIN Exp Regular'), url('fonts/D-DINExp.woff') format('woff');
}


@font-face {
font-family: 'D-DIN Exp DINExp-Italic';
font-style: normal;
font-weight: normal;
src: local('D-DIN Exp DINExp-Italic'), url('fonts/D-DINExp-Italic.woff') format('woff');
}


@font-face {
font-family: 'D-DIN Condensed DINCondensed-Bold';
font-style: normal;
font-weight: normal;
src: local('D-DIN Condensed DINCondensed-Bold'), url('fonts/D-DINCondensed-Bold.woff') format('woff');
}


@font-face {
font-family: 'D-DIN Exp DINExp-Bold';
font-style: normal;
font-weight: normal;
src: local('D-DIN Exp DINExp-Bold'), url('fonts/D-DINExp-Bold.woff') format('woff');
}


*/
html {
    scroll-behavior: smooth;
}

.orange {
    color: var(--orange) !important;
}

.black {
    color: #000;
}

.white {
    color: #fff;
}

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


.small {
    max-width:600px;
    margin:0 auto;
}

.medium {
    max-width:820px;
    margin:0 auto;
    width: 100%;
}

.large {
    max-width:1200px;
    margin:0 auto;
    width: 100%;
}

.x-large {
    max-width:1470px;
    margin:0 auto;
    width: 100%;
}

.responsive {
    max-width:100%;
    display:block;
    margin: 0 auto;
}

.flex {
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.flex > * {
    flex:0 1 auto;
}

.half {
    width: 48%;
}

.main-section {
    padding: 80px 0;
}

.main-section-no-bottom {
    padding: 80px 0 0;
}

.main-button {
    display: inline-block;
    padding: 10px 15px;
    color: #fff;
    background:  var(--red);
    font-weight: 700;
    text-transform: uppercase;
    text-align: center;
    transition: all .5s;
    margin-bottom: 20px;
}

.icon::before {
    /* removed font- based rules */
    display: inline-block;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
  }

.flip-box {
  perspective: 1000px;
  min-height:340px;
 

}

.flip-box-inner {
  position: relative;
  transition: transform 0.8s;
  transform-style: preserve-3d;
  background:#f5f5f5;
  border-radius:0 25px 25px 25px;
  min-height:340px;
  display: flex;
  align-items: center;

}

.flip-box:hover .flip-box-inner {
  transform: rotateY(180deg);
}

.flip-box-front, .flip-box-back {
  position: absolute;
  width: 100%;
  height: 300px;
  backface-visibility: hidden;
  padding:30px;
  display:flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.flip-box-front {
    transform:rotateY(0deg);
}

.flip-box-back {
  transform: rotateY(180deg);
  padding-top:50px;
} 


.flip-box img {
    display: block;
    margin:0 auto 20px;
}

.flip-box h3 {
    text-align:center;
}


.site-branding-container {
    flex-direction: column;
}



.main-navigation li {
    position: initial;
}

/*.main-navigation ul .sub-menu {
    width: auto;
    display: flex;
}

.main-navigation ul .sub-menu li {
    position: initial;
}

.main-navigation ul .sub-menu li {
    position: initial;
    width: auto;
}*/

.entry-header {
    position: absolute;
    left: -9999px;
}

.blog .grid-container, .single-post .grid-container {
    max-width:1300px;
}

.blog .entry-header, .single-post .entry-header {
    position: relative;
    left:initial;
}

.blog article, .single-post article {
    margin-top:40px;
}

.single-post article {
    margin-bottom:40px !important;
}

.main-button {
    color: var(--black);
    background: var(--orange);
    font-weight: 700;
    letter-spacing: 1px;
    padding: 15px 20px;
    text-transform: uppercase;
    border-radius: 35px;
}

[data-aos] {
    visibility: hidden;
}

[data-aos].aos-animate{
    visibility: visible;
}

[data-aos="left-small"] {
    transform: translate3d(-10%,0,0);
    opacity: 0;
    transition-property: transform, opacity;
}

[data-aos="left-small"].aos-animate {
    transform: translate3d(0,0,0);
    opacity: 1;
}

[data-aos="color-change"] {
  color: #000;
  transition-property: color, text-shadow;
}

  [data-aos="color-change"].aos-animate {
    color: var(--blue);
    text-shadow:
    -1px -1px 0 var(--blue),
    1px -1px 0 var(--blue),
    -1px 1px 0 var(--blue),
    1px 1px 0 var(--blue);
  }

.subtitle {
    color: var(--blue);
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    font-size: 18px;
    margin-bottom: 5px;
}

.bold-text {
    font-weight: 900;
    font-family: 'Helvetica Neue Bold', sans-serif;
    display: inline-block;
       
}

.full-width {
    margin-left: calc( -100vw / 2 + 100% / 2);
    margin-right: calc( -100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto;
}

.gform_required_legend {
    display: none;
}

/*.main-navigation:not(.toggled) ul li:hover > ul {
    left: 176px;
}*/

/*====home====*/

#home-header-div {
    max-width: 1020px;
    overflow: hidden;
    margin: 0 auto;
}

.home-header-h2 {
    font-size: 50px;
    font-weight: 200;
    margin-bottom: 5px;
}




#home-header-logo {
    max-width: 600px;
    float: right;
}

.mask-image-inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 60px;

}

.mask-image-left {
    margin-top: 50px;
    margin-left: 50px;
}

#home-intro-p {
    margin-top: 20px;
}

#home-intro-button {
    margin: 40px 0;
}

#home-services-section {
    margin-top: 60px;
    
    margin-left: calc( -100vw / 2 + 100% / 2);
    margin-right: calc( -100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto;
    padding-left: 60px;
    padding-right: 60px;

}

#home-services-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 40px;
}

.home-services-div {
    background: #f5f5f5;
    padding: 50px;
    border-radius: 0 35px 35px 35px;
}



.home-services-icon {
    margin-bottom: 20px;
}

.home-services-h3 {
 
    letter-spacing: 1px;
}



.blue-left-inner {
    
}

.orange-bold {
    font-weight: 900;
    color: var(--orange);
   
        letter-spacing: 1px;
}

.corner-section {
    background: var(--ltBlue);
    padding-top: 100px;
}

.corner-inner {
    background: #fff;
    margin-left: 60px;
    margin-bottom: 60px;
    border-radius: 35px 0 0 35px;
    padding: 100px 0 50px 100px;
    box-sizing: border-box;
    display: grid;
    grid-gap: 100px;
    grid-template-columns: repeat(2, 1fr);
    overflow: hidden;
}

.small-headline-text {
    font-size: 20px;
    color: #000;
    text-shadow: none;
}

.corner-left-info {
    margin-bottom: 100px;
}

.corner-section {
    margin-left: calc( -100vw / 2 + 100% / 2);
    margin-right: calc( -100vw / 2 + 100% / 2);
    max-width: 100vw;
    width: auto;
    overflow: hidden;
}

.corener-right-div {
    overflow: hidden;
}

.corner-right-info {
    background: var(--blue);
    border-radius: 0 0 0 39px;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    padding: 5px 0 5px 5px;
    transition:  all .5s;
    margin-bottom: 48px;
}


.corner-right-info:hover {
    background: #fff;
}

.corner-right-image-div {
   margin-right: 20px;
}

.home-corner-icon {
    max-width: 66px;
}

.corner-right-h3 {
    color: #fff;
    margin-bottom: 0;
    font-size: 24px;
}

.corner-right-hover-wrap {
    position: absolute;
    width: 100%;
    background: rgb(0,129,198);
    background: linear-gradient(58deg, var(--c1, #f6d365), var(--c2, #faa93f) 51%, var(--c1, #f6d365)) var(--x, 0)/ 200%;;
    padding: 5px;
    box-sizing: border-box;
    top: 0;
    left: 0;
    border-radius: 0 0 0 40px;
    transition: opacity .5s, background 1.5s;
    opacity: 0;
}

.corner-right-hover-wrap:hover {
    opacity: 1;
    --x: 100%;
}

.corner-right-hover-inner {
  
    display: flex;
    justify-content: flex-end;
    align-items: center;
    background: #fff;
    border-radius: 0 0 0 35px;
    
}

.corner-right-hover-text p {
    margin-bottom: 0;
    padding: 10px;
    box-sizing: border-box;
}

.corner-right-image-hover-div {
    margin-left: 10px;
}

#turn-key-h2, #marketing-plans-h2, #powerful-h2 {
    line-height: .7;
}

#home-powerful-section {
    background-image: url('images/home/home-bg.jpg');
    background-repeat: no-repeat;
    background-size: cover;
    background-attachment: fixed;
    margin-bottom: 0;

}

.home-reviews-slider .kb-slider-size-ratio.kb-slider-ratio-12-5 .kb-advanced-slide {
    
}

.home-reviews-slider .home-reviews-slider, .kt-blocks-carousel .slick-list, .home-reviews-slider .kb-advanced-slide {
    overflow: visible !important;
}

.home-reviews-slider .kb-advanced-slide-inner-wrap {
    overflow: visible !important;
}

.home-reviews-slider .kb-advanced-slide-inner {
    overflow: visible;
}

.reviews-image img {
    border-radius: 50px 50px 50px 0;
    max-width: 140px !important;
    z-index:2;
    position: relative;
    position: absolute;
    left:50%;
    top:0%;
    transform: translate(-50%, 7%);
}

.call-out-section {
    background: #004572;
    color: #fff;
    padding: 100px 0;

}

#home-numbers-wrap {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 60px;
    position: relative;
    margin-top: 30px;
    margin-bottom: 30px;
}

.service-info-div {
    background: var(--ltBlue);
    padding: 90px 30px 10px;
    box-sizing: border-box;
    color: #000;
    position: relative;
    border-radius: 0 42px 42px 42px;
}

.service-icon-div {
    background: #fff;
    border-radius: 0 42px 42px 42px;
    width: 72px;
    height: 72px;
    margin-bottom: 40px;
    position: absolute;
    z-index: 2;
    top: 5px;
    left: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--blue);
    font-weight: 900;
    font-size: 30px;
    border: solid 5px var(--orange);
}

.powerful-p {
    font-weight: 700;
    font-size: 20px;
}


#home-loyal-section {
    display: grid;
    grid-template-columns: repeat(2, 2fr);
    grid-gap: 60px;

}

#loyal-h3 {
    margin-top: 30px;
}

#home-loyal-left {
    margin-bottom: 60px;
}

#home-loyal-right {
    padding-right: 100px;
    margin-top: 60px;
}

#home-reviews-section {

    margin-top: 60px;
    position: relative;
    padding: 60px 0;
    background: #f5f5f5;
}

#home-reviews-section-2 {

    margin-top: 0;
    position: relative;
    padding: 60px 0;
    background: #f5f5f5;
}

#kind-words-h2 {
    position: relative;
    z-index: 99;
    line-height: .8;
}

#kind-words-h2 span {
    color: var(--orange);
}



.home-reviews-slider {
   
    margin: 0 auto;
}

.home-reviews-slide {
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center bottom;
    height: 100%;
}



.slick-list, .slick-slider .slick-track {
    height: 100%;
}

.home-reviews-text-wrap {
    
    width: 92%;
    max-width: 1500px;
    margin: 100px auto 60px;
}


.home-reviews-text-slider {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 60px;
}

.home-reviews-div {
    background: rgba(255,255,255,.8);
    margin: 10px;
    padding: 50px 50px 20px 50px;
    padding-top: 100px;
    position: relative;

}

.home-reviews-div:before {
    content:  '\f10d';
    font:  var(--fa-font-solid);
    position: absolute;
    top: 0;
    left: 20px;
    font-size: 100px;
    color: rgba(250,170,63,.2);
    z-index: 0;
}

.home-reviews-image {
    position: absolute;
    border-radius: 50%;
    top: -70px;
    left: 33%;
    z-index: 1;
  
    max-width: 140px;
}

.home-reviews-logo {
    max-width: 220px;
}

.home-reviews-div h3, .home-reviews-div p {
    position: relative;
}

.home-reviews-h4 {
    font-size: 15px;
    color: var(--blue);
    font-weight: 700;
}

#home-reviews-button {
    display: block;
    max-width: 150px;
    margin: 0 auto;
}

/*====pages====*/

.page-heading img {
    margin-bottom:-5px;
}

.orange-subheading {
    color:var(--dkOrange);
    text-transform: uppercase;
    font-size:20px;
    margin-bottom:0;
}

.website-amg-span {
    font-size:40px;
}

.website-difference-span {
    font-size:110px;
    display:inline;
    line-height:105px;
}

#website-holding-laptop figure {
    margin-bottom:-7px;
}

body.page-id-61 {
    background:#F5F5F5;
}

.ss-inner {
    display: grid;
    grid-template-columns: repeat(2 ,1fr);
    grid-gap:60px;
    margin-bottom:60px;
}

/*===custom footer=========*/

.me-button {
    display: block;
    margin:30px auto !important;
    max-width:330px;
}

#amg-footer-section {
    background: var(--blue);
    padding:50px 30px;
   
}

#amg-footer-inner {
    max-width:1300px;
    margin:0 auto;
    display: flex;
    justify-content: space-between;
}

#amg-footer-logo-div {
    width:30%;
}

#amg-footer-form-div {
    width:66%;

}

#amg-footer-form-div p {
    color:#fff;
    font-weight:600;
    font-size:24px;
}

#gform_fields_1 {
    display: flex;
    flex-wrap:wrap;
}

#gform_fields_1 .gfield {
    width:49%;
}

#gform_wrapper_1 .gform_footer input, input[type="submit"] {
    border-radius:35px;
    text-transform: uppercase;
    font-size:15px;
    letter-spacing: 1px;
    padding:15px 35px;
}



.inside-footer-widgets {
    max-width:1300px;
    margin:0 auto;
    margin-left:auto !important;
}

.site-footer .footer-widgets-container .inner-padding {
    padding-left:20px;
}

#block-13.widget li {
    margin-bottom:.5em !important;
}

#block-14, #block-15 {
    margin-bottom: 0;
}

/*==ebooks===*/

.single-ebook #page {
    max-width:100%;
}

.single-ebook .site-content .content-area {
    width:100%;
}

  /*=====responsive=================================================================*/

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

    #home-intro-inner {
        grid-template-columns: 6fr 4fr;
    }

    .home-services-h3 {
        font-size: 26px;
    }

  }

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

     .x-large {
        max-width: 95%;
    }
}

@media only screen and (max-width: 1500px) {
    .home-services-div {
        padding: 50px 20px;
    }

    #home-services-section {
        padding-left: 30px;
        padding-right: 30px;
    }

    #home-services-inner {
        grid-gap: 30px;
    }

    .home-reviews-image {
  
        left: 32%;
    }
}

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

    .main-navigation a {
        font-size:20px;
    }

    .inside-header {
        padding-left: 20px;
        padding-right: 5px;
    }

    .site-header .header-image {
        width: 100px;
    }

    .flip-box-inner {
        min-height:450px;
    }

}

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

    /*.website-amg-span {
        font-size:28px;
    }

    .website-difference-span {
    font-size:80px;
    
    }*/

    .corner-right-info {
        
        margin-bottom: 72px;
    }
}

@media only screen and (max-width: 1365px) {
    .home-header-h2 {
        font-size: 45px;
    }

    .home-reviews-text-slider {
    
        grid-template-columns: repeat(1, 1fr);
    }

    .home-reviews-image {
        left: 43%;
    }
}

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

    

    .site-description {
        font-size: 13px;
    }

      .site-description {
        font-size: 12px;
    }

    .main-navigation a {
        font-size: 17px;
    }

    .main-navigation .main-nav ul li a {
        padding-right: 12px;
    }

  

  
}


@media only screen and (max-width: 1280px) {
    .large {
        max-width: 95%;
    }
}

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

   

  

}

@media only screen and (max-width: 1066px) {
    #turn-key-h2, #marketing-plans-h2,  #powerful-h2 {
    line-height: 1;
    }
}

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

    #website-holding-laptop {
        border-bottom:solid 1px var(--blue);
    
    }
}

@media only screen and (max-width: 1000px) {
    .flex {
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .flex > div {
        width: 100%;
    }

    .mask-image-inner, #home-intro-inner {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 40px;
    }

    .mask-image-inner {
        max-width: 92%;
        margin: 0 auto;

    }

    .mask-image-left {
        margin-left: 0;
    }

    #home-services-inner {
   
    grid-template-columns: repeat(2, 1fr);
    
    }

    .corner-inner {
        grid-template-columns: repeat(1, 1fr);
        grid-gap: 60px;
        padding: 60px 0 60px 60px;
    }

    .corner-left-div {
        padding-right: 60px;
    }

    .corner-left-info {
        margin-bottom: 0;
    }

    #turn-key-h2, #marketing-plans-h2, #powerful-h2 {
    line-height: .7;
    }

    #home-numbers-wrap {
     
        grid-template-columns: repeat(1, 1fr);
    }

    #home-loyal-section {
        
        grid-template-columns: repeat(1, 2fr);
        
    }

    #home-loyal-right {
        padding-left: 60px;
    }

    #home-loyal-left {
    margin-bottom: 0;
    }


    .inside-footer-widgets {
        flex-direction: column;
        align-items: center;
    }

    .inside-footer-widgets > div {
        margin-bottom: 30px;
        min-width: 359px;
    }

    .site-footer .footer-widgets-container .inside-footer-widgets {
        margin-left: 0;
    }

    .site-footer .footer-widgets-container .inner-padding {
        padding-left: 0;
    }

    
    .footer-widget-1, .footer-widget-2 {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .wp-container-1.wp-container-1 {
        justify-content: center !important;
    }
    

    .ss-inner {
       
        grid-template-columns: repeat(1 ,1fr);
  
    }
}

@media only screen and (max-width: 850px) {
    .medium {
        max-width: 95%;
    }

    .home-reviews-image {
        left: 39%;
    }
}

@media only screen and (max-width:  767px) {
    #home-services-inner {
   
    grid-template-columns: repeat(1, 1fr);
    
    }

    .orange-subheading {
        line-height:20px;
    }

    .website-amg-span {
        font-size:28px;
        line-height:20px;
    }

    .website-difference-span {
    font-size:80px;
    line-height:90px;
    
    }

    #amg-footer-inner {
       
        flex-direction: column;
        max-width:370px;
    }

    #amg-footer-logo-div, #amg-footer-form-div {
        width:100%;
    }

    #gform_fields_1 {
        flex-direction: column;
    }

    #gform_fields_1 .gfield {
        width:100%;
    }

    .wp-container-1.wp-container-1 {
        justify-content: center !important;
    }

    #block-11, #block-14 {
        display: flex;
        justify-content: center;
    }


     .flip-box-inner {
        min-height:340px;
    }
}

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

    #home-marketing-section {
        padding-top: 30px;
    }

    .corner-inner {
        margin-left: 30px;
        margin-right: 30px;
        padding-bottom: 30px;
    }

    #turn-key-h2, #marketing-plans-h2, #powerful-h2 {
    line-height: 1;
    }

    #home-loyal-right {
        padding-left: 30px;
        padding-right: 30px;
    }

    .home-reviews-image {
        left: 36%;
    }
}

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

    .orange-subheading {
        font-size:18px;
        line-height:18px;
    }

    .website-amg-span {
        font-size:20px;
        line-height:20px;
    }

    .website-difference-span {
    font-size:55px;
    line-height:60px;
    
    }

}

@media only screen and (max-width: 435px) {
    .corner-inner {
        padding: 20px 0 20px 20px;
    }

    .corner-left-div {
        padding-right: 20px;
    }


    #home-loyal-right {
        padding-left: 20px;
        padding-right: 20px;
    }

    .home-reviews-image {
        left: 32%;
    }

    .home-reviews-div {
        padding: 100px 20px 20px 20px;
    }
}
