@use '../utils' as *;

/*-----------------------------------------------------------------------------------

    Template Name: Immigration and Visa Consulting HTML5 Template
    Author: RRDevs
    Support: https://support.rrdevs.net
    Description: Immigration and Visa Consulting HTML5 Template
    Version: 1.0
	Developer: Soukhin khan (https://github.com/Soukhinkhan)

-----------------------------------------------------------------------------------

/************ TABLE OF CONTENTS ***************

	-----------------
    01. THEME CSS
	-----------------
		1.1 colors
		1.2 mixins
		1.3 extends
		1.4 breakpoints
		1.5 typography
		1.6 root
		1.7 common
		1.8 spacing
		1.9 index
		
	-----------------
    02. COMPONENTS CSS
	-----------------
		2.1 color
		2.2 background
		2.3 buttons
		2.4 offcanvas
		2.5 niceselect
		2.6 sectiontitle
		2.7 breadcrumb
		2.8 lightmode
		2.9 carousel
		2.10 backtotop
		2.11 animation
		2.12 preloader
		2.13 rangeSlider
		2 index

	-----------------
    03. HEADER CSS
	-----------------
		3.1 header-1
		3.2 header-2
		3.3 header-3
		3.4 header-common
		3 index

    ---------------------------------
	04. MENU CSS
	---------------------------------
		4.1 Meanmenu
		4.2 Menu
		4 index

	---------------------------------
	05. BLOG CSS
	---------------------------------
		5.1 blog
		5.2 postbox
		5.3 sidebar
		5.4 blog-details
		5 index

	---------------------------------
	06. FOOTER CSS
	---------------------------------
		6.1 footer
		6.2 footer-2
		6.3 footer-3
		6.4 footer-copyright
		6. index
		
	---------------------------------
	07. CTA CSS
	---------------------------------
		7.1 cta
		7. index
		
	---------------------------------
	08. BRAND CSS
	---------------------------------
		8.1 brand
		8. index

	---------------------------------
	07. PAGES CSS
	---------------------------------
		8.1 404
		8.2 faq
		8.3 feedback
		8.4 portfolio
		8.5 pricing
		8.6 service
		8.7 about
		8.8 contact-us
		8.9 service-details
		8.10 project-details
		8.11 team-details
		8.12 home1
		8.13 home2
		8.14 home3
		8.15 index
 */

/*----------------------------------------*/
/*  1.1 Theme Default
/*----------------------------------------*/

// Google Fonts

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200..800;1,200..800&display=swap');

*{
	margin: 0;
	padding: 0;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

html {
	font-size: 10px;
}

/*---------------------------------
    Typography css start 
---------------------------------*/
body {
	font-family: var(--rr-ff-body);
	font-size: var(--rr-fs-body);
	font-weight: normal;
	color: var(--rr-text-body);
	line-height: var(--rr-lh-body);
	background: var(--rr-body-primary);
	-webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


h1, .h1
h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
	font-family: var(--rr-ff-heading);
	color: var(--rr-heading-primary);
	margin-top: 0;
	margin-bottom: 0;
	font-weight: var(--rr-fw-bold);
	word-break: break-word;
}

h1, .h1 {
	font-size: var(--rr-fs-h1);
	line-height: var(--rr-lh-h1);
 
	@media #{$xl} {
		font-size: 60px;
		line-height:72px;
	}
	@media #{$lg} {
		font-size: 52px;
		line-height:64px;
	}
	@media #{$md} {
		font-size: 50px;
		line-height:52px;
	}
	@media #{$sm} {
		font-size: 38px;
		line-height:50px;
	}
	@media #{$xs} {
		font-size: 32px;
		line-height:44px;
	}
}
  
h2, .h2 {
font-size: var(--rr-fs-h2);
line-height: var(--rr-lh-h2);
@media #{$lg} {
	font-size: 38px;
	line-height:50px;
  }
  @media #{$md} {
    font-size: 40px;
	  line-height:52px;
  }
  @media #{$sm} {
    font-size: 40px;
	  line-height: 52px;
  }
  @media #{$xs} {
    font-size: 30px;
	  line-height: 42px;
  }
  @media #{$xxs} {
    font-size: 27px;
	  line-height: 37px;
  }
}

h3, .h3 {
font-size: var(--rr-fs-h3);;
line-height: var(--rr-lh-h3);
	@media #{$xs} {
		font-size: 30px;
		line-height: 42px;
	}
	@media #{$xxs} {
		font-size: 27px;
		line-height: 37px;
	}
}

h4, .h4 {
font-size: var(--rr-fs-h4);
line-height: var(--rr-lh-h4);
}

h5, .h5 {
font-size: var(--rr-fs-h5);
line-height: var(--rr-lh-h5);
}

h6, .h6 {
font-size: var(--rr-fs-h6);
line-height: var(--rr-lh-h6);
}

ul {
	margin: 0px;
	padding: 0px;
}
p {
	font-size: var(--rr-fs-p);
	font-weight: var(--rr-fw-normal);
	color: var(--rr-text-body);
	line-height: var(--rr-lh-p);
}


.body-2 {
	font-size: var(--rr-fs-body2);
	line-height: var(--rr-lh-body2);
	font-weight: var(--rr-fw-light);
}

a {
	text-decoration: none;
}

a,
.btn,
button,
span,
sub,
sup,
p,
input,
select,
textarea,
li,
img,
svg,
.transition-3,
h1,
h2,
h3,
h4,
h5,
h6 {
	@extend %rs-transition-3;
}

a:focus,
.button:focus {
	text-decoration: none;
	outline: none;
}

a:focus,
a:hover{
	text-decoration: none;
	color: inherit;
}

a,
button {
	color: inherit;
	outline: none;
	border: none;
	background: transparent;
}

img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

button:hover{
	cursor: pointer;
}

button:focus{
    outline: 0; 
}

.uppercase {
	text-transform: uppercase;
}
.capitalize {
	text-transform: capitalize;
}
hr:not([size]) {
	margin: 0;
	border-color: var(--rr-border-primary);
	opacity: 1;
	border-width: 1px;
}
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="number"],
input[type="password"],
textarea{
	outline: none;
	background-color: rgba(255, 255, 255, 0.10);
	width: 100%;
	font-size: 16px;
	color: var(--rr-heading-primary);
	border: 2px solid rgb(255 255 255 / 30%);
	border-bottom: 1px solid rgba(0, 29, 8, 0.1);
	// margin-bottom: 40px;
	margin-left: 30px;
}
textarea{
	outline: none;
	background-color: rgba(255, 255, 255, 0.10);
	width: 100%;
	height: 60px !important;
	font-size: 16px;
	color: var(--rr-heading-primary);
	border: 2px solid rgb(255 255 255 / 30%);
	border-bottom: 1px solid rgba(0, 29, 8, 0.1);
}

*::-moz-selection {
  	background: var(--rr-common-selection);
	color: var(--rr-common-white);
	text-shadow: none;
}
::-moz-selection {
  	background: var(--rr-common-selection);
	color: var(--rr-common-white);
	text-shadow: none;
}
::selection {
  	background: var(--rr-common-selection);
	color: var(--rr-common-white);
	text-shadow: none;
}

::selection {
	background: var(--rr-common-black);
  	color: var(--rr-common-white);
    text-shadow: none;
}

*::-moz-placeholder {
	opacity: 1;
	font-size: 16px;
	@include rs-placeholder{
		color: var(--rr-common-placeholder);
	}
}
*::placeholder {
	opacity: 1;
	font-size: 16px;
	@include rs-placeholder{
		color: var(--rr-common-placeholder);
	}
}

/*----------------------------------------
   Bootstrap customize
-----------------------------------------*/
.container {
	--bs-gutter-x: 30px;
	max-width: 1320px;

}
.custom-width {
	--bs-gutter-x: 30px;
	max-width: 1825px;
	width: 100%;
	margin: 0 auto;
}
.row {
	--bs-gutter-x: 30px;
}
.row-none {
	--bs-gutter-x: none !important;
}

.g-40,
.gx-40 {
	--bs-gutter-x: 40px;
}

.g-40,
.gy-40 {
	--bs-gutter-y: 40px;
}

.g-50,
.gx-50 {
	--bs-gutter-x: 50px;
}

.g-50,
.gy-50 {
	--bs-gutter-y: 50px;
}

.g-60,
.gy-60 {
	--bs-gutter-y: 60px;
}

/*nice-select css*/
.nice-select{
    background-color: transparent !important;
    border: none !important;
    box-sizing: border-box;
    clear: both;
    cursor: pointer;
    display: block;
    float: left;
	font-family: var(--rr-ff-body) !important;
	font-style: normal;
	font-weight: 500 !important;
	font-size: 14px;
	line-height: 40px;
    font-weight: normal;
    height: 42px;
    outline: none;
    padding-left: 18px;
    padding-right: 15px !important;
    -webkit-transition: all 0.2s ease-in-out;
    transition: all 0.2s ease-in-out;
    width: 100% !important;
	color: var(--rr-common-white);
    
    &:hover{
        border-color: #dbdbdb;
    }
    
    &:active,
    &.open,
    &:focus{
        border-color: #999;
    }
    
    &::after{
        position: absolute;
        content: '\f107';
        top: 50% !important;
        right: 0;
        font-family: "Font Awesome 5 Pro";
        color: var(--rr-heading-white) !important;
        font-weight: 500 !important;
        pointer-events: none;
        -webkit-transition: all 0.15s ease-in-out;
        transition: all 0.15s ease-in-out;
        margin-top: 0;
        transform-origin: center;
        @include transform(translateY(-50%));
        
    }
    
    &.open{
        &::after{
            @include transform(translateY(-50%) rotate(-180deg));
        }
        
        & .list{
            opacity: 1;
            pointer-events: auto;
            -webkit-transform: scale(1) translateY(0);
            -ms-transform: scale(1) translateY(0);
            transform: scale(1) translateY(0);
			width: 100%;
        }
    }
    
    &.disabled{
        border-color: #ededed;
        color: #999;
        pointer-events: none;
        
        &::after{
            border-color: #cccccc;
        }
    }
    
    &.wide{
        width: 100%;
        
        & .list{
            left: 0 !important;
            right: 0 !important;
        }
    }
    
    &.right{
        float: right;
        
        & .list{
            left: auto;
            right: 0;
        }
    }
    
    &.small{
        font-size: 12px;
        height: 36px;
        line-height: 34px;
        
        &::after{
            height: 4px;
            width: 4px;
        }
        
        & .option{
            line-height: 34px;
            min-height: 34px;
        }
    }
    
    & .list{
        background-color: var(--rr-common-black) !important;
        border-radius: 5px;
        box-shadow: 0 0 0 1px rgba(68, 68, 68, 0.11);
        box-sizing: border-box;
        margin-top: 4px;
        opacity: 0;
        overflow: hidden;
        padding: 0;
        pointer-events: none;
        position: absolute;
        top: 100%;
        left: 0;
        -webkit-transform-origin: 50% 0;
        -ms-transform-origin: 50% 0;
        transform-origin: 50% 0;
        -webkit-transform: scale(0.75) translateY(-21px);
        -ms-transform: scale(0.75) translateY(-21px);
        transform: scale(0.75) translateY(-21px);
        -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
        transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out;
        z-index: 9;
    }
    
    & .option{
        cursor: pointer;
        font-weight: 400;
        line-height: 40px;
        list-style: none;
        min-height: 40px;
        outline: none;
        padding-left: 18px;
        padding-right: 29px;
        text-align: left;
        -webkit-transition: all 0.2s;
        transition: all 0.2s;

		&:hover{
			color: var(--rr-heading-primary) !important;
		}
        
        &.selected{
            font-weight: bold;

			&:hover{
				color: var(--rr-heading-primary) !important;
			}
        }
        
        &.disabled{
            background-color: transparent;
            color: #999;
            cursor: default;
        }
    }
}

.no-csspointerevents .nice-select .list {
    display: none;
}

.no-csspointerevents .nice-select.open .list {
    display: block;
}


// Scroll To Top /
#scroll-percentage {
	position: absolute;
  }
  
  #scroll-percentage {
	height: 60px;
	width: 60px;
	background-color: var(--rr-common-white);
	border-radius: 50%;
	position: fixed;
	bottom: 40px;
	right: 50px;
	transform: scale(0);
	display: grid;
	place-items: center;
	cursor: pointer;
	visibility: hidden;
	opacity: 0;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	z-index: 100;
  }
  @media only screen and (max-width: 992px) {
	#scroll-percentage {
	  right: 30px;
	}
  }
  @media only screen and (max-width: 767px) {
	#scroll-percentage {
	  bottom: 20px;
	  right: 20px;
	}
  }
  
  #scroll-percentage.active {
	bottom: 50px;
	transform: scale(1);
	opacity: 1;
	visibility: visible;
	-webkit-animation: 500ms ease-in-out 0s normal none 1 running scrollToTop;
	animation: 500ms ease-in-out 0s normal none 1 running scrollToTop;
	-webkit-transition: 0.3s;
	transition: 0.3s;
  }
  @media only screen and (max-width: 992px) {
	#scroll-percentage.active {
	  bottom: 30px;
	}
  }
  @media only screen and (max-width: 767px) {
	#scroll-percentage.active {
	  bottom: 20px;
	}
  }
  
  #scroll-percentage-value {
	height: calc(100% - 6px);
	width: calc(100% - 6px);
	background-color: var(--rr-common-white);
	color: var(--rr-theme-primary);
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 12px;
	font-weight: 600;
  }
  
  #scroll-percentage-value i {
	font-size: 20px;
  }
  
  @-webkit-keyframes scrollToTop {
	0% {
	  -webkit-transform: translate3d(0, 80%, 0);
	  transform: translate3d(0, 80%, 0);
	  visibility: visible;
	}
	to {
	  -webkit-transform: translateZ(0);
	  transform: translateZ(0);
	}
  }
  @keyframes scrollToTop {
	0% {
	  -webkit-transform: translate3d(0, 80%, 0);
	  transform: translate3d(0, 80%, 0);
	  visibility: visible;
	}
	to {
	  -webkit-transform: translateZ(0);
	  transform: translateZ(0);
	}
  }
  @-webkit-keyframes wobble-vertical {
	16.65% {
	  transform: translateY(8px);
	}
	33.3% {
	  transform: translateY(-6px);
	}
	49.95% {
	  transform: translateY(4px);
	}
	66.6% {
	  transform: translateY(-2px);
	}
	83.25% {
	  transform: translateY(1px);
	}
	100% {
	  transform: translateY(0);
	}
  }
  @keyframes wobble-vertical {
	16.65% {
	  transform: translateY(8px);
	}
	33.3% {
	  transform: translateY(-6px);
	}
	49.95% {
	  transform: translateY(4px);
	}
	66.6% {
	  transform: translateY(-2px);
	}
	83.25% {
	  transform: translateY(1px);
	}
	100% {
	  transform: translateY(0);
	}
  }

  /*  Custom Cursor */
@media (min-width: 992px) {
	.mt-cursor {
	  display: block;
	  width: 10px;
	  height: 10px;
	  border-radius: 50%;
	  position: fixed;
	  left: 10px;
	  top: 10px;
	  user-select: none;
	  pointer-events: none;
	  visibility: hidden;
	  z-index: 10000;
	  -webkit-transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	  transition: all 0.3s cubic-bezier(0.165, 0.84, 0.44, 1);
	}
	.mt-cursor:before {
	  background: var(--rr-theme-primary);
	  opacity: 1;
	  content: "";
	  width: 100%;
	  height: 100%;
	  border-radius: 50%;
	  position: absolute;
	  left: 0;
	  top: 0;
	  transition: all 0.3s ease;
	}
	.mt-cursor.cursor-grow:before {
	  opacity: 0.7;
	  transform: scale(1.5);
	  transition: all 0.3s ease;
	}
	.mt-cursor.hide {
	  opacity: 0;
	  transition: opacity 0.3s ease;
	  transition-delay: 0.4s;
	}
	.mt-cursor.hide .inner {
	  transform: scale(0.1);
	  transition: transform 0.3s ease;
	}
  }