﻿/* STYLE SHEET | HOMEPAEG
----------------------------------------------------*/
.mainbanner {
    clear: both;
    position: relative;
    margin-top: 120px;
    height: 60vh;
    min-height: 760px;
    max-height: 780px;
    background: linear-gradient(-135deg, rgba(14,116,174,1) 0%, #014669 55%);
    background-attachment: fixed;
    background-position: top right;
    background-repeat: no-repeat;
    background-size: cover;
    overflow: hidden;
    z-index: 0;
}

.clickdown {
    position: absolute;
    text-align: center;
    width: 100%;
    bottom: 44px;
    color: #ffffff;
    text-decoration: none;
    font-size: 60px;
}

.clickdown a {
    text-decoration: none;
    }

.clickdown a:before {
    font-family: 'df-icomoon';
    content: "\e630";
    color: #ffffff;
    font-size: 55px;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    text-decoration: none;
    -webkit-font-smoothing: antialiased;
    padding: 0 5px 0 5px;
    -webkit-transition: all .4s ease;
    -moz-transition: all .4s ease;
    -o-transition: all .4s ease;
    transition: all .4s ease;
    text-shadow: 2px 0 0 #000000;
    }

.mainbanner .herooverlay {position: absolute;
  top: 0;
  right: 60%; /* Moves overlay further left */
  width: 160%; /* Expands overlay beyond the div */
  height: 100%;
  background:#014669; /* Adjust color & opacity */
  transform: skewX(45deg); /* Adjust skew angle */
  transform-origin: top right;
  z-index: 5

}

.mainbanner .lawyer {
    position: absolute;
    top: -30px;
    right: -110px;   
    width: 100%;
    height: 112%;
    background-image: url('/Themes/Default/Content/Images/gibson-law-firm-firmpage.jpg');
    background-position: top right;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 4;
}

/* RESPONSIVE FIXED HEADER POSITIONS + 1500px 
----------------------------------------------------*/
@media only screen and  (max-width: 1800px) {
    .mainbanner .herooverlay {position: absolute;
      top: 0;
      right: 65%; /* Moves overlay further left */
      width: 160%; /* Expands overlay beyond the div */
      height: 100%;
      background:#014669; /* Adjust color & opacity */
      transform: skewX(45deg); /* Adjust skew angle */
      transform-origin: top right;
      z-index: 5

    }
}

.mainbanner .introgrid {
    position: relative;
    width: 80%;
    color: #ffffff;
    height: 100%;
    z-index: 8;
}

.herotextcontainer {
    position: absolute;
    left: 6%;
    bottom: 112px;
}

.herotextcontainer:before {
    content: '\201C';
/*    content: '\0022';*/
    position: absolute;
    left: -49px;
    top: -210px;
    color: rgba(255,255,255,.1);
    font-size: 500px;
    z-index: -1; 
    /*transform: rotate(-3deg);*/ /* Rotate slightly left */
}

.labelwith2:after {
    content: '\201D';
/*    content: '\0022';*/
    position: absolute;
    right: 83px;
    bottom: -75px;
    color: rgba(255,255,255,.1);
    font-size: 500px;
    z-index: -1;
}


.mainbanner .introgrid .labelwith {
    position: relative;
    display: block;
    font-size: 88px;
    line-height: 88px;
    text-transform: uppercase;
    font-weight: 500;
    padding: 0 0 0 0;
    letter-spacing: .04em;
}
.mainbanner .introgrid .labelwith.labelwith2 {
    position: relative;
    padding: 0 0 18px 0;
}

.mainbanner .tagline {
    position: relative;
    text-transform: uppercase;
    font-size: 40px;
    line-height: 46px;
    font-weight: 300;
    padding:0 0 0 0;
    letter-spacing: .05em;
    margin: 0 auto;
    color: #ffffff;
    z-index: 9;
}

.mainbanner .tagline.tagline2 {}

.fivstar {
    position: relative;
    text-transform: uppercase;
    font-size: 20px;
    line-height: 20px;
    font-weight: 600;
    padding: 0 0 24px 0;
    letter-spacing: .06em;
    margin: 0 auto;
    color: #ffffff;
    z-index: 9;
}

.mainbanner .triggerhero {
    position: absolute;
    right: 208px;
    bottom: 139px;
    z-index: 10;
}

.mainbanner .triggerhero a {
    position: relative;
    display: inline-block;
    font-size: 24px;
    line-height: 24px;
    font-weight: 600;
    padding: 16px 30px 17px 30px;
    letter-spacing: .05em;
    color: #194B69;
    background-color: #ffffff;
    margin: 0 auto;
    margin-top: 40px;
    text-decoration: none;
    background-image: none;
    border: 1px solid #ffffff;
    box-shadow: 3px 3px 10px rgba(0,0,0,.7);
    outline: 1px solid rgba(255,255,255,0);
    outline-offset: -2px;
    z-index: 1;	
    text-transform: uppercase;
    -webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

.mainbanner .triggerhero a:hover {
    color: #ffffff;
    cursor: pointer;   
    outline: 1px solid rgba(31,80,110,1);	
    -webkit-transition: all .2s ease;
	-moz-transition: all .2s ease;
	-o-transition: all .2s ease;
	transition: all .2s ease;
}

.mainbanner .triggerhero a:before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: "";
	width: 100%;
	height: 0;
    opacity: 0;
    background: rgba(31,80,110,1);
    background: linear-gradient(160deg, rgba(14,116,174,1) 0%, rgba(31,80,110,1)65%);
	-webkit-transition: all .33s ease;
	-moz-transition: all .33s ease;
	-o-transition: all .33s ease;
	transition: all .33s ease;
    z-index: -1;
}

.mainbanner .triggerhero a:hover:before {
	height: 100%;
    opacity: 1;
	-webkit-transition: all .33s ease;
	-moz-transition: all .33s ease;
	-o-transition: all .33s ease;
	transition: all .33s ease;
}


/* SECTION | GIBSON LAW FIRM
----------------------------------------------------*/
.sectionlawfirm {
    background-color: var(--brand-greylit);
    clear: both;
    display: block;
    min-height: 600px;
    height: 600px;
}

.bglawfirm {
    position: relative;
    background-image:url('/Themes/Default/Content/Images/gibson-law-firm-lawfirm.jpg');
    background-size: cover;
    background-position: center;
    height: 100%;
}

/* SECTION | JG
----------------------------------------------------*/
.sectionjg {
    background-color: #ffffff;
    clear: both;
    display: block;
    min-height: 600px;
    height: 600px;
}

.bgattorneyjg {
    position: relative;
    background-image:url('/Themes/Default/Content/Images/gibson-law-attorney-jason-gibson.jpg');
    background-size: cover;
    background-position: center top;
    height: 100%;
}

/* SECTION | SETTLEMENTS
----------------------------------------------------*/
.scrollsettlement {
	clear: both;
	position: relative;
	display: block;
	width: 100%;
    will-change: transform;
    background-color: var(--brand-greylit);
}


.animatesettlementcontainer {
	position: relative;
    will-change: transform;
}

.sectionsettlementcontainer {
    padding: 40px 0 0 0;
    margin: 0 auto;
    width: 80%;
    position: relative;
    height: 325px;
}

.animatesettlementnumbersset2, .animatesettlementnumbersset3, .animatesettlementnumbersset4 {
    position: absolute;
    top: 60px;
    opacity: 0;
    visibility: hidden;
    width: 100%;
}

.animatesettlementnumbers {
    position: absolute;
    top: 60px;
    opacity: 1;
    visibility: visible;
    width: 100%;
}

.sectionsettlement {
    position: relative;
    min-height: unset !important;
    height: unset !important;    
    z-index: 1;
	overflow: hidden;
    text-align: center;
}
.settlementtitle {}

.settlementtitle h2 {
    position: relative;
    display: inline-block;
    text-align: center;
    color: var(--brand-blue);
    clear: both;
    font-size: 30px;
    line-height: 30px;
    font-weight: 900;
    letter-spacing: .02em;
    text-decoration: none;
    text-transform: uppercase;
}

.settlementtitle h2:after {
    content: "";
    position: absolute;
    bottom: -12px;
    left: 0px;
    width: 100%;
    height: 1px;
    background-color: rgba(var(--brand-blue-hue), .25); 
    transform: translateX(1px);
    will-change: transform;
}

.numbergrid {
    display: flex;
    flex-direction: row;
    justify-content: center;
    column-gap: 20px;
    margin: 0 auto; /* centers the whole container */
    will-change: transform;
    overflow: hidden;
}

.numbervalues, .milliontext  {
    font-size: 170px;
    line-height: 220px;
    font-weight: 900;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
    overflow: hidden;
}

.numbervalues {
    height: 220px;
    width: 350px;
    will-change: transform;
    text-align: center;
    top: 10px;
}

.numbervalues.twodigits {
    width: 268px !important;
}

.milliontext {
    width: 600px;
    text-align: left;
    height: 220px;
}

.settlementnumbers {
    width: 100%;
    font-size: 170px;
    line-height: 220px;
    font-weight: 900;
    letter-spacing: .04em;
    overflow-y: hidden;
    height: 300px
}

.settlementnumbers h3 {
    clear: both;
    padding: 5px 0;
    font-size: 170px;
    line-height: 220px;
    font-weight: 900;
    letter-spacing: .04em;
    text-decoration: none;
    text-transform: uppercase;
}

.settlementpracticearea {
    display: block;
    clear: both;
    padding: 0 0 10px;
}

.settlementpracticearea h4 {
    position: relative;
    display: inline-block;
    text-align: center;
    color: var(--brand-blue);
    clear: both;
    font-size: 36px;
    line-height: 36px;
    font-weight: 300;
    letter-spacing: .06em;
    text-decoration: none;
    text-transform: uppercase;
}

.sectionsettlementlinks {
    position: absolute;
    width: 100%;
    clear: both;
    margin: 0 auto;
    text-align: center;
    top: 245px;
}

.sectionsettlementlinks a {
    position: relative;
    display: inline-block;
    color: var(--brand-blue); 
    text-decoration: none;
    text-transform: uppercase;
    font-weight: 600;
    font-size: 18px !important;
    line-height: 18px !important;
    padding: 0 14px;
    letter-spacing: .03em;
}

.sectionsettlementlinks a:after {
    content: "";
    position: absolute;
    top: -8px;
    left: 0px;
    width: 100%;
    height: 1px;
    background-color: rgba(var(--brand-blue-hue), .35);
    transform: translateX(1px);
    will-change: transform;
}

/* SECTION | EXPERIENCED
----------------------------------------------------*/
.sectioncorp {
    background-color: #ffffff;
	clear: both;
	position: relative;
	display: block;
	width: 100%;
    will-change: transform;
}
.experiencedtitle {

}

.homelogogrid {
    display: block;
    width: 100%;
    margin: 40px auto 60px auto;
}

.logo-carousel {
    overflow: hidden;
    position: relative;
    width: 800px; /* 6 logos at 120px each */
    margin: 0 auto;
    height: 190px;
}

.carousel-inner {
    display: flex;
    width: calc(120px * 22); /* Total width of all logos */
}

.logoitem {
    flex: 0 0 120px; /* Each logo is 120px wide */
    background-color: #ffffff;
    border: 1px solid rgba(var(--brand-grey-hue), 0.2);
    text-align: center;
    box-sizing: border-box;
    margin: 0 20px;
}

.logoitem img {
    width: 90%
}

.carousel-control {
    position: absolute;
    top: 80%;
    transform: translateY(-50%);
    cursor: pointer;
    /* Style your buttons */
    width: 32px;
    height: 32px;
    background-color: var(--brand-greylit);
    border: 1px solid rgba(var(--brand-grey-hue), 0.1);
    margin: 0 3px;
    overflow: hidden;
    color: rgba(var(--brand-blue-hue), 1); 
    box-shadow: 3px 3px 6px rgba(0,0,0,.1);
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
}

.carousel-control:hover {
    background-color: #ffffff;
    box-shadow: 2px 2px 4px rgba(0,0,0,.1);
    border: 1px solid rgba(var(--brand-grey-hue), 0.2);
    -webkit-transition: all .2s ease;
    -moz-transition: all .2s ease;
    -o-transition: all .2s ease;
    transition: all .2s ease;
}

.carousel-control.prev {
    left: 44.8%;
}

.carousel-control.next {
    right: 44.8%;
}


/* SECTION | Testimonials
----------------------------------------------------*/
.sectiontestimonial {
    background-color: #ffffff;
    clear: both;
    display: block;
    min-height: 600px;
    height: 600px;
}

.sectioncontenttestimonial {
    font-family: 'Roboto', sans-serif;
    display: block;
    clear: both;
    padding: 20px 0 10px;
    margin: 0 auto;
}
.sectiontestimonial h2 {    
    font-size: 46px !important;
    line-height: 50px !important;
    letter-spacing: .05em;
}

.sectioncontenttestimonial h4 {
    color: var(--brand-blue);
    font-family: 'Roboto', sans-serif;
    font-size: 20px;
    line-height: 36px;
    font-weight: 400;
}

.bgkentestimonial {
    height: 100%;
    position: relative;
    background-image:url('/Themes/Default/Content/Images/gibson-law-testimonial-ken.jpg');
    background-size: cover;
    background-position: center top;
}

.bgmarcellotestimonial {
    height: 100%;
    position: relative;
    background-image:url('/Themes/Default/Content/Images/gibson-law-testimonial-marcello.jpg');
    background-size: cover;
    background-position: center top;
}


/* SECTION | NEW CAROUSEL
----------------------------------------------------*/

.casesgallery {
    width: 100%;
    clear: both;
    display: block;
    background-color: var(--brand-greylit);
    height: 500px;
}

.carousel {
    position: relative;
    min-height: 500px;
    height: 500px;
}

.carousel-item {
    display: none;
    position: relative;
}

.pagginggrid  {
    position: absolute;
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
    z-index: 2;
    top: 47px;
}

.pagginggriditem.paggingbuttons {
    margin: 0 auto !important;
    position: relative;
    width: 82%;
    margin-left: 4.4%;
    text-align: left;
    box-sizing: border-box;
    z-index: 2;
}

.pagginggriditem .gallerytitle {
    display: inline-block;
    font-size: 50px;
    line-height: 54px;
    color: #000000;
    font-weight: 900;
    padding: 8px 0;
    border-bottom: 1px solid #DEDDDE;
    text-transform: uppercase;
    letter-spacing: .06em;
    margin-top: 18px;
    z-index: 5;
    text-decoration: none;
}

.pagginggriditem .gallerytitle a {
    color: #000000;
    text-decoration: none;
}

.carousel-item.active  {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: 1fr 1fr;
    justify-content: center;
    align-items: center;
    animation: fadeIn 0.8s;
}

@keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
}

.image-content {
    width: 100%;
    height: 500px;
    position: relative;
    background-size: cover;
    background-position: center top;
    background-repeat: no-repeat;
}

.image-content.galleryimage  {
    width: 100%;
    height: 500px;
    position: relative;
    background-size: cover;
    background-position: center bottom;
    background-repeat: no-repeat;
}

.carousel-pagination {
}

.carousel-pagination button {
    border: 1px solid #AEACAD;
    background-color: transparent;
    display: -moz-inline-stack;
    display: inline-block;  
    overflow: hidden;
    width: 42px;
    height: 12px;
    margin: 1px;
    text-indent: -200%;
    }

.carousel-pagination button:hover {
    cursor: pointer;
    }

.carousel-pagination button.active {
    background-color: #ffffff;
    border: 1px solid #194B69;
 }

.gallerycontent {
    margin: 0 auto !important;
    padding-top: 25px;
    position: relative;
    width: 82%;
    margin-left: 4.4%;
    text-align: left;
    box-sizing: border-box;
    z-index: 2;
    height: 220px;
}

.gallerycontent .bannertitle {
    font-size: 44px;
    line-height: 46px;
    color: #194B69;
    font-weight: 300;
    letter-spacing: .02em;
    z-index: 6;
    text-decoration: none;
    padding-top: 20px;
    }

.gallerycontent .bannertitle a {
    color: #194B69;
    text-decoration: none;
    }
    
.gallerycontent .bannerdescrip {
    color: var(--body-text);
    font-family: 'Roboto', sans-serif;
    font-size: 16px;
    line-height: 30px;
    font-weight: 400;
    padding-top: 18px;
    }

.gallerycontent .bannerlink {
    margin-top: 50px;
}

.gallerycontent .bannerlink a {
    color: var(--brand-blue);
    text-decoration: none;
    font-size: 17px;
    letter-spacing: .04em;
    font-weight: 600;
    text-transform: uppercase;
    padding: 5px 0;
    border-top: 1px solid #DEDDDE
}

/* NEWS LIST
----------------------------------------------------*/
.newssection {
    clear: both;
    position: relative;
    display: block;
    background-color: #ffffff;
    padding: 55px 0 55px 0;
    align-items: center;
}

.newssection.newsarea {
    clear: both;
    text-align: center;
    margin: 0 auto;
}

.newssection .sectiontitle {
    width: 100%;
    text-align: center;
}

.newssection .newsgrid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    justify-content: space-evenly;
    grid-column-gap: 80px;
    grid-row-gap: 80px;
    padding: 34px 0;
    width: 90%;
    margin: 0 auto;
    box-sizing: border-box;
}

.newssection .newsarea .newsgrid .newsitem {
    padding: 20px 0;
    position: relative;
    max-width: 350px;
    min-height: 490px;
    height: 100%;
    text-align: left;
    box-sizing: border-box;
}

.newssection .newsarea .newsgrid .newsitem img {
    width: 100%;
}
 
.newssection .date {
    clear: both;
    color: #000000;
    font-weight: 500;
    font-size: 13px;
    border-bottom: 1px solid #DEDDDE;
    padding: 0 0 6px 0;
    letter-spacing: .05em;
}

.newsitem .thumbnail {
    padding: 10px 0;
    border-bottom: 1px solid #DEDDDE;
}

.newssection .newsitem .source {
    clear: both;
    display: block;
    color: #000000;
    min-height: 20px;
    _height: 20px;
    font-weight: 500;
    font-size: 16px;
    line-height: 20px;
    letter-spacing: .05em;
    padding: 6px 0 0 0;
    text-decoration: none;
    text-transform: uppercase;
}

.newsitem .title a {
    display: block;
    clear: both;
    color: #194B69;
    font-weight: 600;
    font-size: 24px;
    line-height: 29px;
    letter-spacing: .06em;
    padding: 10px 0 10px 0;
    text-decoration: none;
    text-align: left;
}

.newsitem .readmore {
    position: absolute;
    bottom: 16px;
}

.bloglistviewall {
    clear: both;
    width: 100%;
    text-align: center;
    position: relative;
    margin: 0 auto;
    margin-top: 20px;
    }
    
.bloglistviewall .link {
    padding: 6px 0 0 0;
    }
   
.bloglistviewall .link a {
    border-top: 1px solid #ccc;
    position: relative;
    font-weight: 500;
    color: #194B69;
    letter-spacing: .04em;
    font-size: 20px;
    text-decoration: none;
    text-transform: uppercase;
    }